单片机第三次作业
时间:11-25
来源:互联网
点击:
作业第7题:比较R0中的数是否大于10H,等于则R1赋值0,小于10H则R1赋值FF,大于则R1则赋值AAH.
1、先fileànew 建asm文件7.asm
MOV A,R0
CJNE A,#10H,L1
MOV R1,#0
AJMP L3
L1:JC L2
MOV R1,#0AAH
AJMP L3
L2:MOV R1,#0FFH
L3:SJMP L3
END
为了调试时看数据,预先在R0中赋值为12H,所以程序前加:
MOV R0,#12H
程序变为:
MOV R0,#12H
MOV A,R0
CJNE A,#10H,L1
MOV R1,#0
AJMP L3
L1:JC L2
MOV R1,#0AAH
AJMP L3
L2:MOV R1,#0FFH
L3:SJMP L3
END
2、建新工程,Projectànew project ,选AtemlàAT89C51 ,导入文件7.asm。
注意,对初学者,一个工程里只能有本程序7.asm,无关的程序要删除,新试验一个程序最好重新建工程,以保证一个工程里只有你要试验的那一个程序。
3、可见程序
4、编译通过后,点debug下的start/stop开始调试, step 和step over都是单步调试,step是遇到子程序或中断也要进入进行单步调试,step over是遇到子程序或中断当一句一次执行完。本程序物子程序,二者是一样的。我们执行一句得到:
继续执行:
下一步:
下一步:
可见R1中的值以变为AAH.下一步:
L3跳转自身,程序不再往下执行。
综上,程序即为比较R0中的数和10H的大小。
1、先fileànew
MOV A,R0
CJNE A,#10H,L1
MOV R1,#0
AJMP L3
L1:JC L2
L2:MOV R1,#0FFH
L3:SJMP L3
END
为了调试时看数据,预先在R0中赋值为12H,所以程序前加:
MOV R0,#12H
程序变为:
MOV R0,#12H
MOV A,R0
CJNE A,#10H,L1
MOV R1,#0
AJMP L3
L1:JC L2
L2:MOV R1,#0FFH
L3:SJMP L3
END
2、建新工程,Projectànew
3、可见程序
4、编译通过后,点debug下的start/stop开始调试,
继续执行:
下一步:
下一步:
可见R1中的值以变为AAH.下一步:
L3跳转自身,程序不再往下执行。
综上,程序即为比较R0中的数和10H的大小。
单片机赋 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)