您现在的位置:首页 > >

微机原理与接口课程设计直流电机控制

发布时间:

西安航空技术高等专科学校

车辆与医电工程系

微机原理与接口课程设计报告
课题名称:直流电机控制

姓 名:陶**

班 级: 医电****班

学号:093070******

指导老师: 董*

日 期: 2011 年 9 月 1 日
摘要

本设计主要通过微机原理与接口技术实验箱对直流电机控制进行模 拟,使直流电机实验正转、反转、加速、减速等功能。在现代电子产品中, 直流电机广泛应用于 ATM 机、喷绘机、刻字机、写真机、喷涂设备、医疗 仪器及设备、计算机外设及海量存储设备、精密仪器、工业控制系统、办 公自动化、机器人等领域。所以直流电机的控制是一门很实用的技术。实 验主要是通过按键的不同和外部串口程序来设置直流电机的转速。软件部 分采用了汇编语言编写程序代码和 MFC 编写的串口控制软件,通过判断、 跳转、循环、中断、串行通信等基本技术实现。 此 系统 可 以 通 过键 盘 输 入相 关 数 据, 并 根 据 需要 , 实 时 对 步 进 电 机工 作方式进行设置, 具有实时性和交互性的特点。直流电机, 将直流电能转换 成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。 定 义输出或输入为直流电能的旋转电机,称为直流电机,它是能实现直流电能和机 械能互相转换的电机。 当它作电动机运行时是直流电动机, 将电能转换为机械能; 作发电机运行时是直流发电机,将机械能转换为电能。 本次课程设计是采用以 8255 芯片和微型直流电机为主要元器件,以 C 语言 为编程语言和 MF2KP 编译软件为基础共同组成的微机控制直流电机电路。 关键词:直流电动机,汇编,MF2KP

目录

绪论.................................................. ..................................................3 1 绪论..................................................3 课程设计的目的........................................3 ..................... 2 课程设计的目的........................................3 课程设计的内容........................................ ....................................... 3 课程设计的内容........................................4 实验原理和相关电路图.. ..................................4 4 实验原理和相关电路图..................................4 实验原理.......................................... ....................... 4.1 实验原理..........................................4

实验连线.......................................... ........................ 4.2 实验连线..........................................4 实验电路图................................ ....... ........ ....... ....... 4.3 实验电路图........................................5 程序源代码............................................6 ......................... 5 程序源代码............................................6 课设总结.............................................13 ......................... 6 课设总结.............................................13 参考文献.............. ............................................15 7 参考文献............................................15

1 绪论
汇编语言(AssemblyLanguage)是面向机器的程序设计语言。在汇编语合中, 用助记符(Memoni)代替操作码, 用地址符号(Symbol)或标号(Label)代替地址码。 这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编 语言亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,要由一种 程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序 是系统软件中语言处理系统软件。 汇编程序把汇编语言翻译成机器语言的过程称 为汇编。 定义输出或输入为直流电能的旋转电机,称为直流电机,它是能实现直流电 能和机械能互相转换的电机。当它作电动机运行时是直流电动机,将电能转换为 机械能;作发电机运行时是直流发电机,将机械能转换为电能。在直流电动机工 作时,电枢转动,换向器配合电刷对电流进行换向,直流电流交替地由导体两端 流入, 保证每个线圈边中的电流始终是一个方向, 从而形成一种方向不变的转矩, 使电动机能连续地旋转,这就是直流电动机的工作原理。 此次在课程设计之初,我们先是对电路的功能进行必要而完善的分析,再 进行对电路连接和程序代码的确定以选择出一种最适合本次课题的方案。 在达到 课题要求的前提下保证最经济、最方便、最优化的设计策略。然后根据电路的功 能和元器件的性能进行电路设计, 同时调整电路的连接和布局以达到资源最优配 置,最后运用 MF2PK 软件编译源代码,通过微机控制直流电机的运转。

2 课程设计的目的
微机原理和接口技术是一门实践性强的学科, 相关知识仅靠学习教科书不能 很好的掌握,必须通过实践才能比较直观和深刻的理解。 在综合课程设计过程中,给学生提出一个综合性的设计题目,仅提供设计任 务和要求,不给出具体的实验原理图与参考程序,学生根据设计要求确定实验方 案,选择合适的器件,进行电路设计,实现电路连接,编写调试程序,完成给定 的设计任务。 通过课程设计课程, 可检验学生在微机原理与接口综合应用方面分析问题与 解决问题的能力,从而帮助学生系统地掌握微机原理的接口技术的相关知识,达 到将知识融会贯通的目的。同时给学生提供更多、更好的训练机会,培养学生的 创新能力。 本次实验的设计目的归纳为:一,掌握微机控制直流电机运动的电路的设计 方法; 二, 通过直流电机实验, 学习直流电机的控制原理与方法; 三, 掌握 MF2KP 汇编软件的使用和利用多功能电路实验箱测试电路及连接的方法;四,程序设计 和电路连接的优化达到技术指标。

3 课程设计的内容 课程设计的内容
1. 了解直流电机的基本原理,掌握直流电机的转动编程方法; 2. 了解影响电机转速的因素有那些; 3. 利用实验箱小键盘、直流电机,设计一个具有直流电机控制基本功能的 实验装置,实现直流电机正、反向旋转,加速、减速控制; 4. 完成接口电路的设计; 5. 完成控制程序的编写

4 实验原理和相关电路图
4.1 实验原理:
可编程并行接口 8255 是一个具有两个 8 位(A 端口和 B 端口)和两个 4 位(C 端口)并行 I/O 端口的芯片。在与外设进行数据传输时,把 A、B、C3 个端口分为 两组。A 组由 A 端口和 C 端口的高 4 位组成。B 组由 B 端口和 C 端口的低 4 位组 成。为了满足多种数据传输的要求,可以通过对 8255 的编程用方式控制字设置 3 种工作方式来实现。 3 种工作方式为: 这 方式 0(基本 I/O 工作方式); 方式 1(选 通 I/O 工作方式);方式 2(双向传送方式)。8255 的控制字有工作方式控制字和 C 端口的位置位/复位控制字。工作方式控制字是必须要预先设定的,C 端口的位 置位/复位控制字可视需要而定。一般来说,在方式 0 中,C 端口除在特殊场合 用作联络信号外,如:双机通信,基本上都作为数据端口参与 I/O 操作。但在方 式 1 或方式 2 下,C 端口的相应位可用来作为 I/O 操作的控制和同步信号,也可 用作对 CPU 的中断请求信号。 实验装置直流电机模块共有三个控制输入端,PC0、PC1 端控制电机的启停、 正反转,DJ 端接收直流电机速度控制模拟信号。当 PC0、PC1 接收的命令等于 00 或 11 时, 电机停止运转; PC0、 当 PC1 接收的命令等于 10 时, 电机正转; PC0、 当

PC1 接收的命令等于 01 时,电机反转。当电机运转时,调节电位器旋扭,可使 直流电机按给定速度运转。

4.2 实验连线:
① 将 JP8 加上短路块,为直流电机提供电源。 ② PC0------->正极 ,PC1------->负极

4.3 实验电路图:

5 程序源代码 程序源

CODE SEGMENT ASSUME CS:CODE,DS:CODE START: MOV CH,00h MOV CL,00h MOV DX,203H MOV AL,90H OUT DX,AL LOOP1: MOV DX,202H MOV AH,00000110B MOV AL,00000110B OUT DX,AL MOV DX,200h IN AL,DX CMP AL,0FFH JNE LOOP2 MOV DX,202H MOV AH,00000101B MOV AL,00000101B OUT DX,AL MOV DX,200h IN AL,DX CMP AL,0FFH JNE LOOP2 MOV DX,202H MOV AH,00000011B MOV AL,00000011B OUT DX,AL MOV DX,200h IN AL,DX CMP AL,0FFH JNE LOOP2 JMP LOOP1 LOOP2: CALL Delay IN AL,DX CMP AL,0FFH ;消除抖动 消除抖动 ;第三行 第三行 ;有键按下 有键按下 ;列码全 1 无键按下扫描第二行 列码全 ;8255A 的 A 口 ;获取列码 获取列码 ;键盘第一行 键盘第一行 ;8255A 的 C 口 ;键值左移 4 位存 CH 用,先初始化 键值左移 先初始化 ;控制步进电机单步走用作标志 控制步进电机单步走用作标志 ;置 8255A 控制口地址 置 ;A 口输入 口输出 口输入,C

JE LOOP1 MOV BL,0FEH MOV BH,0 LOOP3: CMP AL,BL JE ONE CMP BH,7 JE LOOP1 INC BH ROL BL,1 JMP LOOP3 ONE: CMP AH,00000110B JE ONE2 CMP AH,00000101B JE TWO2 CMP AH,00000011B JE THREE2 CALL JUMP JMP wait1 ONE2: CALL First JMP wait1 TWO2: CALL Second JMP wait1 THREE2:CALL Third wait1: wait2: MOV DX,200h IN JNE ORG 200H NUM DB ? First PROC NEAR MOV MOV DX,203H ; 开控制口 AL,90h ;A 口输入 口输出 口输入,C ;存步进电机步数 存步进电机步数 AL,DX wait2 ;等待按键 等待按键 CMP AL,0FFh JMP LOOP1 ;调用第三行处理程序 调用第三行处理程序 ;调用第二行处理程序 调用第二行处理程序 ;调用第一行处理程序 调用第一行处理程序 ;第三行功能键 第三行功能键 ;第二行按键 第二行按键 ;第一行按键 第一行按键 ;列码循环左移一位 列码循环左移一位 ;所有列码都扫描完 所有列码都扫描完 ;重新检测按键 重新检测按键 ;确定有键按下则求列值 确定有键按下则求列值 确定 ;BH 存键值 ;扫描列值 扫描列值

OUT JZ ADD CH0: MOV OUT

DX,AL ;第一次执行按键 第一次执行按键 ; CH0

CMP CH,0

BH,CH ;显示八位 显示八位, 显示八位 AL,BH DX,AL ;键值送 AL 键值送 ;在二极管上显示 BH 即输入的键值 在二极管上显示 ;控制直流电机转速 控制直流电机转速 ;步进电机转的步数 步进电机转的步数

MOV DX,201H ;B 口

MOV DX,208H ;打开 D/A 打开 OUT DX,AL MOV NUM,AL MOV CL,4 SAL BH,CL; BH 值左移四位 值左移四位 MOV CH,BH ;BH 值送 CH MOV CL,0 RET First ENDP Second PROC NEAR ADD BH,8h ;扫描第二行 扫描第二行 MOV MOV OUT JZ CH1: DX,203H AL,90h DX,AL ; CH1 ;8255A 的 B 口输出 ;输出键盘的值 输出键盘的值 ;CL 清零 不影响步进电机单步走 清零,不影响步进电机单步走

CMP CH,0 ADD BH,CH

MOV DX,201H MOV OUT AL,BH DX,AL

MOV DX,208H OUT DX,AL MOV NUM,AL MOV CL,4 SAL BH,CL MOV CH,BH MOV CL,0 ;左移 4 位 左移 ;步进电机步数 步进电机步数

RET Second ENDP ;扫描第三行 扫描第三行 ;设置方式控制字 设置方式控制字 Third PROC NEAR ADD BH,10H MOV DX,203H MOV AL,90H OUT DX,AL MOV DX,201H MOV AL,00h OUT DX,AL CMP BH,13H JZ DONE2 ;正转 正转 CMP BH,12H JZ DONE3 ;11H 为”,” ;反转 反转 CMP BH,11H JZ DONE4 ;正向一步一步转 正向一步一步转 CMP BH,10H JZ DONE5 RET Third ENDP ;10H 为”.” ;反向一步一步转 反向一步一步转 ;12H 为”-” ;比较键值 13H 为”+” 比较键值 ; ;二极管显示为全 0;B 口 二极管显示为全

DONE2: CALL PROGRAM1 DONE3:CALL PROGRAM2 DONE4:CALL PROGRAM3 DONE5:CALL PROGRAM4 Delay PROC NEAR PUSH NEXT: CX MOV CX,1800H DEC CX JNE NEXT POP CX RET ; 键盘 延时子程序

Delay Delay2

ENDP PROC NEAR PUSH CX MOV CX,5000H ;电机 延时子程序 电机

NEXT2:

DEC CX JNE NEXT2 POP CX

RET Delay2 JUMP JUMP ENDP PROC NEAR RET ENDP PROC NEAR ;正向连续转 正向连续转 PUSH CX MOV DX,203H MOV AL,90H OUT DX,AL MOV DX,202H; C 口 MOV CL,NUM ZHENG: MOV AL,10H OUT DX,AL CALL Delay2 DEC CL JZ DONE1 MOV AL,20H OUT DX,AL CALL Delay2 DEC CL JZ DONE1 MOV AL,40H OUT DX,AL CALL Delay2 DEC CL JZ DONE1 MOV AL,80H ;输出第四拍 输出第四拍 ;输出第三拍模型 输出第三拍模型 ;给 C 相通电 给 ;计算已进步数 计算已进步数 ;步数已完成,返回 步数已完成, 步数已完成 ;输出第二拍模型 输出第二拍模型 ;给 B 相通电 给 ;延迟 延迟; 延迟 ;电机步数 电机步数 ;正向 正向 ;给 A 相通电 给 PROGRAM1

OUT DX,AL CALL Delay2 DEC CL JZ DONE1 MOV AL,10H OUT DX,AL CALL Delay2 DEC CL JNZ ZHENG JMP LOOP1 POP CX RET PROGRAM1 ENDP DONE1:JMP LOOP1 PROGRAM2 PROC NEAR CX

;给 D 相通电 给

;回到原点 回到原点

;ABCDA 循环通电

;反向连续转 反向连续转

PUSH

MOV DX,203H MOV AL,90H OUT DX,AL MOV DX,202H MOV CL,NUM FAN: MOV AL,10H OUT DX,AL CALL Delay2 DEC CL JZ DONE1 MOV AL,80H OUT DX,AL CALL Delay2 DEC CL JZ DONE1 MOV AL,40H ;给 C 通电 给 OUT DX,AL CALL Delay2 DEC CL ;给 D 通电 给 ;C 口 ;设置转的步数 设置转的步数 ;反向转动 反向转动 ;给 A 通电 给

JZ DONE1 MOV AL,20H OUT DX,AL CALL Delay2 DEC CL JZ DONE1 MOV AL,10H ;给 A 通电 给 OUT DX,AL CALL Delay2 DEC CL JNZ FAN JMP LOOP1 POP CX RET PROGRAM2 ENDP PROGRAM3 PROC NEAR MOV DX,203H MOV AL,90H OUT DX,AL MOV DX,202H JZ AA1; CMP CL,01H JZ BB1 CMP CL,02H JZ CC1 CMP CL,03H JZ DD1 JMP LOOP1 AA1: MOV AL,10H OUT DX,AL CALL Delay2 INC BB1: CL ;自动加一 自动加一,CL 为 01H 自动加一 JNZ DONE MOV AL,20H ;检测键盘 检测键盘 ;CL=3,D 通电 ;CL=2,C 通电 ;CL=1,B 通电 ;C 口 CMP CL,00H ;第一次按 给 A 通电转一步 第一次按,给 第一次按 ;正向单步走 正向单步走 ;ADCBA 通电 ;给 B 通电 给

OUT DX,AL CALL Delay2 INC CL JNZ DONE CC1: MOV AL,40H OUT DX,AL CALL Delay2 INC CL JNZ DONE DD1: MOV AL,80H OUT DX,AL CALL Delay2 MOV CL,00H ;JZ DONE JMP LOOP1 PROGRAM3 ENDP PROGRAM4 PROC NEAR MOV DX,203H MOV AL,90H OUT DX,AL MOV DX,202H ;MOV CL,0 CMP CL,00H JZ AA2 CMP CL,01H JZ DD2 CMP CL,02H JZ CC2 CMP CL,03H JZ BB2 JMP LOOP1 AA2: MOV AL,10H OUT DX,AL CALL Delay2 INC CL ;检测键盘 检测键盘 ;CL=3,B 通电 ;CL=2,C 通电 ;CL=1,D 通电 ;CL=0,A 通电 ;反向单步走 反向单步走

JNZ DONE DD2: MOV AL,80H OUT DX,AL CALL Delay2 INC CL JNZ DONE CC2: MOV AL,40H OUT DX,AL CALL Delay2 INC CL JNZ DONE BB2: MOV AL,20H OUT DX,AL CALL Delay2 MOV CL,00H ;JZ DONE JMP LOOP1 PROGRAM4 ENDP DONE: JMP LOOP1 CODE ENDS END START ;扫描键盘 扫描键盘 ;CL 重新置 0

5 课设总结
通过这次微机接口课程设计, 我们对接口技术知识进行了一次巩固和加深, 通过对直流电机原理的熟悉和程序运行编程,我们对直流电机在工业和生活中 的应用也有了一定的了解。 接口技术是一门理论性很强,同时实践性也很强的的一门学科。只有多付出 努力,多动手才能有收获,本次接口课程设计就给了我们一个很好的实践的机 会。完成课程设计需要先查资料 ,再进行方案的选择和设计,最后进行调试。 课设是使我们能够去真正的来动手独立完成整个过程。这一点正是我们在学习 好理论只是后所欠缺的。通过在实验箱上的调试,我们接触到实体学习,更进 一步了解了原理。在安装调试过程中,可以发现理论上可行电路设计或编程很 有可能调试不出结果,这就需要我们来对电路进行整体的分析,考虑到各个环 节的影响,才能发现问题。 在课设的整个过程中,同学之间要相互合作,许多资料要通过同学们之间 的资源共享可以达到事半功倍的效果。这就是我们以后必须要学会的团队合作 的精神。一个人的思想不可能面面俱到,相互合作就能弥补这种不足。相互学

习,以达到共同进步。 此次实验共分为二个主要的核心部分,即软件部分和硬件部分,由我们小组的 二个成员相互合作共同完成。通过这次课程设计,让我真正体会到什么是团队 协作,真正的了解到团队合作的有利之处,真正感受到团队成员为了共同的目 标联合在一起时的强大的力量。从一开始我们就通过集体商量确定各个成员的 分工,接下来每位成员都只用按照自己的任务按部就班的执行下去,效率非常 的高。分配各成员工作时,我们各尽其能,做到资源优化配置。具体工作时, 各成员都频繁交流,避免各自为政,当工作出现问题是,各成员应仔细商讨, 尽快找到问题的症结,从而尽快解决问题。 我在完成课程设计的过程中体会到团队合作的乐趣, 有什么问题和想法拿 出来一起探讨与分享,将会有更好的答案,活跃了一个人的思维,丰富了我们 的头脑,学会去接受别人,肯定别人,同样也得到了别人的尊重与肯定,除了 讨论之外,还需积极独立思考,唯独通过自己的独立思考,才能解决相关问题, 才能提高对专业知识的熟悉程度,以后才能学会用,同样这也是我该努力的两 个方向。一向惯于“独立思考”的我学会了积极的同团队成员交流,取长补短, 共同进步。“独学而无友则孤陋而寡闻”,只有和同学多交流多学习才能不断 的提高自身水平。最重要的一点,我学会了一种快速有效的学习方法。以往的 学习都是老师讲学生记,不懂得地方就靠解答大量习题帮助记忆,学习的主要 目的是通过最后的考试。课程设计使我发现考试真的并不是最重要,最重要的 是能运用所学的知识。我突破了传统学习模式,把被动接受转变为主动学习。 不再是用学到的知识解题,而是在实际运用时遇到什么学什么,重在把知识应 用于实际。 我们即将踏入社会,在进入之前我们需要学习的东西还很多,为人处世的 各个技能,如何协调彼此的关系值得我们去细细品味。在课程设计当中合作交 流是必不可少的,每个人都把这样一种事情当成是自己的重要任务,并为之付 出很大的努力,不断的去思考自己所遇到的问题,不断的去改善自己。在生活 当中,我们面对很多问题的时候所采取的具体行动也是不同的,但是我们面对 问题时候的态度是非常重要的,而不是一个人的能力到底有多强,态度决定一 切,端正的态度和明确的目标是我们解决问题的关键。 本次课程设计提高了我的接口水平,使我的动手能力增强了,同时为以后 做更复杂的硬件设计做好了基础。希望每次的课程设计都能收到一定的效果, 有自己的创新点。 6 参考文献 [1] 陈红卫,微型计算机基本原理与接口技术,科学出版社,北京市东黄城 根北街 16 号,2009 年 8 月。 [2]宋杰,汪志宏,江敏,微机原理与接口技术课程设计,机械工业出版社,北 京市西城区百万庄大街 22 号,2005 年 4 月。 [3]Peter Abel 著,沈美明,温冬婵 译,人民邮电出版社,北京市崇文区夕照 寺街 14 号,2004 年 2 月 [4]陈建泽,32 位微型计算机原理与接口技术,高等教育出版社,北京市崇文 区夕照寺街 14 号,2006 年 8 月。



热文推荐
猜你喜欢
友情链接: 简历 面试求职范文 职业规划 自我管理 社交礼仪 76242百科