点阵式LED“0-9”数字显示技术 ,led数字显示程序
Tags:
led数字显示程序
| 时间: 2010:7:26 21:27:38
送预示代码历程如次所示 送熬头列线代码到P3端口,同时置熬头行线为“0”,其他行线为“1”,延时2ms摆布,送第二列线代码到P3端口,同时置第二行线为“0”,其他行线为“1”,延时2ms摆布,云云下去,直至送完最后一列代码,又重新起头送
timecount++;
NEXT: INC TIM
P1=digittab[cntb][cnta];
void t0(void) interrupt 1 using 0
whellole⑴
{0x00,0x00,0x40,0x40,0x40,0x4f,0x70,0x00}, //7
}
MOVC A,@A+DPTR
DB 00H,00H,32H,49H,49H,49H,3EH,00H
MOV A,TIM
MOV TL0,#(65536-4000) MOD 256
MOV TL0,#(65536-4000) MOD 256
{
TL0=(65536-3000)%256;
ORG 30H
MOV DPTR,#TAB
INC CNTB
START: MOV TIM,#00H
if(timecount==333)
TAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH
}
}
{0x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00} //9
timecount=0;
MOV A,CNTB
DB 00H,00H,0CH,14H,24H,7FH,04H,00H
TR0=1;
cnta=0;
MOV CNTA,#00H
cntb=0;
void main(void)
DB 00H,00H,22H,49H,49H,49H,36H,00H
CNTB EQU 32H
MOV CNTB,#00H
{0x00,0x00,0x3e,0x49,0x49,0x49,0x26,0x00}, //6
DB 00H,00H,36H,49H,49H,49H,36H,00H
{0x00,0x00,0x27,0x45,0x45,0x45,0x39,0x00}, //2
DB 00H,00H,27H,45H,45H,45H,39H,00H
MUL AB
T0X:
END
{
{;
DIGIT: DB 00H,00H,3EH,41H,41H,41H,3EH,00H
ORG 00H
cnta++;
MOV P1,A
{
EA=1;
SETB TR0
if(cnta==8)
}
TL0=(65536-3000)%256;
MOV P3,A
MOV CNTA,#00H
MOVC A,@A+DPTR
{0x00,0x00,0x22,0x49,0x49,0x49,0x36,0x00}, //3
#include <AT89X52.H>
LJMP START
}
{0x00,0x00,0x00,0x00,0x21,0x7f,0x01,0x00}, //1
unsigned char cnta;
{0x00,0x00,0x0c,0x14,0x24,0x7f,0x04,0x00}, //4
CJNE A,#250,NEX
MOV CNTB,#00H
SETB EA
unsigned char code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
MOV A,CNTB
}
SJMP $
TH0=(65536-3000)/256;
MOV A,CNTA
DB 00H,00H,3EH,49H,49H,49H,26H,00H
ET0=1;
图4.25.1 3. 硬件体系串线 ⑴. 把“单片有机体系”地区范围中的P1端口用8芯排芯毗连到“点阵板块”地区范围中的“DR1-DR8”端口上; ⑵. 把“单片有机体系”地区范围中的P3端口用8芯排芯毗连到“点阵板块”地区范围中的“DC1-DC8”端口上; 4. 步伐预设内部实质意义 ⑴. 数码0-9点阵预示代码的形成 如次图所示,假定预示数码“0” 1 2 3 4 5 6 7 8 ●●● ● ● ● ● ● ● ● ● ● ● ●●● 00 00 3E 41 41 41 3E 00 是以,形成的列代码为 00H,00H,3EH,41H,41H,3EH,00H,00H;只要把这些个代码别离送到响应的列线上边,便可以使成为事实“0”的数码预示 数码“1”代码成立如次图所示
{
MOV TMOD,#01H
CJNE A,#10,NEX
2009年07月23日
MOV DPTR,#DIGIT
DB 00H,00H,72H,51H,51H,51H,4EH,00H
TIM EQU 30H
6. C语言源步伐
MOV TIM,#00H
LJMP T0X
CNTA EQU 31H
TH0=(65536-3000)/256;
MOV TH0,#(65536-4000)/256
CJNE A,#8,NEXT
ORG 0BH
cntb++;
P3=tab[cnta];
MOV B,#8
unsigned char cntb;
if(cntb==10)
MOV TH0,#(65536-4000)/256
NEX: RETI
MOV A,CNTA
DB 00H,00H,00H,00H,21H,7FH,01H,00H
TMOD=0x01;
unsigned char code digittab[10][8]={ {0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00}, //0
SETB ET0
{0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00}, //8
unsigned int timecount;
1 2 3 4 5 6 7 8 ● ●● ● ● ● ● ●●● 其预示代码为 00H,00H,00H,00H,21H,7FH,01H,00H 数码“2”代码成立如次图所示 1 2 3 4 5 6 7 8 ●●● ● ● ● ● ●●●● ● ●●●●● 00H,00H,27H,45H,45H,45H,39H,00H 数码“3”代码成立如次图所示 1 2 3 4 5 6 7 8 ●●● ● ● ● ●●● ● ● ● ●●● 00H,00H,22H,49H,49H,49H,36H,00H 数码“4”代码成立如次图所示 1 2 3 4 5 6 7 8 ● ●● ● ● ● ● ●●●●● ● ● 00H,00H,0CH,14H,24H,7FH,04H,00H 数码“5”代码成立如次图所示 1 2 3 4 5 6 7 8 ●●●●● ● ●●●● ● ● ● ● ●●● 00H,00H,72H,51H,51H,51H,4EH,00H 数码“6”代码成立如次图所示 1 2 3 4 5 6 7 8 ●●● ● ● ● ●●●● ● ● ● ● ●●● 00H,00H,3EH,49H,49H,49H,26H,00H 数码“7”代码成立如次图所示 1 2 3 4 5 6 7 8 ●●●●● ● ● ● ● ● ● 00H,00H,40H,40H,40H,4FH,70H,00H 数码“8”代码成立如次图所示 1 2 3 4 5 6 7 8 ●●● ● ● ● ● ●●● ● ● ● ● ●●● 00H,00H,36H,49H,49H,49H,36H,00H 数码“9”代码成立如次图所示 1 2 3 4 5 6 7 8 ●●● ● ● ● ● ●●●● ● ● ● ●●● 00H,00H,32H,49H,49H,49H,3EH,00H 5. 汇编源步伐
点阵式LED“0-9”数码预示技能1. 测试使命 哄骗8X8点阵预示数码0到9的数码 2. 电路道理图
ADD A,CNTA
};
INC CNTA
DB 00H,00H,40H,40H,40H,4FH,70H,00H
{
{0x00,0x00,0x72,0x51,0x51,0x51,0x4e,0x00}, //5
timecount++;
NEXT: INC TIM
P1=digittab[cntb][cnta];
void t0(void) interrupt 1 using 0
whellole⑴
{0x00,0x00,0x40,0x40,0x40,0x4f,0x70,0x00}, //7
}
MOVC A,@A+DPTR
DB 00H,00H,32H,49H,49H,49H,3EH,00H
MOV A,TIM
MOV TL0,#(65536-4000) MOD 256
MOV TL0,#(65536-4000) MOD 256
{
TL0=(65536-3000)%256;
ORG 30H
MOV DPTR,#TAB
INC CNTB
START: MOV TIM,#00H
if(timecount==333)
TAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH
}
}
{0x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00} //9
timecount=0;
MOV A,CNTB
DB 00H,00H,0CH,14H,24H,7FH,04H,00H
TR0=1;
cnta=0;
MOV CNTA,#00H
cntb=0;
void main(void)
DB 00H,00H,22H,49H,49H,49H,36H,00H
CNTB EQU 32H
MOV CNTB,#00H
{0x00,0x00,0x3e,0x49,0x49,0x49,0x26,0x00}, //6
DB 00H,00H,36H,49H,49H,49H,36H,00H
{0x00,0x00,0x27,0x45,0x45,0x45,0x39,0x00}, //2
DB 00H,00H,27H,45H,45H,45H,39H,00H
MUL AB
T0X:
END
{
{;
DIGIT: DB 00H,00H,3EH,41H,41H,41H,3EH,00H
ORG 00H
cnta++;
MOV P1,A
{
EA=1;
SETB TR0
if(cnta==8)
}
TL0=(65536-3000)%256;
MOV P3,A
MOV CNTA,#00H
MOVC A,@A+DPTR
{0x00,0x00,0x22,0x49,0x49,0x49,0x36,0x00}, //3
#include <AT89X52.H>
LJMP START
}
{0x00,0x00,0x00,0x00,0x21,0x7f,0x01,0x00}, //1
unsigned char cnta;
{0x00,0x00,0x0c,0x14,0x24,0x7f,0x04,0x00}, //4
CJNE A,#250,NEX
MOV CNTB,#00H
SETB EA
unsigned char code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
MOV A,CNTB
}
SJMP $
TH0=(65536-3000)/256;
MOV A,CNTA
DB 00H,00H,3EH,49H,49H,49H,26H,00H
ET0=1;
图4.25.1 3. 硬件体系串线 ⑴. 把“单片有机体系”地区范围中的P1端口用8芯排芯毗连到“点阵板块”地区范围中的“DR1-DR8”端口上; ⑵. 把“单片有机体系”地区范围中的P3端口用8芯排芯毗连到“点阵板块”地区范围中的“DC1-DC8”端口上; 4. 步伐预设内部实质意义 ⑴. 数码0-9点阵预示代码的形成 如次图所示,假定预示数码“0” 1 2 3 4 5 6 7 8 ●●● ● ● ● ● ● ● ● ● ● ● ●●● 00 00 3E 41 41 41 3E 00 是以,形成的列代码为 00H,00H,3EH,41H,41H,3EH,00H,00H;只要把这些个代码别离送到响应的列线上边,便可以使成为事实“0”的数码预示 数码“1”代码成立如次图所示
{
MOV TMOD,#01H
CJNE A,#10,NEX
2009年07月23日
MOV DPTR,#DIGIT
DB 00H,00H,72H,51H,51H,51H,4EH,00H
TIM EQU 30H
6. C语言源步伐
MOV TIM,#00H
LJMP T0X
CNTA EQU 31H
TH0=(65536-3000)/256;
MOV TH0,#(65536-4000)/256
CJNE A,#8,NEXT
ORG 0BH
cntb++;
P3=tab[cnta];
MOV B,#8
unsigned char cntb;
if(cntb==10)
MOV TH0,#(65536-4000)/256
NEX: RETI
MOV A,CNTA
DB 00H,00H,00H,00H,21H,7FH,01H,00H
TMOD=0x01;
unsigned char code digittab[10][8]={ {0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00}, //0
SETB ET0
{0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00}, //8
unsigned int timecount;
1 2 3 4 5 6 7 8 ● ●● ● ● ● ● ●●● 其预示代码为 00H,00H,00H,00H,21H,7FH,01H,00H 数码“2”代码成立如次图所示 1 2 3 4 5 6 7 8 ●●● ● ● ● ● ●●●● ● ●●●●● 00H,00H,27H,45H,45H,45H,39H,00H 数码“3”代码成立如次图所示 1 2 3 4 5 6 7 8 ●●● ● ● ● ●●● ● ● ● ●●● 00H,00H,22H,49H,49H,49H,36H,00H 数码“4”代码成立如次图所示 1 2 3 4 5 6 7 8 ● ●● ● ● ● ● ●●●●● ● ● 00H,00H,0CH,14H,24H,7FH,04H,00H 数码“5”代码成立如次图所示 1 2 3 4 5 6 7 8 ●●●●● ● ●●●● ● ● ● ● ●●● 00H,00H,72H,51H,51H,51H,4EH,00H 数码“6”代码成立如次图所示 1 2 3 4 5 6 7 8 ●●● ● ● ● ●●●● ● ● ● ● ●●● 00H,00H,3EH,49H,49H,49H,26H,00H 数码“7”代码成立如次图所示 1 2 3 4 5 6 7 8 ●●●●● ● ● ● ● ● ● 00H,00H,40H,40H,40H,4FH,70H,00H 数码“8”代码成立如次图所示 1 2 3 4 5 6 7 8 ●●● ● ● ● ● ●●● ● ● ● ● ●●● 00H,00H,36H,49H,49H,49H,36H,00H 数码“9”代码成立如次图所示 1 2 3 4 5 6 7 8 ●●● ● ● ● ● ●●●● ● ● ● ●●● 00H,00H,32H,49H,49H,49H,3EH,00H 5. 汇编源步伐
点阵式LED“0-9”数码预示技能1. 测试使命 哄骗8X8点阵预示数码0到9的数码 2. 电路道理图
ADD A,CNTA
};
INC CNTA
DB 00H,00H,40H,40H,40H,4FH,70H,00H
{
{0x00,0x00,0x72,0x51,0x51,0x51,0x4e,0x00}, //5