ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:70.56KB ,
资源ID:6017677      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6017677.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机直流电机控制.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机直流电机控制.docx

1、单片机直流电机控制单片机课程设计报告书课题名称 姓 名学 号 院、系、部专 业指导教师201直流电机控制20086503 贾辰斌一、设计目的1、了解D/A转换芯片0832的性能、基本转换原理以及编程方法。 2、了解数码管动态显示的原理。 3、掌握键盘扫描的工作原理。 4、使用8255扩展键盘的接口方法和编程方法。 5、了解直流电机控制原理。 6、学习单片机控制直流电机的编程方法。 7、了解单片机控制外部设备的常用电路。 二、设计要求1、利用D/A电路,输出-8V到+8V的电压,控制直流电机。2、电机速度可调,具有启动键、方向控制键及提示灯、加速键、减速键及停止键:S0键-升速,每按一次,电压值

2、增大一个定值,转速提高。S1键-减速,每按一次,电压值减小一个定值,转速降低。3、利用霍尔元件感应电机转速,读出感应脉冲,从而计算出电机转速,用数码管显示出来。三、硬件电路设计四、使用说明 在电压允许范围内,直流电机的转速随着电压的升高而加快,若加上的电压为负电压,则电机会反向旋转。本实验仪的D/A变换可输出-8V到+8V的电压,将电压经驱动后加在直流电机上,使其运转。通过单片机输出数据到D/A变换电路,控制电压的高低和正负,观察电机的旋转情况。在电机转盘上安装一个小磁芯,用霍尔元件感应电机转速,用单片机控制读回感应脉冲,从而测算出电机的转速。有兴趣的同学,可以做一个恒速的试验,即让电机转速保

3、持一定。若电机转速偏低,则提高输出电压,若电机转速偏高,则降低输出电压。 首先给电机一定的阻力,让转速保持一定,然后稍微给加大阻力,观察D/A输出的电压是否能做出反应,再减小阻力,也观察D/A电压,有何变化。注意所加的阻力不能过大,以免电机烧毁。五、流程图设计六、程序设计如下:HANG EQU 8001H LIE EQU 8002H DUAN EQU 8004H LEDBUF EQU 60H ; 显示缓冲 NUM EQU 70H ; 显示的数据 SPEED EQU 90H ORG 0000H AJMP MAIN ORG 0030H MAIN:MOV A,#128 MOV DPTR,#9000H

4、 MOVX DPTR,AK0: MOV R4,#04H K1: MOV A,#00H ;判断 MOV DPTR,#LIE MOVX DPTR,A MOV DPTR,#HANG MOVX A,DPTR CPL A ANL A,#0FH ;00001111 JNZ K2 AJMP K1 K2: MOV R5,#255 LP: DJNZ R5,LP ;DELAY MOV R7,A K3: MOV A,#00H ;再判断 MOV DPTR,#LIE MOVX DPTR,A MOV DPTR,#HANG MOVX A,DPTR CPL A ANL A,#0FH JNZ K5 AJMP K1 K5: MO

5、V B,R7 CJNE A,B,K1 ACALL KSCAN JBC 11H,K1 LCALL KPRO AJMP K1KSCAN: MOV R6,#20H ;0010 0000 MOV A,R6 CPL A MOV DPTR,#LIE MOVX DPTR,A ;1011 1110 MOV R3,#00H;存列值 KS1:MOV DPTR,#HANG MOVX A,DPTR JB ACC.3,KS2 MOV A,#00H;存行值 RET KS2:JB ACC.2,KS3 MOV A,#04H RET KS3:JB ACC.1,KS4 MOV A,#08H RET KS4:JB ACC.0,NE

6、XT MOV A,#0CH RET NEXT:INC R3;列值加1 MOV A,R6 RR A MOV R6,A CPL A MOV DPTR,#LIE MOVX DPTR,A DJNZ R4,KS1 MOV R4,#04H SETB 11H;没扫描到有效键值 RET KPRO:ADD A,R3 RL A MOV DPTR,#KTAB JMP A+DPTRKTAB: AJMP START AJMP CHANGE AJMP UP AJMP DOWN AJMP STOP AJMP KEY5 AJMP KEY6 AJMP KEY7 AJMP KEY8 AJMP KEY9 AJMP KEYA AJM

7、P KEYB AJMP KEYC AJMP KEYD AJMP KEYE AJMP KEYFSTART: MOV DPTR,#9000H MOV A,#0B0H MOV 90H,A MOVX DPTR,A LCALL DELAY LJMP DISPLAY RETCHANGE: MOV DPTR,#9000H MOVX A,DPTR MOV R7,A MOV A,#256 SUBB A,R7 MOV 90H,A MOVX DPTR,A LJMP DISPLAY RETUP: MOV DPTR,#9000H MOV A,90H ADD A,#20 MOV 90H,A MOVX DPTR,A LCA

8、LL DELAY LJMP DISPLAY RETDOWN: MOV DPTR,#9000H MOV A,90H SUBB A,#20 MOV 90H,A MOVX DPTR,A LCALL DELAY LJMP DISPLAY RETSTOP: MOV DPTR,#9000H MOV A,#128 MOVX DPTR,A MOV 90H,#0 LCALL DELAY LJMP DISPLAY RETKEY5: LJMP KSCANKEY6: LJMP KSCAN RETKEY7: LJMP KSCAN RETKEY8: LJMP KSCAN RETKEY9: LJMP KSCAN RETKE

9、YA: LJMP KSCAN RETKEYB: LJMP KSCAN RETKEYC: LJMP KSCAN RETKEYD: LJMP KSCAN RETKEYE: LJMP KSCAN RETKEYF: LJMP KSCAN RETDISPLAY: MOV 76H,A ; 将当前寄存器A中的内容给76H单元进行保存 MOV TMOD,#05H ; 方式控制字 T0设为计数器 MOV TH0,#00H ; 计数初值为0 MOV TL0,#00H SETB TR0 ; 开计数器 MOV 55H,#4 ; 延时约1SD01: MOV 56H,#250D02: MOV 57H,#248D03: D

10、JNZ 57H,D03 DJNZ 56H,D02 DJNZ 55H,D01 CLR TR0 ; 1S到关计数器 MOV R1,TH0 ; 送数 MOV R0,TL0 MOV 70H,R0 MOV 71H,R1START2: MOV R4,#100 ; 显示次数START02: MOV SP, #40H ; 堆栈指针 MOV A, 70H ; 计数得到的低8位数给A MOV R0, #LEDBUF ; 缓冲地址 ANL A, #0FH ; 屏蔽高位,传送低位 MOV DPTR, #LEDMAP ; 表地址 MOVC A, A+DPTR ; 数字转换成显示码 MOV R0,A ; 显示码填入显示缓

11、冲 INC R0 ; 缓冲地址加1 MOV A, 70H ; 计数得到的低8位数给A ANL A, #0F0H ; 屏蔽地位,传送高位 MOV DPTR, #LEDMAP ; 表地址 MOVC A, A+DPTR ; 数字转换成显示码 MOV R0,A ; 显示码填入显示缓冲 INC R0 ; 缓冲地址加1 MOV A, 71H ; 计数得到的高8位给A ANL A, #0FH ; 屏蔽高位,传送地位 MOV DPTR, #LEDMAP ; 表地址 MOVC A, A+DPTR ; 数字转换成显示码 MOV R0,A ; 显示码填入显示缓冲 INC R0 ; 缓冲地址加1 MOV A, 71H

12、 ; 计数得到的高8位给A ANL A, #0F0H ; 屏蔽低位,传送高位 MOV DPTR, #LEDMAP ; 表地址 MOVC A, A+DPTR ; 数字转换成显示码 MOV R0,A ; 显示码填入显示缓冲 LJMP DISPLAYLED ; 到显示程序LEDMAP: ; 八段管显示码表格 DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H DB 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71HDISPLAYLED: MOV R0, #LEDBUF ; 缓冲地址 MOV R1, #4 ; 共4个八段管 MOV R2, #0

13、0000001B ; 从右边开始显示 MOV DPTR, #LIE ; 位选 MOV A, #0 MOVX DPTR, A ; 关所有八段管LOOP: MOV A, R0 MOV DPTR, #DUAN ; 段选 MOVX DPTR,A MOV DPTR, #LIE MOV A, R2 MOVX DPTR, A ; 显示一位八段管 MOV 4AH,#10DL2: MOV 4BH, #200DL1: DJNZ 4BH, DL1 DJNZ 4AH, DL2 MOV A, R2 ; 显示下一位 RL A MOV R2, A INC R0 DJNZ R1, LOOP DJNZ R4,START02 M

14、OV A,76H LJMP K0 ;显示完成,跳回检验处DELAY: MOV R5,#5 ;延时子程序 1秒 MOV R6,#200LP1: MOV R7,#248 DJNZ R7,$ DJNZ R6,LP1LP2: DJNZ R5,LP2 RET END七、设计总结:通过本次课程设计,我学到了很多东西,同时也暴露出了很多问题。首先表现在面对一个相对较为综合内容进行编程,不知道该如何下手;另外,甚至在看别人的程序时也有许多地方搞不明白;还有,像键盘这一块根本不知道是怎么用的。 但是,课程设计完之后我发现了自己的很多弊病。最主要的是我对0832、8255以及键盘这些内容的理解还不是很透彻,这也就直接导致了我无法按要求编写出甚至调试出程序来。因此,我当前对单片机的任务就是先理解好各块的功能以及程序的编写方法,这样才能编写好一般的功能性程序,最终尝试一下较大的程序编写。 八、参考文献:1、单片机原理及应用实验指导书,屈波等编,2008年 2、单片机原理及应用,赵德安等编,机械工业出版社,2004 3、单片机原理及应用,雷晓平等编著,机械工业出版社,2007 4、高峰.单片微型计算机原理与接口技术.科学出版社,2007

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1