#2
stave_72016-10-13 11:36
|
仿真电路图(80C51芯片)
只有本站会员才能查看附件,请 登录
代码显示
程序代码:
ORG 0000H //定义汇编程序或查表数据在ROM中存放的起始地址
AjMP MAIN //绝对转移指令
ORG 0030H
;------------主程序----------
MAIN:
MOV R3,#0 //数据块首地址指针R0赋值
MOV P2,#00H //数据块末地址指针P2赋值
SETB P2.0 //把其寄存器置1
MOV R1,#0FFH
MOV R7,#10
LOOP:
MOV R3,#0
MOV A,R1
ADD A,#1
MOV R1,A
ACALL DISPLAY //调用显示子程序
LOP:
MOV P2,#0FFH
ACALL DELAY
MOV P2,#00H
ACALL DELAY
INC R3
CJNE R3,#6,LOP //CJNE-比较不相等转移指令
DJNZ R7,LOOP //若转换未完,继续循环
AJMP MAIN
;--------------查表-------------
DISPLAY:
MOV A,R1
MOV DPTR,#DISTABLE
MOVC A,@A+DPTR
MOV P1,A
RET
;------------显示码-------------
DISTABLE:
DB 06H,5BH,4FH
DB 66H,6DH,7DH,07H
DB 7FH,6FH
;-----------延时子程序----------
DELAY:
MOV R4,#10
DEL:
MOV R5,#100
DEL1:
MOV R6,#250
DJNZ R6,$
DJNZ R5,DEL1
DJNZ R4,DEL
RET
END
AjMP MAIN //绝对转移指令
ORG 0030H
;------------主程序----------
MAIN:
MOV R3,#0 //数据块首地址指针R0赋值
MOV P2,#00H //数据块末地址指针P2赋值
SETB P2.0 //把其寄存器置1
MOV R1,#0FFH
MOV R7,#10
LOOP:
MOV R3,#0
MOV A,R1
ADD A,#1
MOV R1,A
ACALL DISPLAY //调用显示子程序
LOP:
MOV P2,#0FFH
ACALL DELAY
MOV P2,#00H
ACALL DELAY
INC R3
CJNE R3,#6,LOP //CJNE-比较不相等转移指令
DJNZ R7,LOOP //若转换未完,继续循环
AJMP MAIN
;--------------查表-------------
DISPLAY:
MOV A,R1
MOV DPTR,#DISTABLE
MOVC A,@A+DPTR
MOV P1,A
RET
;------------显示码-------------
DISTABLE:
DB 06H,5BH,4FH
DB 66H,6DH,7DH,07H
DB 7FH,6FH
;-----------延时子程序----------
DELAY:
MOV R4,#10
DEL:
MOV R5,#100
DEL1:
MOV R6,#250
DJNZ R6,$
DJNZ R5,DEL1
DJNZ R4,DEL
RET
END
开始单片机编程学习之旅,以后电路图和代码或者学习心得都会陆续更新,有什么问题我们可以一起相互探讨,相互进步!
From:Redeyes
2016.10.13