ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: MOV 30H,#00H ;给显示缓冲区赋初值
MOV 31H,#00H
L0: SETB P1.0 ;164清零端‘CLR’置1(低电平有效)
INC 30H
MOV A,30H
CJNE A,#0AH,AA
MOV 30H,#00H
INC 31H
MOV A,31H
CJNE A,#0AH,AA
MOV 30H,#00H
MOV 31H,#00H ;使31H,30H单元内容在00~99循环变化
AA: MOV SCON,#00H ;设置串行口数据由RXD输入或输出,TXD用于输出移位时钟
MOV R7,#02H ;设置要发送的字节个数
MOV R0,#30H ;设置地址指针
MOV DPTR,#TAB
LOOP: MOV A,@R0
MOVC A,@A+DPTR ;取出字型码
MOV SBUF,A ;发送
WAIT: JNB TI,WAIT ;等待一帧发关完毕
CLR TI
INC R0 ;指向下一个字形码
DJNZ R7,LOOP
MOV R2,#30H ;调用延时子程序
LCALL DELYA
CLR P1.0 ;164清零端'CLR'置0(低电平有效)
SJMP L0
TAB: DB 3FH,06H,5BH,04FH,66H,6DH,7DH,07H,7FH,6FH ;七段LED段选码(共阴极)
DB 77H,7CH,39H,5EH,86H,8EH,0FFH,0F1H,0C6H,092H,0BFH
DELYA: PUSH 02H ;延时子程序
DELYB: PUSH 02H
DELYC: PUSH 02H
DELYD: DJNZ R2,DELYD
POP 02H
DJNZ R2,DELYC
POP 02H
DJNZ R2,DELYB
POP 02H
DJNZ R2,DELYA
RET
END
HC164显示.rar
(2008-09-22 10:26:23, Size: 17.5 KB, Downloads: 3)
