MCS-51单片机汇编语言编程实例课件_第1页
MCS-51单片机汇编语言编程实例课件_第2页
MCS-51单片机汇编语言编程实例课件_第3页
MCS-51单片机汇编语言编程实例课件_第4页
MCS-51单片机汇编语言编程实例课件_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

例1 方波产生任务:从P1.0引脚输出一个方波

例1 方波产生任务:从P1.0引脚输出一个方波 1程序1: ORG 0000HLOOP: CPL 90H SJMP LOOP机器码0000 B20001 900002 800003 FC0004 --程序1:2程序2:加软延时 ORG 0000HLOOP: CPL 90H MOV R1,#100 MOV R0,#100LOOP1: DJNZ R0, LOOP1 DJNZ R1,LOOP1 SJMP LOOP

程序2:加软延时3例2跑马灯任务:D1,D2,D3循环亮灭,D1→D2→D3↑↓一个时间只有一个亮,每个1秒转换一次。例2跑马灯任务:D1,D2,D3循环亮灭,4程序1: ORG 0000HLOOP0: ORL P1,#07H ;全熄灭 ANL P1,#0FBH ;D1亮 CALL DT ;延时 ORL P1,#07H ;全熄灭 ANL P1,#0FDH ;D2亮 CALL DT ;延时

ORL P1,#07H ;全熄灭 ANL P1,#0FEH ;D3亮 CALL DT ;延时 SJMP LOOP0 程序1:5DT: MOV R2,#0FH ;#15 MOV R1,#32H ;#50 MOV R0,#0FFH ;#255DT1: DJNZ R0,DT1 DJNZ R1,DT1 DJNZ R2,DT1 RETT= (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)=1000000

65793R2+257R1+R0=1066046R2=15,R1=50,R0=255DT: MOV R2,#0FH ;#156

程序2

ORG 0000HLOOP: MOV A,#0FBH MOV P1,A RR A CALL DT MOV P1,A RR A CALL DT MOV P1,A CALL DT SJMP LOOP 程序27

程序3

ORG 0000HLOOP: MOV A,#0FBH MOV R0,#3LOOP0: MOV P1,A RR A CALL DT DJNZ R0,LOOP0 SJMP LOOP 7行 程序38

程序4 ORG 0000HLOOP0: MOV R7,#0LOOP1: ORL P1,#07H ;全熄灭LOOP2: CJNE R7,#0,LOOP3 INC R7 ANL P1,#0FBH ;D1亮 SJMP LOOP5LOOP3: CJNE R7,#1,LOOP4 INC R7 ANL P1,#0FDH ;D2亮 SJMP LOOP5 LOOP4: CJNE R7,#02,LOOP0 MOV R7,#0 ANL P1,#0FEH ;D3亮LOOP5: CALL DT ;延时 SJMP LOOP1

9例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,#0FFHP4SWEQU0BBH;声明P4SW寄存器的地址MOVP4SW,#70HSETBp1.1SETBP1.4;CE2置高 SETBP1.3;CE1置高例3 步进电机任务1:初始化步进电机10例3 步进电机任务2:定时器中断实现演示程序TIME:CJNER2,#0,TIM0;R2不等于0则是慢速,跳转 ;;;;;;;快速,60转/分 MOVTH0,#5BH MOVTL0,#0F0H SETBTR0 MOVR1,#0HTIM1:CJNER1,#1H,TIM1 SJMPTIM2 ;;;;;;;;慢速,10转/分TIM0:MOVR3,#2HTIM4:MOVTH0,#0H MOVTL0,#0H SETBTR0 MOVR1,#0H例3 步进电机任务2:定时器中断实现演示程序11例3 步进电机任务3:定时器中断实现延时程序TIM3:CJNER1,#1H,TIM3 DJNZR3,TIM4 MOVTH0,#2FH MOVTL0,#70H SETBTR0 MOVR1,#0HTIM5:CJNER1,#1H,TIM5 TIM2:RETT0IN:;中断程序 MOVR1,#1HRETI;中断返回

例3 步进电机任务3:定时器中断实现延时程序12例3 步进电机任务4:开关设置NEXT: JBP3.7,OPP;如果P3.7等于1则转移(开关S2按下) MOVR0,#00101101B;按下,顺时针 LJMPS1OPP:MOVR0,#01111000B;松开,逆时针S1: JBP3.6,SPD MOVR2,#0H;未按下,快速 LJMPL1SPD:MOVR2,#1H;按下,慢速 例3 步进电机任务4:开关设置13例3 步进电机任务:主程序L1: MOVA,R0 RLCA;带进位的循环左移操作 MOVP3.2,C;IN1 RLCA MOVP1.0,C;IN2 MOVR0,A LCALLLED LCALLTIME MOVA,R0 RLCA MOVP3.2,C RLCA MOVP1.0,C MOVR0,A LCALLLED LCALLTIME例3 步进电机任务:主程序14例3 步进电机任务:主程序 MOVA,R0RLCA MOVP3.2,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论