本帖最后由 ahshmj 于 2016-3-31 20:44 编辑
DISPR: MOV R7,#08H ;
MOV R0,#7FH ;显示缓存最高位
SETB C ;第一次向164送出“1”,以后都是送出“0”,逐个点亮数码管
D0: MOV A, @R0
MOV DPTR,#DTAB ;字型码表首地址
MOVC A,@A+DPTR
MOV P2,A ;段码送P2口
DEC R0
CLR CLK ;拉低模拟时钟端。
MOV DAT,C ;C送数据端。
CLR C
SETB CLK ;拉高时钟端,形成上升沿。
NOP ;延时一个时钟周期。
CLR CLK ;拉低时钟端。
MOV R6,#0FFH ;延时显示
DJNZ R6,$
DJNZ R7,D0 ;循环8次结束。
DAT和CLK是除了P2口以外的任意IO。重点看红字。
|