MCS-51单片机汇编语言编程实例.ppt

MCS-51单片机汇编语言编程实例.ppt

ID:51587392

大小:93.50 KB

页数:15页

时间:2020-03-24

MCS-51单片机汇编语言编程实例.ppt_第1页
MCS-51单片机汇编语言编程实例.ppt_第2页
MCS-51单片机汇编语言编程实例.ppt_第3页
MCS-51单片机汇编语言编程实例.ppt_第4页
MCS-51单片机汇编语言编程实例.ppt_第5页
资源描述:

《MCS-51单片机汇编语言编程实例.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、例1方波产生任务:从P1.0引脚输出一个方波程序1:ORG0000HLOOP:CPL90HSJMPLOOP机器码0000B20001900002800003FC0004--程序2:加软延时ORG0000HLOOP:CPL90HMOVR1,#100MOVR0,#100LOOP1:DJNZR0,LOOP1DJNZR1,LOOP1SJMPLOOP例2跑马灯任务:D1,D2,D3循环亮灭,D1→D2→D3↑↓一个时间只有一个亮,每个1秒转换一次。程序1:ORG0000HLOOP0:ORLP1,#07H;全熄灭ANLP1,#0FBH;D1亮CALLDT;延时ORLP1,#07H;全熄灭ANLP1,#

2、0FDH;D2亮CALLDT;延时ORLP1,#07H;全熄灭ANLP1,#0FEH;D3亮CALLDT;延时SJMPLOOP0DT:MOVR2,#0FH;#15MOVR1,#32H;#50MOVR0,#0FFH;#255DT1:DJNZR0,DT1DJNZR1,DT1DJNZR2,DT1RETT=(2*(256*256*(R2-1)+256*(R1-1)+R0+256*(R2-1)+R1+R2)+3+1)*(12/fosc)(256*256+256+1)R2+(256+1)R1+R0-(256*256+2*256-2)=100000065793R2+257R1+R0=1066046R2=

3、15,R1=50,R0=255程序2ORG0000HLOOP:MOVA,#0FBHMOVP1,ARRACALLDTMOVP1,ARRACALLDTMOVP1,ACALLDTSJMPLOOP程序3ORG0000HLOOP:MOVA,#0FBHMOVR0,#3LOOP0:MOVP1,ARRACALLDTDJNZR0,LOOP0SJMPLOOP7行程序4ORG0000HLOOP0:MOVR7,#0LOOP1:ORLP1,#07H;全熄灭LOOP2:CJNER7,#0,LOOP3INCR7ANLP1,#0FBH;D1亮SJMPLOOP5LOOP3:CJNER7,#1,LOOP4INCR7ANLP1

4、,#0FDH;D2亮SJMPLOOP5LOOP4:CJNER7,#02,LOOP0MOVR7,#0ANLP1,#0FEH;D3亮LOOP5:CALLDT;延时SJMPLOOP1例3步进电机任务1:初始化步进电机START:;初始化MOVDPTR,#30H;表基址L5:MOVR7,#0H;百位L9:MOVR6,#0H;十位L10:MOVR5,#0H;个位MOVIE,#82H;全局中断,T0中断允许ORLIP,#2H;逻辑或,T0中断优先级高MOVTMOD,#11H;定时器方式字,T1和T0都工作在方式1,16位的计数器GATE等于0,不受外部控制P4EQU0C0H;声明P4地址MOVP4,#

5、0FFHP4SWEQU0BBH;声明P4SW寄存器的地址MOVP4SW,#70HSETBp1.1SETBP1.4;CE2置高SETBP1.3;CE1置高例3步进电机任务2:定时器中断实现演示程序TIME:CJNER2,#0,TIM0;R2不等于0则是慢速,跳转;;;;;;;快速,60转/分MOVTH0,#5BHMOVTL0,#0F0HSETBTR0MOVR1,#0HTIM1:CJNER1,#1H,TIM1SJMPTIM2;;;;;;;;慢速,10转/分TIM0:MOVR3,#2HTIM4:MOVTH0,#0HMOVTL0,#0HSETBTR0MOVR1,#0H例3步进电机任务3:定时器中断

6、实现延时程序TIM3:CJNER1,#1H,TIM3DJNZR3,TIM4MOVTH0,#2FHMOVTL0,#70HSETBTR0MOVR1,#0HTIM5:CJNER1,#1H,TIM5TIM2:RETT0IN:;中断程序MOVR1,#1HRETI;中断返回例3步进电机任务4:开关设置NEXT:JBP3.7,OPP;如果P3.7等于1则转移(开关S2按下)MOVR0,#00101101B;按下,顺时针LJMPS1OPP:MOVR0,#01111000B;松开,逆时针S1:JBP3.6,SPDMOVR2,#0H;未按下,快速LJMPL1SPD:MOVR2,#1H;按下,慢速例3步进电机任

7、务:主程序L1:MOVA,R0RLCA;带进位的循环左移操作MOVP3.2,C;IN1RLCAMOVP1.0,C;IN2MOVR0,ALCALLLEDLCALLTIMEMOVA,R0RLCAMOVP3.2,CRLCAMOVP1.0,CMOVR0,ALCALLLEDLCALLTIME例3步进电机任务:主程序MOVA,R0RLCAMOVP3.2,CRLCAMOVP1.0,CMOVR0,ALCALLLEDLCALLTIMEMO

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。