项目二,汇编程序和proteus仿真? proteus单片机程序输入
- PROTEUS 单片机仿真 汇编程序修改
- Proteus里面,有可仿真的单片机,怎样查看程序代码?代码是C语言的还是汇编语言?
- 汇编语言:使用以下程序,用proteus仿真。为什么LED最后全亮了?
- keil和protus仿真,他们的作用分别是什么?
PROTEUS 单片机仿真 汇编程序修改
第一步:用Keil c51新建工程,并编辑好汇编程序文件,然后将文件加入到这个工程。
第二步:编译,生成HEX文件:即在你项目名下单击右键选择“options for target”,在弹出的页框中的“output”页下勾选“create hex file”。这样你就产生了一个HEX文件。
第三步:将刚才产生的HEX文件导入到Proteus中的单片机中:双击单片机,在出现的对话框中“program file ”,选择你刚才产生的HEX文件。这样你就将汇编语言导入到单片机了,可以进行仿真了。
Proteus里面,有可仿真的单片机,怎样查看程序代码?代码是C语言的还是汇编语言?
proteus 本身可以识别标准的汇编语言,也可以是编译过的HEX文件。
汇编语言:使用以下程序,用proteus仿真。为什么LED最后全亮了?
说说你的3 个按键各实现什么功能 ?
因为你的实现什么还没说清,只好这样改。先按下1键,如2键按下,灯左移到左一亮。如按下3键,灯右移到右一亮。再按一键,重新开始。
ORG 0000H
SWITCH:
JNB P3.0,START
JMP SWITCH
START:
JNB P3.1,LEFT
JNB P3.2,RIGHT
AJMP START ;加了这条,不然,按键1按下后,2、3未按,会接着执行LEFT子程序
LEFT:
MOV DPTR,#TABLE
L1: CLR A
MOVC A,@A+DPTR
CJNE A,#07H,LOOP1
JNB P3.0,S1
JMP SWITCH
S1: JNB P3.2,RIGHT
JNB P3.1,LEFT
AJMP S1 ;加了这条,按键2、3未按下,返回直到按下其中一个。不然,未按2、3键,同样会继续执行LOOP1.
LOOP1:
MOV P1,A
LCALL DELAY
INC DPTR
JMP L1
TABLE:
DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH
DB 007H
RIGHT:
MOV A,#07FH
MOV R0,#8
LOOP3:
MOV P1,A
SETB C
RRC A
LCALL DELAY
DEC R0
CJNE R0,#0,LOOP3
JNB P3.0,L2
AJMP SWITCH
L2: JNB P3.1,LEFT
JNB P3.2,RIGHT
DELAY:
MOV R3,#20
D0:
MOV R4,#20
D1:
MOV R5,#248
DJNZ R5,$
DJNZ R4,D1
DJNZ R3,D0
RET
END
keil和protus仿真,他们的作用分别是什么?
keil软件主要是进行程序的编写、编译、以及调试;它主要的调试手段是单步调试观察程序的运行状态,观察变量在运行过程的变化,观察语句执行的时间等。
而proteus仿真软件的优点是可以搭建仿真电路,并且可以利用丰富的外设器件,如数码管,LCD,按键,传感器,A/D,D/A,IIC等器件,实现与实际系统板运行接近的效果,即可以完成系统级的调试。