(1)刚学的时候用的方法
void display(void)
{
P2=0x01;
P0=num_table[ge];
delay(1);
P2=0X02;
P0=num_table[shi];
delay(1);
P2=0x04;
P0=(num_table[bai]+0x80);
delay(1);
P2=0x08;
P0=num_table[qian];
delay(1);
}
(2)定义数组然后调用
void display(void)
{
uchar i;
for(i=0;i<8;i++)
{
P2=wei[i];
P0=num_table[l_tmpdisplay[i]];
delay(1);
}
}
如果要让四位一体显示1234,一段时间后显示2345。。。类推,要怎么做,各位高手还有什么别的更好的显示方法吗,求指导,,,,谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
MOV TH0,#0ECH
MOV TL0,#78H
; SETB TR0
; SETB EA
; SETB ET0
MOV A,STATE
I1:
CJNE A,#4,I2
MOV STATE,#1
MOV A,DISP1
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV DISPDATA,A
SETB HDISP1
CLR HDISP4
LJMP I9
I2:
CJNE A,#1,I3
MOV STATE,#2
MOV A,DISP2
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV DISPDATA,A
SETB HDISP2
CLR HDISP1
LJMP I9
I3:
CJNE A,#2,I4
MOV STATE,#3
MOV A,DISP3
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV DISPDATA,A
SETB HDISP3
CLR HDISP2
LJMP I9
I4:
CJNE A,#3,I5
MOV STATE,#4
MOV A,DISP4
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV DISPDATA,A
SETB HDISP4
CLR HDISP3
LJMP I9
I5:
I9:
; POP PSW
; POP B
POP ACC
RETI
一周热门 更多>