电路介绍:p0口驱动8个led灯,将P0口和J1用8芯电缆连接
将JA1上的跳线帽全部移到JA2上。
01mcu. 20060916
key bit P2.0 按键
**********************************
main: mov r0,#8 每次移动8位
mov p0,#01111111b 先使最高位亮,共阳:0亮1灭
keys: jb key,$ 键按下启动
loop: acall delay 显示延时
mov a,p0将当前显示的数据读回到ACC
rr a右移1位
mov p0,a返回到P0显示移动后的数据
djnz r0,loop没移动完继续
ljmp main 重复运行,以实现流水效果
---延时--- 0.5S @ 12MHz -------
delay: mov r1,#6
ds1lo: mov r2,#200
ds2lo: mov r3,#207
djnz r3,$
djnz r2,ds2lo
djnz r1,ds1lo
ret 延时返回
end
A_BIT EQU 20H个位数存放处
B_BIT EQU 21H
十位数存放处
TEMP EQU 22H
STAR: MOV TEMP,#0
初始化计数器
STLOP: ACALL DISPLAY
INC TEMP
MOV A,TEMP
CJNE A,#100,NEXT
等于100重来
MOV TEMP,#0
NEXT: LJMP STLOP
显示子程序
DISPLAY: MOV A,TEMP
MOV B,#10
DIV AB
MOV B_BIT,A
MOV A_BIT,B
MOV DPTR,#NUMTAB
MOV R0,#4
DPL1:
MOV R1,#5
DPLOP: MOV A,A_BIT
MOVC A,@A+DPTR
MOV P0,A
CLR P2.7
ACALL D1MS
SETB P2.7
MOV A,B_BIT
MOVC A,@A+DPTR
MOV P0,A
CLR P2.6
ACALL D1MS
SETB P2.6
DJNZ R1,DPLOP
DJNZ R0,DPL1
RET
D1MS:
MOV R7,#50
D1: MOV R6,#20
D2: DJNZ R6,$
DJNZ R7,D1
RET
NUMTAB:
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
013456789字形码
END
这是两位从0到99的,你参考下。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)