基于51单片机的直流电机调速程序.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于51单片机的直流电机调速程序(单片机课程设计所做) 2008-10-25 12:44 kg?????? bit?? B.1??? ;用来判断开机等待 t??????? bit?? B.2??? ;用来判断正反转,t=1正转,t=0反转 w??????? bit?? B.3 ??? ;用来辅助正反转判断,选择了就为1,不选则为0 KK1????? BIT?? B.4??? ;用来辅助加速按键,使其不用延时可以按一次速度指甲一档 KK2????? BIT?? B.5??? ;同上 cctv???? bit?? b.7 ?? ;用来辅助中断显示程序计时 ?? org 0000h ????? lJMP MAIN ????? ORG 000BH ????? LJMP CTC0 ??? ORG?? 0034h Graphemic: DB?? 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,84H,0FFH;共阳0~9字型码??? ??? ??? ??? ;PN1??? EQU?? 30H????????????? ;PN1用来记脉冲的低二位数 ;PN2??? EQU?? 31H???? ;PN2用来记脉冲的高二位数 PN3??? EQU?? 32H????? ;PN3用来做延时程序 PN4??? EQU?? 33H ????? ;PN4用来做延时程序 ?? ORG 100H MAIN:?? ???????? MOV R6,#00H??? ;用R6来辅助显示计时 ?? MOV B, #00H ???????? CLR KG ???????? CLR W ???????? MOV TMOD,#01H??? ;T1和T0都是方式一计数 ???????? MOV TL0,#18H ???????? MOV TH0,#0E0H ?? ;MOV?? TL1, #0AFH ???? ; MOV?? TH1, #3CH ????? SETB EA ????? SETB ET0??? ;T0中断允许 ????? SETB TR0 ?? SETB P3.4 ?? ; SETB ET1???????? ;T1中断允许 ????? ;SETB TR1 ?? SETB PT0??? ;设置T1T2的中断优先,都设其为高级中断 ?? ; SETB PT1 ?? MOV R1,#5H?? ;默认开始的时候速度为5档 ?? SETB KK1 ?? SETB KK2 ?? MOV?? A,#00H??? ;把PN1,PN2都清零 ?? ;MOV?? PN1,A ???? ; MOV?? PN2,A ????? MOV?? DPTR,#Graphemic ?? ANL?? P1,#0FH ?? ;ANL?? P0,#00H mainline: ?? jb?? p2.2,ks??? ;关机等待 ??? clr?? w ?????? clr?? kg ??? setb p1.0 ??? setb p1.1 ??? clr?? p1.2 ??? clr?? p1.3 ks:??? jnb?? kg,wait?? ;是否开机?开了就往下执行,不开就跳到开机等待 ??? ????? ANL?? P1, ;显示最后一位为1,即是可以工作了的意思 ????? SETB P1.4 ????? MOV?? A,#1H ????? MOVC?? A,@A+DPTR ????? MOV?? P0,A ????? SETB P3.6 ????? NOP ????? NOP ????? CLR?? P3.6 ????? LCALL DELAY SPD2:?? ?? JB?? P2.1,KEY1 ?? CLR KK1 KEY1:??? JNB P2.1,KEY2 ;当p2.1高电平时就往下执行,但是只要执行一次后,kk就为1,往后就不再执行?????? ?? JB?? KK1, KEY2 ?? INC R1 ?? SETB KK1?? ;这段的任务是不用延时也能消除按键抖动的程序 KEY2:??? JB?? P2.4,KEY3 ?? CLR KK2 KEY3: JNB P2.4,pos??????? ????? JB?? KK2, pos?? ?? SETB KK2 ???????? DEC R1????? pos:?? jb??? p2.0,rev?? ;正转按钮 ?????? setb t ?????? setb w rev:?? jb??? p2.3,tt?? ;反转按钮 ?????? clr?? t ??? setb w tt:??? jnb?? w,pos??

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档