16乘16点阵程序_C语言_左循环英文显示
- 格式:docx
- 大小:14.90 KB
- 文档页数:7
16×16点阵LE D显示屏整个过程及C语言程序7.1功能要求设计一个室内用16×16点阵LE D图文显示屏,要求在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形或文字应稳定、清晰无串扰。
图形或文字显示有静止、移入移出等显示方式。
7.2方案论证从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。
16×16的点阵共有256个发光二极管,显然单片机没有这么多端口,如果我们采用锁存器来扩展端口,按8位的锁存器来计算,16×16的点阵需要256/8=32个锁存器。
这个数字很庞大,因为我们仅仅是16×16的点阵,在实际应用中的显示屏往往要大的多,这样在锁存器上花的成本将是一个很庞大的数字。
因此在实际应用中的显示屏几乎都不采用这种设计,而采用另一种称为动态扫描的显示方法。
动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套列驱动器。
具体就16×16的点阵来说,我们把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第一行使其燃亮一定的时间,然后熄灭;再送出第二行的数据并锁存,然后选通第二行使其燃亮相同的时间,然后熄灭;……第十六行之后又重新燃亮第一行,这样反复轮回。
当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,我们就能看到显示屏上稳定的图形了。
ORG 0000HAJMP READYORG 000BHAJMP INT_0;只需更改点阵数据和要显示的总字数READY:MOV P0,#0FFHMOV P1,#0FFHMOV P2,#0FFHMOV P3,#0FFHMOV SP,#70HMOV 36H,#2DMOV 37H,#00H;************************************************ MOV 3AH,#17D ;设置要显示的总字数;************************************************ LCALL DATA_CHUSHISETB EASETB ET0MOV TMOD,#01HMOV TH0,#0A6HMOV TL0,#00HSETB TR0;主程序MAIN:ACALL DISP_READYACALL KEYAJMP MAIN;*********************************************** DA TA_CHUSHI:MOV 35H,#00HMOV 38H,#00HMOV 39H,#01H ;初始化时已显示第一个字MOV 3BH,#0A0H ;暂存r0指向地址MOV DPTR,#DATA1MOV R0,#0A0H ;点阵数据存放地址MOV 30H,#32D ;数据字节数SEND_DATA0:MOV A,#00HMOVC A,@A+DPTRMOV @R0,AINC R0INC DPTRDJNZ 30H,SEND_DA TA0;*********************************************** MOV R0,#0C0H ;点阵数据存放地址MOV 30H,#32D ;数据字节数SEND_DATA1:MOV A,#00HMOVC A,@A+DPTRMOV @R0,AINC R0INC DPTRDJNZ 30H,SEND_DA TA1;*********************************************** MOV DPTR,#DATA1+32MOV R0,#80H ;点阵数据存放地址MOV 30H,#32D ;数据字节数SEND_DATA2:MOV A,#00HMOVC A,@A+DPTRMOV @R0,AINC R0INC DPTRDJNZ 30H,SEND_DA TA2RET;*********************************************** KEY:MOV P3,#0FFHMOV A,P3ANL A,#00000011BCJNE A,#00000011B,KEY_PANDUANRETKEY_PANDUAN:MOV 34H,AACALL KEY_DELAYMOV A,P3ANL A,#00000011BCJNE A,34H,KEY_EXITACALL KEY_CHULIKEY_EXIT: RET;***************************KEY_CHULI:JB ACC.0,KEY_2MOV A,37HADD A,#40HMOV 37H,ALCALL DATA_CHUSHIRETKEY_2: JB ACC.1,KEY_CHULI_EXITINC 36HINC 36HMOV A,36HCJNE A,#14D,CHANGE_36HMOV A,#2DCHANGE_36H:MOV 36H,AMOV 35H,#00HRETKEY_CHULI_EXIT:RET;*************************** KEY_DELAY:DL Y_LP1: MOV R1,#20MOV R6,#50DL Y_LP2:NOPNOPNOPDJNZ R6,DL Y_LP2DJNZ R7,DL Y_LP1END_DL YMS:RET;***************************;显示程序DISP_READY:MOV R0,3BHMOV 30H,#16DMOV 31H,#00HDISP:MOV A,@R0MOV P0,AINC R0MOV A,@R0MOV P2,AMOV P1,31HACALL DISP_DELAYMOV P0,#00HMOV P1,#0FFHMOV P2,#00HINC 31HINC R0DJNZ 30H,DISPDISP_EXIT:RET;显示延时DISP_DELAY:MOV 32H,#2D1:MOV 33H,#150DJNZ 33H,$DJNZ 32H,D1RET;中断处理程序INT_0:PUSH ACCMOV TH0,#0A6HMOV TL0,#00HINC 35HMOV A,35HCJNE A,36H,INT0_EXITMOV 35H,#00HACALL WHICH_WAYINT0_EXIT:POP ACCRETI;********************************************* WHICH_W AY:MOV A,37HCJNE A,#00H,WAY2ACALL YIDONG1RETWAY2: CJNE A,#40H,WAY3ACALL YIDONG2RETWAY3: CJNE A,#80H,WAY4ACALL YIDONG3RETWAY4: ACALL YIDONG4RET;********************************************* YIDONG1: MOV 50H,#0A1HMOV 51H,#0C1HMOV 3CH,#16DINC 38HMOV A,38HCJNE A,#16D,YIDONG1_THEN1MOV 38H,#00HINC 39HMOV A,39HCJNE A,3AH,YIDONG1_THENMOV 39H,#00HMOV DPTR,#DATA1YIDONG1_THEN:MOV 3CH,#32DMOV R1,#0C0HYIDONG1_SEND_DA TA:MOV A,#00HMOVC A,@A+DPTRMOV @R1,AINC R1INC DPTRDJNZ 3CH,YIDONG1_SEND_DA TAMOV 3CH,#16DYIDONG1_THEN1:MOV R1,51HMOV A,@R1RLC AMOV @R1,ADEC R1MOV A,@R1RLC AMOV @R1,AMOV R1,50HMOV A,@R1RLC AMOV @R1,ADEC R1MOV A,@R1RLC AMOV @R1,AINC 50HINC 50HINC 51HINC 51HDJNZ 3CH,YIDONG1_THEN1RET;********************************************* YIDONG2:MOV 50H,#0A0HMOV 51H,#80HMOV 3CH,#16DINC 38HMOV A,38HCJNE A,#16D,YIDONG2_THEN1MOV 38H,#00HINC 39HMOV A,39HCJNE A,3AH,YIDONG2_THENMOV 39H,#00HMOV DPTR,#DA TA1YIDONG2_THEN:MOV 3CH,#32DMOV R1,#80HYIDONG2_SEND_DA TA:MOV A,#00HMOVC A,@A+DPTRMOV @R1,AINC R1INC DPTRDJNZ 3CH,YIDONG2_SEND_DATAMOV 3CH,#16DYIDONG2_THEN1:MOV R1,51HMOV A,@R1RRC AMOV @R1,AINC R1MOV A,@R1RRC AMOV @R1,AMOV R1,50HMOV A,@R1RRC AMOV @R1,AINC R1MOV A,@R1RRC AMOV @R1,AINC 50HINC 50HINC 51HINC 51HDJNZ 3CH,YIDONG2_THEN1RET;********************************************* YIDONG3:INC 3BHINC 3BHMOV 30H,#01HINC 38HMOV A,38HCJNE A,#16D,YIDONG3_EXITMOV 3BH,#0A0HMOV 38H,#00HMOV 3CH,#32DMOV 50H,#0A0HMOV 51H,#0C0HYIDONG3_LOOP:MOV R1,51HMOV A,@R1MOV R1,50HMOV @R1,AINC 50HINC 51HDJNZ 3CH,YIDONG3_LOOPINC 39HMOV A,39HCJNE A,3AH,YIDONG3_THENMOV 39H,#00HMOV DPTR,#DATA1YIDONG3_THEN:MOV R1,#0C0HMOV 3CH,#32DYIDONG3_THEN2:MOV A,#00HMOVC A,@A+DPTRMOV @R1,AINC R1INC DPTRDJNZ 3CH,YIDONG3_THEN2 YIDONG3_EXIT:RET;********************************************* YIDONG4:DEC 3BHDEC 3BHMOV 30H,#01HINC 38HMOV A,38HCJNE A,#16D,YIDONG4_EXITMOV 3BH,#0A0HMOV 38H,#00HMOV 3CH,#32DMOV 50H,#0A0HMOV 51H,#80HYIDONG4_LOOP:MOV R1,51HMOV A,@R1MOV R1,50HMOV @R1,AINC 50HINC 51HDJNZ 3CH,YIDONG4_LOOPINC 39HMOV A,39HCJNE A,3AH,YIDONG4_THENMOV 39H,#00HMOV DPTR,#DATA1YIDONG4_THEN:MOV R1,#80HMOV 3CH,#32DYIDONG4_THEN2:MOV A,#00HMOVC A,@A+DPTRMOV @R1,AINC R1INC DPTRDJNZ 3CH,YIDONG4_THEN2YIDONG4_EXIT:RET;*********************************************DA TA1:DB00H,00H,03H,00H,73H,7EH,13H,66H,0FH,0E6H,4FH,0E6H,73H,7EH,17H,66H,07H,0E6H,37H ,0FEH,3FH,66H,2BH,66H,23H,66H,63H,7EH,63H,66H,00H,00HDB00H,00H,0FH,0FEH,7FH,0FEH,30H,0B0H,07H,0FEH,44H,0B6H,67H,0FEH,33H,0FCH,07H,0F CH,17H,0FCH,16H,04H,37H,0FCH,36H,62H,6FH,0FFH,20H,60H,00H,60HDB00H,00H,7EH,00H,7FH,0FCH,24H,84H,3CH,84H,3CH,84H,24H,84H,24H,84H,3CH,0FCH,24H ,00H,27H,48H,7FH,6CH,74H,0C6H,05H,86H,05H,02H,00H,00HDB00H,00H,06H,60H,06H,60H,06H,60H,66H,64H,26H,6CH,36H,6CH,36H,6CH,16H,68H,1EH,78 H,16H,60H,06H,60H,06H,60H,7FH,0FEH,7FH,0FEH,00H,00HDB00H,00H,18H,60H,18H,60H,1BH,0FEH,7DH,0FEH,7CH,60H,19H,60H,1BH,0FCH,3CH,8CH,7 8H,0C8H,18H,0D8H,18H,70H,18H,70H,3BH,0DEH,33H,06H,00H,00HDB00H,00H,01H,90H,01H,98H,01H,88H,7FH,0FEH,7FH,0FEH,03H,0C0H,07H,0C0H,05H,0E0H,0 DH,0B0H,19H,98H,31H,9CH,61H,8EH,01H,80H,01H,80H,00H,00HDB00H,00H,19H,98H,19H,98H,08H,30H,7FH,0FEH,60H,06H,60H,06H,1FH,0F8H,00H,0F0H,00H, 80H,7FH,0FEH,40H,80H,00H,80H,00H,80H,03H,80H,00H,00HDB00H,00H,00H,60H,7CH,20H,6BH,0FEH,6BH,02H,79H,04H,79H,0FCH,68H,00H,6FH,0FEH,64 H,0D0H,7CH,0D0H,78H,0D0H,60H,92H,63H,13H,66H,1EH,00H,00HDB00H,00H,18H,60H,18H,60H,17H,0FEH,30H,00H,33H,0FEH,70H,00H,53H,0FEH,12H,00H,10H,00H,13H,0FCH,13H,04H,13H,04H,13H,0FCH,13H,04H,00H,00HDB02H,00H,03H,00H,1FH,0F8H,10H,08H,1FH,0F8H,10H,08H,1FH,0F8H,10H,08H,1FH,0F8H,00 H,00H,0DH,88H,2CH,0CCH,6CH,16H,64H,30H,07H,0E0H,00H,00HDB00H,00H,00H,00H,3FH,0FCH,21H,84H,01H,80H,01H,80H,01H,80H,01H,80H,01H,80H,01H,80 H,01H,80H,01H,80H,41H,82H,7FH,0FEH,00H,00H,00H,00HDB00H,00H,0CH,00H,7DH,0FCH,19H,84H,19H,84H,7FH,0FCH,7CH,00H,19H,0FCH,3DH,0FEH, 3EH,20H,79H,0FCH,59H,0FCH,18H,20H,19H,0FEH,1BH,0FEH,00H,00HDB00H,00H,00H,7CH,3FH,0F0H,03H,80H,06H,38H,1FH,0E0H,1FH,90H,07H,18H,3DH,0FCH,1F H,0FEH,00H,90H,1CH,98H,30H,8CH,63H,86H,03H,80H,00H,00HDB00H,00H,00H,0C0H,00H,0C0H,7EH,0FEH,06H,0FEH,25H,84H,35H,2CH,1CH,20H,18H,60H,1 CH,70H,16H,70H,36H,0D8H,60H,0CCH,63H,86H,03H,02H,00H,00HDB00H,00H,20H,80H,33H,0BEH,32H,26H,12H,26H,02H,26H,72H,26H,12H,26H,12H,26H,13H,0A 6H,17H,0ACH,12H,20H,10H,20H,3FH,0FEH,41H,0FEH,00H,00HDB00H,00H,08H,0C0H,19H,0FCH,3BH,0FCH,3EH,6CH,58H,60H,19H,68H,1BH,64H,1EH,0E2H,1 8H,0C0H,04H,88H,34H,0CCH,34H,16H,27H,0F0H,27H,0F0H,00H,00HDB00H,00H,00H,00H,04H,00H,0EH,00H,0EH,00H,0EH,00H,0EH,00H,0EH,00H,0EH,00H,04H,00 H,00H,00H,0EH,00H,0EH,00H,00H,00H,00H,00H,00H,00HEND。
忙了很久终于出来了,#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit G1=P1^7;sbit dlat=P1^6;sbit res=P1^5;uchar yid,h; //YID为移动计数器,H为行段计数器。
uint zimuo; //字模计数器uchar code hanzi[]; //汉字字模uchar BUFF[4]; //缓存void in_data(void); //调整数据void rxd_data(void); //发送数据void sbuf_out(); //16段扫描unsigned code sw[16]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f }; //16行段码*/void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void main(void){uchar i;yid=0;zimuo=0;while(1){while(yid<16) //数据移位。
{for(i=0;i<3;i++) //移动速度{sbuf_out();}yid++; //移动一步}yid=0;zimuo=zimuo+32; //后移一个字,if(zimuo>=256) //自摸中汉字数乘以32zimuo=0;}}void sbuf_out(){for(h=0;h<16;h++) //16行扫描{P1=sw[h];res=1;G1=1;in_data(); //调整数据rxd_data(); //串口发送数据dlat=1; //锁存一例dlat=0;G1=0;delay(1);//P1=0x7f; //关闭显示。
16×16点阵LED显示屏整个过程及C语言程序7.1功能要求设计一个室内用16×16点阵LED图文显示屏,要求在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形或文字应稳定、清晰无串扰。
图形或文字显示有静止、移入移出等显示方式。
7.2方案论证从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。
16×16的点阵共有256个发光二极管,显然单片机没有这么多端口,如果我们采用锁存器来扩展端口,按8位的锁存器来计算,16×16的点阵需要256/8=32个锁存器。
这个数字很庞大,因为我们仅仅是16×16的点阵,在实际应用中的显示屏往往要大的多,这样在锁存器上花的成本将是一个很庞大的数字。
因此在实际应用中的显示屏几乎都不采用这种设计,而采用另一种称为动态扫描的显示方法。
动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套列驱动器。
具体就16×16的点阵来说,我们把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第一行使其燃亮一定的时间,然后熄灭;再送出第二行的数据并锁存,然后选通第二行使其燃亮相同的时间,然后熄灭;……第十六行之后又重新燃亮第一行,这样反复轮回。
当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,我们就能看到显示屏上稳定的图形了。
采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。
显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。
显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。
Proteus仿真16*16LED点阵显示汉字显示程序:滚动程序:#include <reg52.h>#define uchar unsigned char#define uint unsigned intuchar count,i,j,t;uchar code table[]={0x09,0x00,0xFD,0x08,0x09,0x08,0x09,0x10,0x09,0x20,0x79,0x40,0x41,0x04,0x47, 0xFE,0x41,0x40,0x79,0x40,0x09,0x20,0x09,0x20,0x09,0x10,0x09,0x4E,0x51,0x84,0x21, 0x00,//张0x08,0x20,0x08,0x28,0x7F,0xFC,0x08,0x20,0x0F,0xE0,0x08,0x20,0x08,0x20,0x0F, 0xE0,0x01,0x04,0xFF,0xFE,0x01,0x00,0x03,0x80,0x05,0x60,0x19,0x1C,0x61,0x08,0x01, 0x00,//某0x08,0x20,0x08,0x28,0x7F,0xFC,0x08,0x20,0x0F,0xE0,0x08,0x20,0x08,0x20,0x0F, 0xE0,0x01,0x04,0xFF,0xFE,0x01,0x00,0x03,0x80,0x05,0x60,0x19,0x1C,0x61,0x08,0x01, 0x00,//某0x01,0x00,0x11,0x00,0x11,0x00,0x11,0x08,0x3F,0xFC,0x21,0x00,0x41,0x00,0x41, 0x00,0x81,0x10,0x3F,0xF8,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0xFF,0xFE,0x00, 0x00,//生0x00,0x10,0x1F,0xF8,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1F, 0xF0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10,0x00, 0x00,//日0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x88,0x5B,0xFC,0x54,0x88,0x50,0x88,0x90, 0x88,0x10,0x88,0x1F,0xFE,0x10,0x80,0x11,0x40,0x11,0x20,0x12,0x10,0x14,0x0E,0x18, 0x04,//快0x00,0x20,0x00,0xF0,0x1F,0x00,0x10,0x00,0x11,0x00,0x11,0x00,0x21,0x04,0x7F, 0xFE,0x01,0x00,0x01,0x00,0x09,0x20,0x09,0x10,0x11,0x08,0x21,0x0C,0x45,0x04,0x02, 0x00,//乐0x00,0x00,0x01,0x80,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x01, 0x80,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x03,0xC0,0x01,0x80,0x00,0x00,0x00, 0x00//!};uchar codetable1[]={0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd ,0xfe,0xff}; //列数组void delay(uint a){uint x,y;for(x=10;x>0;x--)for(y=a;y>0;y--);}void init(){TMOD=0X01;TH0=(65536-5000)/256;TL0=(65536-5000)%256;EA=1;ET0=1;TR0=1;}void main (){init();t=1; //控制滚动时长while(1){if(count==t){count=0;j++;if(j==112)j=0;}for(i=j;i<16+j;i++){P1=table1[i%16]; //列扫描,与横扫描顺序不能换P3=table[2*i]; //显示前8行P2=table[2*i+1]; //显示后8行delay(1); //延迟}}}void timer0()interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;count++;}移动程序:#include <reg52.h>#define uchar unsigned char#define uint unsigned intuchar count,i,j,t;uchar code table[]={0x09,0x00,0xFD,0x08,0x09,0x08,0x09,0x10,0x09,0x20,0x79,0x40,0x41,0x04,0x47, 0xFE,0x41,0x40,0x79,0x40,0x09,0x20,0x09,0x20,0x09,0x10,0x09,0x4E,0x51,0x84,0x21, 0x00,//张0x08,0x20,0x08,0x28,0x7F,0xFC,0x08,0x20,0x0F,0xE0,0x08,0x20,0x08,0x20,0x0F, 0xE0,0x01,0x04,0xFF,0xFE,0x01,0x00,0x03,0x80,0x05,0x60,0x19,0x1C,0x61,0x08,0x01, 0x00,//某0x08,0x20,0x08,0x28,0x7F,0xFC,0x08,0x20,0x0F,0xE0,0x08,0x20,0x08,0x20,0x0F, 0xE0,0x01,0x04,0xFF,0xFE,0x01,0x00,0x03,0x80,0x05,0x60,0x19,0x1C,0x61,0x08,0x01, 0x00,//某0x01,0x00,0x11,0x00,0x11,0x00,0x11,0x08,0x3F,0xFC,0x21,0x00,0x41,0x00,0x41, 0x00,0x81,0x10,0x3F,0xF8,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0xFF,0xFE,0x00, 0x00,//生0x00,0x10,0x1F,0xF8,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1F, 0xF0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10,0x00, 0x00,//日0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x88,0x5B,0xFC,0x54,0x88,0x50,0x88,0x90, 0x88,0x10,0x88,0x1F,0xFE,0x10,0x80,0x11,0x40,0x11,0x20,0x12,0x10,0x14,0x0E,0x18, 0x04,//快0x00,0x20,0x00,0xF0,0x1F,0x00,0x10,0x00,0x11,0x00,0x11,0x00,0x21,0x04,0x7F, 0xFE,0x01,0x00,0x01,0x00,0x09,0x20,0x09,0x10,0x11,0x08,0x21,0x0C,0x45,0x04,0x02, 0x00,//乐0x00,0x00,0x01,0x80,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x01, 0x80,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x03,0xC0,0x01,0x80,0x00,0x00,0x00, 0x00//!};uchar codetable1[]={0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd ,0xfe,0xff}; //列数组void delay(uint a){uint x,y;for(x=10;x>0;x--)for(y=a;y>0;y--);}void init(){TMOD=0X01;TH0=(65536-5000)/256;TL0=(65536-5000)%256;EA=1;ET0=1;TR0=1;}void main (){init();t=2; //控制变化时长while(1){if(count==t){count=0;j++;if(j>112)j=0;}for(i=0;i<16;i++){P1=table1[i%16]; //列扫描,与横扫描顺序不能换P3=table[2*i+2*j]; //显示前8行P2=table[2*i+1+2*j]; //显示后8行delay(1); //延迟}}}void timer0()interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;count++;}跳动显示:#include <reg52.h>#define uchar unsigned char#define uint unsigned intuchar count,i,j,t;uchar code table[]={0x09,0x00,0xFD,0x08,0x09,0x08,0x09,0x10,0x09,0x20,0x79,0x40,0x41,0x04,0x47, 0xFE,0x41,0x40,0x79,0x40,0x09,0x20,0x09,0x20,0x09,0x10,0x09,0x4E,0x51,0x84,0x21, 0x00,//张0x08,0x20,0x08,0x28,0x7F,0xFC,0x08,0x20,0x0F,0xE0,0x08,0x20,0x08,0x20,0x0F, 0xE0,0x01,0x04,0xFF,0xFE,0x01,0x00,0x03,0x80,0x05,0x60,0x19,0x1C,0x61,0x08,0x01, 0x00,//某0x08,0x20,0x08,0x28,0x7F,0xFC,0x08,0x20,0x0F,0xE0,0x08,0x20,0x08,0x20,0x0F, 0xE0,0x01,0x04,0xFF,0xFE,0x01,0x00,0x03,0x80,0x05,0x60,0x19,0x1C,0x61,0x08,0x01, 0x00,//某0x01,0x00,0x11,0x00,0x11,0x00,0x11,0x08,0x3F,0xFC,0x21,0x00,0x41,0x00,0x41, 0x00,0x81,0x10,0x3F,0xF8,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0xFF,0xFE,0x00, 0x00,//生0x00,0x10,0x1F,0xF8,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1F, 0xF0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10,0x00, 0x00,//日0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x88,0x5B,0xFC,0x54,0x88,0x50,0x88,0x90, 0x88,0x10,0x88,0x1F,0xFE,0x10,0x80,0x11,0x40,0x11,0x20,0x12,0x10,0x14,0x0E,0x18, 0x04,//快0x00,0x20,0x00,0xF0,0x1F,0x00,0x10,0x00,0x11,0x00,0x11,0x00,0x21,0x04,0x7F, 0xFE,0x01,0x00,0x01,0x00,0x09,0x20,0x09,0x10,0x11,0x08,0x21,0x0C,0x45,0x04,0x02, 0x00,//乐0x00,0x00,0x01,0x80,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x01, 0x80,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x03,0xC0,0x01,0x80,0x00,0x00,0x00, 0x00//!};uchar codetable1[]={0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd ,0xfe,0xff}; //列数组void delay(uint a){uint x,y;for(x=10;x>0;x--)for(y=a;y>0;y--);}void init(){TMOD=0X01;TH0=(65536-5000)/256;TL0=(65536-5000)%256;EA=1;ET0=1;TR0=1;}void main (){init();t=8; //控制滚动时长while(1){if(count==t){count=0;j+=16;if(j>128)j=0;}for(i=j;i<16+j;i++){P1=table1[i%16]; //列扫描,与横扫描顺序不能换P3=table[2*i]; //显示前8行P2=table[2*i+1]; //显示后8行delay(1); //延迟}}}void timer0()interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;count++;}4个4*4点阵构成16*16点阵Proteus中只有5×7和8×8等LED点阵,并没有16×16LED点阵,而在实际应用中,要良好地显示一个汉字,则至少需要16×16点阵。
实验报告实验名称: [16×16点阵显示实验] 姓名: []学号: [2011]指导教师: []实验时间: [2013年4月25日]信息与通信工程学院16×16点阵显示实验1实验要求任务1:将所给程序改正使结果为正显示;任务2:使显示四个字、八个字。
2实验原理2.1 LED显示器结构和原理1>8*8LED点阵的结构图1 8*8LED点阵结构图从图1中可以看出,8*8LED点阵共由64个发光二极管组成,每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置1高电平,且某一列置0低电平,则相应的发光二极管就亮;因此要用8*8LED点阵来显示一个字符或汉字,只需要根据字符或汉字图形中的线条或笔画,通过点亮多个发光二极管来勾勒出字符或汉字的线条或笔画就行了。
当要比较完美的显示一般的汉字,单个8*8LED点阵模块很难做到,因为LED的点数(也称为像素点)不够多,因此要显示汉字的话,需要多个8*8LED点阵拼合成一个显示屏。
假如用4个8*8LED点阵模块拼成16*16的点阵,即能满足一般汉字的显示。
但要显示信息量大的图形,则需要n个多个8*8LED点阵,拼装成一个大屏幕才行。
LED点阵显示器最大的特点是亮度高、功耗较低、寿命长、容易控制等,因此它的应用很广,常用在广场、车站、商业广告等室外的显示。
2>8*8LED点阵的封装和引脚规律64个发光二极管按照行共阳、列共阴4个一组的方式封装成一个模块,这样8*8LED 点阵模块就有8行、8列共16个引脚。
其实物图如图2,电路模块符号图如图3。
图2 8*8LED点阵实物图图3 8*8LED点阵符号图但8*8LED点阵的16个引脚并不是很有规律,千万不要想象成1~8个引脚是行,9~16个引脚是列。
而且不同产品的点阵外部引脚排列规律还可能不一样。
以下是NLB1388SRA 和LDM1388SRA两个型号点阵引脚对应行、列的关系表:行号H0 H1 H2 H3 H4 H5 H6 H7引脚号9 14 8 12 1 7 2 5列号L0 L1 L2 L3 L4 L5 L6 L7引脚号13 3 4 10 6 11 15 16 假如你买到一块新的8*8LED点阵,又没有关于它的相关资料,那你只有自己用万用表或通过VCC电源串接一个510欧姆的电阻来检测了。
等等…………….源程序#include<reg52.h> sbit lh8=P3^6;sbit ll8=P3^7;#define uint unsigned intunsigned char code table[]={/*-- 文字: 宇 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x01,0x00,0x00,0x80,0x3F,0xFE,0x20,0x04,0x40,0x08,0x1F,0xF0,0x00,0x80,0x00,0x 80,0x7F,0xFC,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x02,0x80,0x01,0x 00,/*-- 文字: 洋 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x22,0x10,0x11,0x10,0x11,0x20,0x07,0xFC,0x80,0x40,0x50,0x40,0x57,0xFC,0x10,0x 40,0x20,0x40,0x2F,0xFE,0xE0,0x40,0x20,0x40,0x20,0x40,0x20,0x40,0x20,0x40,0x20,0x 40,/*-- 文字: 张 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x80,0xF8,0x88,0x08,0x88,0x08,0x90,0x78,0xA0,0x40,0xC0,0x40,0x80,0x43,0x FE,0xF8,0xA0,0x48,0xA0,0x08,0x90,0x08,0x90,0x08,0x88,0x08,0xA4,0x29,0xC4,0x10,0 x80,/*-- 文字: 张 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x80,0xF8,0x88,0x08,0x8C,0x08,0x90,0x78,0xA0,0x40,0xC0,0x40,0x80,0x43,0x FE,0xF8,0xA0,0x48,0xA0,0x08,0x90,0x08,0x90,0x08,0x88,0x08,0xA6,0x29,0xC4,0x10,0 x80,/*-- 文字: 石 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x00,0xFF,0xFE,0x02,0x00,0x02,0x00,0x04,0x00,0x04,0x00,0x07,0xF8,0x0C,0x 08,0x0C,0x08,0x14,0x08,0x24,0x08,0x44,0x08,0x84,0x08,0x07,0xF8,0x04,0x08,0x00,0x 00,/*-- 文字: 小 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x09,0x40,0x0D,0x20,0x19,0x10,0x11,0x 18,0x21,0x0C,0x41,0x06,0x81,0x04,0x01,0x00,0x01,0x00,0x01,0x00,0x05,0x00,0x02,0x 00,/*-- 文字: 你 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x09,0x00,0x09,0x80,0x11,0x04,0x13,0xFE,0x22,0x04,0x34,0x48,0x68,0x40,0xA2,0x 50,0x23,0x48,0x22,0x48,0x24,0x44,0x24,0x46,0x28,0x44,0x21,0x40,0x20,0x80,0x00,0x 00,/*-- 文字: 强 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x00,0x79,0xF8,0x09,0x08,0x09,0x08,0x79,0xF8,0x40,0x40,0x43,0xFC,0x42,0x 44,0x7A,0x44,0x0A,0x44,0x0B,0xFC,0x08,0x40,0x08,0x48,0x08,0x44,0x28,0x7E,0x13,0 xC4,/*-- 文字: 好 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x10,0x00,0x11,0xFC,0x10,0x08,0x10,0x10,0xFC,0x20,0x24,0x20,0x24,0x20,0x27,0x FE,0x44,0x20,0x64,0x20,0x18,0x20,0x08,0x20,0x14,0x20,0x26,0x20,0x44,0xA0,0x80,0x 40,//是0x00,0x00,0x0F,0xF0,0x08,0x10,0x0F,0xF0,0x08,0x10,0x0F,0xF0,0x00,0x00,0xFF,0x FE,0x01,0x00,0x09,0x00,0x09,0xF8,0x09,0x00,0x15,0x00,0x23,0x00,0x40,0xFE,0x00,0x 00,/*-- 文字: 快 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x20,0x80,0x20,0x80,0x20,0x80,0x37,0xF8,0xA8,0x88,0xA8,0x88,0xA0,0x88,0x2F,0x FE,0x20,0x80,0x21,0x40,0x21,0x40,0x21,0x20,0x22,0x10,0x22,0x18,0x24,0x0E,0x28,0x 04,/*-- 文字: 乐 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x30,0x01,0xF8,0x1F,0x00,0x10,0x80,0x10,0x80,0x10,0x80,0x3F,0xFC,0x10,0x 80,0x08,0x80,0x0C,0x90,0x18,0x88,0x30,0x8C,0x24,0x86,0x42,0x84,0x01,0x00,0x00,0x 00,/*-- 文字: 撒 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x25,0x10,0x25,0x18,0x2F,0xD0,0xF5,0x10,0x25,0x1E,0x2F,0xF4,0x20,0x24,0x37,0x E4,0x64,0x94,0xA7,0x94,0x24,0x88,0x27,0x88,0x24,0x94,0x24,0xA6,0xA5,0xC4,0x44,0 x80,/*-- 文字: 飞 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x00,0xFF,0xC0,0x00,0x40,0x00,0x48,0x00,0x50,0x00,0x60,0x00,0x60,0x00,0x 50,0x00,0x48,0x00,0x40,0x00,0x20,0x00,0x22,0x00,0x12,0x00,0x0A,0x00,0x06,0x00,0x 00,/*-- 文字: 机 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x10,0x00,0x10,0xF8,0x10,0x88,0xFE,0x88,0x10,0x88,0x10,0x88,0x38,0x88,0x34,0x 88,0x54,0x88,0x50,0x88,0x91,0x08,0x11,0x0A,0x12,0x0A,0x12,0x0A,0x14,0x06,0x10,0x 00,/*-- 文字: 上 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0xF8,0x01,0x 00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0x7F,0xFE,0x00,0x 00,/*-- 文字: 大 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x01,0x00,0x02,0x 80,0x02,0x80,0x02,0x40,0x04,0x40,0x04,0x20,0x08,0x10,0x10,0x18,0x20,0x0E,0x40,0x 04,/*-- 文字: 举 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x24,0x10,0x12,0x18,0x09,0x10,0x09,0x20,0xFF,0xFE,0x04,0x40,0x09,0x20,0x11,0x 10,0x2F,0xE8,0x41,0x06,0x81,0x00,0x3F,0xF8,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x 00,/*-- 文字: 发 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x02,0x00,0x22,0x40,0x22,0x30,0x22,0x10,0x7F,0xFE,0x24,0x00,0x04,0x00,0x07,0x E0,0x0C,0x20,0x0A,0x20,0x0A,0x20,0x11,0x40,0x20,0x80,0x41,0x60,0x86,0x1C,0x18,0 x08,/*-- 文字: 力 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x7F,0xFC,0x01,0x04,0x01,0x04,0x01,0x 04,0x01,0x04,0x02,0x04,0x02,0x04,0x04,0x04,0x04,0x04,0x08,0x04,0x10,0x28,0x20,0x 10,/*-- 文字: 开 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x00,0x7F,0xFE,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0xFF,0xFE,0x04,0x 20,0x04,0x20,0x04,0x20,0x08,0x20,0x08,0x20,0x10,0x20,0x20,0x20,0x40,0x20,0x00,0x 00,/*-- 文字: 始 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x10,0x20,0x18,0x30,0x10,0x20,0x10,0x48,0xFC,0x84,0x25,0xFE,0x24,0x84,0x44,0x 00,0x44,0xFC,0x28,0x84,0x18,0x84,0x14,0x84,0x22,0x84,0x42,0xFC,0x80,0x84,0x00,0x 00,/*-- 文字: 了 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x00,0x7F,0xFC,0x00,0x18,0x00,0x60,0x01,0x80,0x01,0x00,0x01,0x00,0x01,0x 00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x05,0x00,0x02,0x 00,/*-- 文字: 大 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x01,0x00,0x02,0x 80,0x02,0x80,0x02,0x40,0x04,0x40,0x04,0x20,0x08,0x10,0x10,0x18,0x20,0x0E,0x40,0x 04,/*-- 文字: 解 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x20,0x00,0x21,0xFC,0x7C,0x44,0x88,0x44,0x7E,0x44,0x4A,0x9C,0x7F,0x08,0x4A,0 x90,0x4A,0xFE,0x7F,0x10,0x4A,0x10,0x4B,0xFE,0x4A,0x10,0x42,0x10,0x4A,0x10,0x84,0 x10,/*-- 文字: 放 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x10,0x40,0x08,0x60,0x08,0x40,0xFE,0xFE,0x20,0x84,0x20,0x84,0x3D,0x44,0x26,0x 48,0x24,0x28,0x24,0x30,0x24,0x10,0x24,0x30,0x44,0x48,0x44,0x8E,0x95,0x04,0x08,0x 00,/*-- 文字: 昆 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x00,0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x20,0x40,0x20,0x 40,0x20,0x44,0x3E,0x4C,0x20,0x70,0x20,0x40,0x26,0x42,0x38,0x42,0x20,0x3E,0x00,0x 00,/*-- 文字: 仑 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x01,0x00,0x01,0x00,0x02,0x80,0x04,0x40,0x08,0x30,0x10,0x1C,0x68,0x08,0x08,0x 40,0x08,0xE0,0x09,0x80,0x0E,0x00,0x08,0x08,0x08,0x08,0x08,0x0C,0x07,0xF8,0x00,0x 00,/*-- 文字: 山 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x21,0x04,0x21,0x04,0x21,0x 04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x7F,0xFC,0x20,0x04,0x00,0x 00,/*-- 文字: 搭 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x21,0x10,0x21,0x10,0x27,0xFE,0xF9,0x10,0x21,0x50,0x20,0x40,0x28,0xA0,0x31,0x 10,0xE3,0xEE,0x2C,0x00,0x23,0xF8,0x22,0x08,0x22,0x08,0x22,0x08,0xA3,0xF8,0x42,0x 08,/*-- 文字: 街 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x11,0x00,0x19,0x1E,0x21,0x00,0x47,0xC0,0x99,0x00,0x11,0x1E,0x2F,0xE8,0x60,0x 08,0xA1,0x08,0x27,0xC8,0x21,0x08,0x21,0x08,0x21,0xC8,0x27,0x28,0x20,0x10,0x00,0x 00,/*-- 文字: 坊 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x80,0x10,0x60,0x10,0x20,0x17,0xFE,0x10,0x80,0xFC,0x80,0x10,0x80,0x10,0x FC,0x10,0x84,0x16,0x84,0x18,0x84,0xE1,0x04,0x41,0x04,0x02,0x04,0x04,0x28,0x08,0x 10,/*-- 文字: 拉 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x10,0x80,0x10,0x60,0x10,0x20,0x11,0xFE,0xFC,0x00,0x10,0x08,0x15,0x0C,0x18,0x 88,0x30,0x88,0xD0,0x48,0x10,0x50,0x10,0x50,0x10,0x50,0x17,0xFE,0x50,0x00,0x20,0x 00,/*-- 文字: 萨 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x04,0x40,0x04,0x40,0xFF,0xFE,0x04,0x40,0x04,0x40,0x78,0x20,0x4B,0xFE,0x50,0x 88,0x60,0x50,0x53,0xFE,0x4A,0x00,0x6A,0x00,0x52,0x00,0x44,0x00,0x44,0x00,0x48,0x 00,/*-- 文字: 解 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x20,0x00,0x21,0xFC,0x7C,0x44,0x88,0x44,0x7E,0x44,0x4A,0x9C,0x7F,0x08,0x4A,0 x90,0x4A,0xFE,0x7F,0x10,0x4A,0x10,0x4B,0xFE,0x4A,0x10,0x42,0x10,0x4A,0x10,0x84,0 x10,/*-- 文字: 放 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x10,0x40,0x08,0x60,0x08,0x40,0xFE,0xFE,0x20,0x84,0x20,0x84,0x3D,0x44,0x26,0x 48,0x24,0x28,0x24,0x30,0x24,0x10,0x24,0x30,0x44,0x48,0x44,0x8E,0x95,0x04,0x08,0x 00,/*-- 文字: 路 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x80,0x78,0x80,0x48,0xFC,0x49,0x88,0x4A,0x48,0x7C,0x50,0x50,0x20,0x10,0x 58,0x5D,0x86,0x53,0xFC,0x51,0x08,0x51,0x08,0x5D,0x08,0xE1,0xF8,0x01,0x08,0x00,0 x00,/*-- 文字: s --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x60,0x00,0x60,0x 00,0x3C,0x00,0x06,0x00,0x06,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x 00,/*-- 文字: a --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x06,0x00,0x06,0x 00,0x3E,0x00,0x66,0x00,0x66,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x 00,/*-- 文字: d --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x3E,0x00,0x66,0x00,0x66,0x 00,0x66,0x00,0x66,0x00,0x66,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x 00,/*-- 文字: 豆 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x00,0x7F,0xFE,0x00,0x00,0x00,0x00,0x1F,0xF0,0x10,0x10,0x10,0x10,0x10,0x 10,0x1F,0xF0,0x00,0x20,0x10,0x30,0x08,0x20,0x04,0x40,0xFF,0xFE,0x00,0x00,0x00,0x 00,/*-- 文字: 浆 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x08,0x80,0x48,0x80,0x28,0xFC,0x29,0x08,0x0A,0x90,0x28,0x60,0xC8,0x40,0x09,0x 80,0x01,0x18,0x7D,0xA0,0x05,0x40,0x09,0x20,0x11,0x18,0x61,0x0E,0x05,0x04,0x02,0 x00,/*-- 文字: 粉 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x10,0x10,0x10,0x98,0x94,0x90,0x54,0x90,0x59,0x08,0xFD,0x08,0x32,0x06,0x37,0x FC,0x58,0x88,0x54,0x88,0x50,0x88,0x90,0x88,0x11,0x08,0x11,0x08,0x12,0x50,0x14,0x 20,/*-- 文字: 蓝 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x08,0x40,0x08,0x40,0xFF,0xFE,0x08,0x40,0x04,0x80,0x24,0xFC,0x24,0xA0,0x25,0x 10,0x26,0x10,0x04,0x00,0x1F,0xF0,0x12,0x90,0x12,0x90,0x12,0x90,0xFF,0xFE,0x00,0x 00,/*-- 文字: 色 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x04,0x00,0x04,0x00,0x07,0xF0,0x08,0x20,0x10,0x40,0x3F,0xF0,0x51,0x10,0x11,0x 10,0x11,0x10,0x1F,0xF0,0x10,0x00,0x10,0x04,0x10,0x04,0x10,0x04,0x0F,0xFC,0x00,0x 00,/*-- 文字: 大 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x01,0x00,0x02,0x 80,0x02,0x80,0x02,0x40,0x04,0x40,0x04,0x20,0x08,0x10,0x10,0x18,0x20,0x0E,0x40,0x 04,/*-- 文字: 飞 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x00,0xFF,0xC0,0x00,0x40,0x00,0x48,0x00,0x50,0x00,0x60,0x00,0x60,0x00,0x 50,0x00,0x48,0x00,0x40,0x00,0x20,0x00,0x22,0x00,0x12,0x00,0x0A,0x00,0x06,0x00,0x 00,/*-- 文字: 机 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x10,0x00,0x10,0xF8,0x10,0x88,0xFE,0x88,0x10,0x88,0x10,0x88,0x38,0x88,0x34,0x 88,0x54,0x88,0x50,0x88,0x91,0x08,0x11,0x0A,0x12,0x0A,0x12,0x0A,0x14,0x06,0x10,0x 00,/*-- 文字: 数 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x08,0x20,0x49,0x30,0x2A,0x20,0x1C,0x20,0xFF,0x7E,0x1C,0x44,0x2B,0x44,0x48,0x C4,0x08,0x28,0xFF,0x28,0x12,0x10,0x34,0x10,0x0C,0x28,0x32,0x4E,0xC0,0x84,0x00,0x 00,/*-- 文字: 量 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x00,0x00,0xFF,0xFE,0x11,0x 10,0x1F,0xF0,0x11,0x10,0x1F,0xF0,0x01,0x00,0x1F,0xF8,0x01,0x00,0xFF,0xFE,0x00,0x 00,/*-- 文字: 大 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x01,0x00,0x02,0x 80,0x02,0x80,0x02,0x40,0x04,0x40,0x04,0x20,0x08,0x10,0x10,0x18,0x20,0x0E,0x40,0x 04,/*-- 文字: 幅 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x20,0x00,0x23,0xFE,0x20,0x00,0xF9,0xFC,0xA9,0x04,0xA9,0x04,0xA9,0xFC,0xA8,0 x00,0xAB,0xFE,0xAA,0x22,0xAB,0xFE,0xBA,0x22,0x22,0x22,0x23,0xFE,0x22,0x02,0x20,0 x00,/*-- 文字: 反 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x78,0x3F,0x80,0x20,0x00,0x20,0x00,0x3F,0xF0,0x28,0x10,0x28,0x10,0x24,0x 20,0x24,0x20,0x22,0x40,0x21,0x80,0x21,0x80,0x42,0x60,0x4C,0x1C,0xB0,0x08,0x00,0x 00,/*-- 文字: 抗 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x10,0x40,0x10,0x20,0x10,0x20,0xFD,0xFE,0x10,0x00,0x10,0x00,0x14,0xF0,0x18,0x 90,0x30,0x90,0xD0,0x90,0x10,0x90,0x11,0x10,0x11,0x12,0x52,0x12,0x24,0x0E,0x00,0x 00,/*-- 文字: 拉 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x10,0x80,0x10,0x60,0x10,0x20,0x11,0xFE,0xFC,0x00,0x10,0x08,0x15,0x0C,0x18,0x 88,0x30,0x88,0xD0,0x48,0x10,0x50,0x10,0x50,0x10,0x50,0x17,0xFE,0x50,0x00,0x20,0x 00,/*-- 文字: 萨 --*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --*/0x04,0x40,0x04,0x40,0xFF,0xFE,0x04,0x40,0x04,0x40,0x78,0x20,0x4B,0xFE,0x50,0x 88,0x60,0x50,0x53,0xFE,0x4A,0x00,0x6A,0x00,0x52,0x00,0x44,0x00,0x44,0x00,0x48,0x 00};void delay(uint);void main(){uint zz=0,j=0;while(1){uint i,m=50;ll8=1;lh8=1;while(m--){ for(i=0;i<16;i++){P1=i;P2=table[j];lh8=0;lh8=1;P2=table[++j];ll8=0;//#pragma asm//nop//#pragma endasmll8=1;j++;delay(2);} j=zz;}zz+=32;j=zz;if(j==1792){j=0;zz=0;}}}void delay(uint a){uint x,y;for(x=a;x>0;x--)for(y=60;y>0;y--); }。
51单片机的接法是:一块16X16的点阵,扫描显示方法是从左向右,列向扫描,P1和P3口作为控制口,P0和P2口为数据传送口我的扣扣:伍四四久五三久七四/***************************************16X16点阵实现左滚动显示滚动内容“欢迎学习51单片机!”****************************************/#define uchar unsigned char#define uint unsigned intsfr p0=0x80;sfr p2=0xa0;sfr p1=0x90;sfr p3=0xb0;//字幕内容:欢迎学习51单片机!uchar code tab1[]={0xFB,0xEF,0xDB,0xF7,0xBB,0xF9,0x7B,0xFE,0x9B,0x7D,0x63,0xB3,0xBF,0xDF,0xCF ,0xE7,0xF0,0xF9,0x37,0xFE,0xF7,0xF9,0xF7,0xE7,0xD7,0xDF,0xE7,0xBF,0xFF,0x7F,0xFF,0xFF,0xBF,0xFF,0xBF,0xBF,0xBD,0xDF,0x33,0xE0,0xFF,0xDF,0xFF,0xBF,0x03,0xB0,0xFB,0xBB,0xFD,0xBD,0xFF,0xBF,0x03,0x80,0xFB,0xBD,0xFB,0xBB,0x03,0xBC,0xFF,0xBF,0xFF,0xFF,0xBF,0xFB,0xCF,0xFB,0xEE,0xFB,0x69,0xFB,0x6F,0xFB,0x6F,0xBB,0x6E,0x7B,0x69,0x81,0x6F,0xF9,0x6F,0xFA,0x67,0xFB,0xEB,0xFB,0xEC,0xFB,0xAF,0xFB,0xCF,0xFB,0xFF,0xFF,0xFF,0xFF,0xFD,0xF7,0xFD,0xE7,0xFD,0xF7,0xED,0xFB,0xDD,0xFB,0x3D,0xFB,0xFD,0xFD,0xFD,0xFD,0xFD,0xBE,0xFD,0x7E,0xFD,0xBF,0x01,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0xE6,0xF7,0xDE,0x77,0xDF,0x77,0xDF,0xF7,0xEE,0xF7,0xF1,0xFF,0xFF,0xFF,0xFF,0xEF,0xDF,0xEF,0xDF,0x07,0xC0,0xFF,0xDF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEF,0xFF,0xEF,0x07,0xEC,0xB6,0xED,0xB5,0xED,0xB3,0xED,0xB7,0xED,0x07,0x00,0xB7,0xED,0xB3,0xED,0xB5,0xED,0xB6,0xED,0x07,0xEC,0xFF,0xEF,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xFF,0x9F,0x01,0xE0,0xDF,0xFD,0xDF,0xFD,0xDF,0xFD,0xDF,0xFD,0xDF,0xFD,0xC0,0xFD,0xDF,0x01,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEF,0xFB,0xEF,0xFC,0x2F,0xFF,0x00,0x00,0x6F,0xFF,0xEF,0x7C,0xFF,0x9F,0x01,0xE0,0xFD,0xFF,0xFD,0xFF,0xFD,0xFF,0x01,0xC0,0xFF,0xBF,0xFF,0xBF,0xFF,0x87,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0xCC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEF,0xDF,0xEF,0xDF,0x07,0xC0,0xFF,0xDF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xE7,0xF7,0xDF,0x77,0xDF,0x77,0xDF,0xB7,0xEE,0xCF,0xF1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0xE0,0x77,0xF7,0x77,0xF7,0x77,0xF7,0x77,0xF7,0x00,0x80,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x07,0x60,0xFF,0x7F,0xFF,0x0F,0xFF,0xFF,0xFF,0xFE,0x7F,0xFF,0x9F,0xFF,0x07,0x00,0xF8,0xFF,0xFF,0xFF,0xFB,0xFF,0xDB,0x06,0xDB,0xB6,0xDA,0xB6,0xD9,0xB6,0xDB,0xB6,0xDB,0xB6,0xDB,0x06,0xFB,0xFF,0xFF,0xFF };//定义控制位数据,送1为显示uchar code tabctl[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x8 0};delay(uint x){uint i;while(x--)for(i=0;i<12;i++);}main(){uint m=0,l=0,n=0,z=10;while(1) //显示要重复进行{for(n=0;n<384;n++){z=10;while(z--){m=n;for(l=0;l<16;l++){p0=tab1[m];p2=tab1[m+1];if(l<8){p1=tabctl[l];delay(1);p1=0x0;}else{p3=tabctl[l];delay(1);p3=0x0;}m=m+2;if(m==384)m=0;}}n++;}}}/* 动态显示一次,如果要一直显示,加入死循环for(m=0;m<32;m++){p0=tab1[m];p2=tab1[m+1];if(l<8){p1=tabctl[l];delay(1);p1=0x0;}else{p3=tabctl[l];delay(1);p3=0x0;}l++;m=m+1;}l=0;动态显示一次,如果要一直显示,加入死循环*/ /**********************可以实现左移for(n=0;n<16;n++){z=130;while(z--){l=n;for(m=0;m<32;m++){p0=tab1[m];p2=tab1[m+1];if(l<8){p1=tabctl[l];delay(1);p1=0x0;}else{p3=tabctl[l];delay(1);p3=0x0;}l++;if(l==16)l=0;m=m+1;}}}************************************/。
邢台职业技术学校Xingtai Polytechnic Institute 毕业设计(论文)题目16×16点阵LED电子显示屏的设计班级应电081姓名杨艳德指导教师唐俊英16×16点阵LED电子显示屏的设计目录摘要 (3)关键词 (3)前言 (4)1.背景介绍 (5)1.1 LED及LED显示屏 (5)1.2 MCS-51系列单片机简介 (6)1.2.1 MCS-51系列单片机及其特点 (6)1.2.2 单片机的发展历史简介 (6)3.功能要求 (7)4.方案实现 (7)4.1 系统硬件电路的设计 (8)4.1.1单片机系统及外围电路 (9)4.1.2列驱动电路 (9)4.2.系统程序的设计 (11)4.2.1显示驱动程序 (11)4.2.2系统主程序 (12)5性能分析 (19)5.1 性能分析 (19)总结 (20)摘要LED点阵显示屏作为一种新兴的显示器件,是由多个独立的LED发光二极管封装而成. LED点阵显示屏可以显示数字或符号, 通常用来显示时间、速度、系统状态等。
文章给出了一种基于MCS-51单片机的16×16 点阵LED显示屏的设计方案。
包括系统具体的硬件设计方案,软件流程图和部分汇编语言程序等方面。
在负载范围内, 只需通过简单的级联就可以对显示屏进行扩展,是一种成本低廉的图文显示方案。
关键词:MCS-51;LED;单片机前言LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。
在实际应用中的显示屏由于成本和可靠性的因素常采用一种称为动态扫描的显示方法。
本文设计的是一个室内用16x16的点阵LED图文显示屏,图形或文字显示有静止、移入移出等显示方式。
LED显示屏分为数码显示屏、图文显示屏和视频显示屏,均由LED矩阵块组成。
LED数码显示屏的显示器件为7段码数码管,适于制作时钟屏、利率屏等,显示数字的电子显示屏。
//电路连接为:P1.0-P1.3连接4线-16线译码器控制每一列的扫描,//P2、P0口分别控制从上至下的16行//汉字取码方式为从上之下从左到右#include<reg52.h>void delayms(unsigned int xms);void main(){int a,ab; //用于半屏扫描unsigned int c=0;//c作为ziku数组的计数器int d=0,e=0;//d作为0~15竖屏扫描变量,一个字扫描e遍int f=0; //汉字计数器////////////////////////////////////////////////////////////////////////汉字字模库unsigned char code hzdot[1632] = {/* C2020 */0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*we C7765 */0x80,0x0F,0x80,0x30,0x00,0x0C,0x80,0x03,0x00,0x0C,0x80,0x30,0x80,0x0F,0x80,0x00, 0x00,0x00,0x00,0x1F,0x80,0x22,0x80,0x22,0x80,0x22,0x80,0x22,0x00,0x13,0x00,0x00,/* d C2064 */0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x0E,0x00,0x11,0x80,0x20,0x80,0x20,0x88,0x10,0xF8,0x3F,0x00,0x20,/*id C6964 */0x00,0x00,0x80,0x20,0x98,0x20,0x98,0x3F,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x0E,0x00,0x11,0x80,0x20,0x80,0x20,0x88,0x10,0xF8,0x3F,0x00,0x20,/*n' C6E27 */0x80,0x20,0x80,0x3F,0x00,0x21,0x80,0x00,0x80,0x00,0x80,0x20,0x00,0x3F,0x00,0x20, 0x10,0x00,0x16,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*t C7420 */0x00,0x00,0x80,0x00,0x80,0x00,0xE0,0x1F,0x80,0x20,0x80,0x20,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*kn C6B6E */0x08,0x20,0xF8,0x3F,0x00,0x24,0x00,0x02,0x80,0x2D,0x80,0x30,0x80,0x20,0x00,0x00, 0x80,0x20,0x80,0x3F,0x00,0x21,0x80,0x00,0x80,0x00,0x80,0x20,0x00,0x3F,0x00,0x20,/*ow C6F77 */0x00,0x00,0x00,0x1F,0x80,0x20,0x80,0x20,0x80,0x20,0x80,0x20,0x00,0x1F,0x00,0x00,0x80,0x0F,0x80,0x30,0x00,0x0C,0x80,0x03,0x00,0x0C,0x80,0x30,0x80,0x0F,0x80,0x00,/* m C206D */0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x80,0x20,0x80,0x3F,0x80,0x20,0x80,0x00,0x80,0x3F,0x80,0x20,0x80,0x00,0x00,0x3F,/*uc C7563 */0x80,0x00,0x80,0x1F,0x00,0x20,0x00,0x20,0x00,0x20,0x80,0x10,0x80,0x3F,0x00,0x20, 0x00,0x00,0x00,0x0E,0x00,0x11,0x80,0x20,0x80,0x20,0x80,0x20,0x00,0x11,0x00,0x00,/*h C6820 */0x08,0x20,0xF8,0x3F,0x00,0x21,0x80,0x00,0x80,0x00,0x80,0x20,0x00,0x3F,0x00,0x20, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*ab C6162 */0x00,0x00,0x00,0x19,0x80,0x24,0x80,0x22,0x80,0x22,0x80,0x22,0x00,0x3F,0x00,0x20, 0x08,0x00,0xF8,0x3F,0x00,0x11,0x80,0x20,0x80,0x20,0x00,0x11,0x00,0x0E,0x00,0x00,/*ou C6F75 */0x00,0x00,0x00,0x1F,0x80,0x20,0x80,0x20,0x80,0x20,0x80,0x20,0x00,0x1F,0x00,0x00, 0x80,0x00,0x80,0x1F,0x00,0x20,0x00,0x20,0x00,0x20,0x80,0x10,0x80,0x3F,0x00,0x20,/*t C7420 */0x00,0x00,0x80,0x00,0x80,0x00,0xE0,0x1F,0x80,0x20,0x80,0x20,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*ea C6561 */0x00,0x00,0x00,0x1F,0x80,0x22,0x80,0x22,0x80,0x22,0x80,0x22,0x00,0x13,0x00,0x00, 0x00,0x00,0x00,0x19,0x80,0x24,0x80,0x22,0x80,0x22,0x80,0x22,0x00,0x3F,0x00,0x20,/*ch C6368 */0x00,0x00,0x00,0x0E,0x00,0x11,0x80,0x20,0x80,0x20,0x80,0x20,0x00,0x11,0x00,0x00, 0x08,0x20,0xF8,0x3F,0x00,0x21,0x80,0x00,0x80,0x00,0x80,0x20,0x00,0x3F,0x00,0x20,/* o C206F */0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x1F,0x80,0x20,0x80,0x20,0x80,0x20,0x80,0x20,0x00,0x1F,0x00,0x00,/*th C7468 */0x00,0x00,0x80,0x00,0x80,0x00,0xE0,0x1F,0x80,0x20,0x80,0x20,0x00,0x00,0x00,0x00, 0x08,0x20,0xF8,0x3F,0x00,0x21,0x80,0x00,0x80,0x00,0x80,0x20,0x00,0x3F,0x00,0x20,/*er C6572 */0x00,0x00,0x00,0x1F,0x80,0x22,0x80,0x22,0x80,0x22,0x80,0x22,0x00,0x13,0x00,0x00,/* 2 C2032 */0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x70,0x30,0x08,0x28,0x08,0x24,0x08,0x22,0x88,0x21,0x70,0x30,0x00,0x00,/*0y C3079 */0x00,0x00,0xE0,0x0F,0x10,0x10,0x08,0x20,0x08,0x20,0x10,0x10,0xE0,0x0F,0x00,0x00, 0x80,0x80,0x80,0x81,0x80,0x8E,0x00,0x70,0x00,0x18,0x80,0x06,0x80,0x01,0x80,0x00,/*ea C6561 */0x00,0x00,0x00,0x1F,0x80,0x22,0x80,0x22,0x80,0x22,0x80,0x22,0x00,0x13,0x00,0x00, 0x00,0x00,0x00,0x19,0x80,0x24,0x80,0x22,0x80,0x22,0x80,0x22,0x00,0x3F,0x00,0x20,/*rs C7273 */0x80,0x20,0x80,0x20,0x80,0x3F,0x00,0x21,0x80,0x20,0x80,0x00,0x80,0x01,0x00,0x00, 0x00,0x00,0x00,0x33,0x80,0x24,0x80,0x24,0x80,0x24,0x80,0x24,0x80,0x19,0x00,0x00,/* a C2061 */0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x19,0x80,0x24,0x80,0x22,0x80,0x22,0x80,0x22,0x00,0x3F,0x00,0x20,/*go C676F */0x00,0x00,0x00,0x6B,0x80,0x94,0x80,0x94,0x80,0x94,0x80,0x93,0x80,0x60,0x00,0x00, 0x00,0x00,0x00,0x1F,0x80,0x20,0x80,0x20,0x80,0x20,0x80,0x20,0x00,0x1F,0x00,0x00,/*.w C2E77 */0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x80,0x0F,0x80,0x30,0x00,0x0C,0x80,0x03,0x00,0x0C,0x80,0x30,0x80,0x0F,0x80,0x00,/*e C6520 */0x00,0x00,0x00,0x1F,0x80,0x22,0x80,0x22,0x80,0x22,0x80,0x22,0x00,0x13,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*we C7765 */0x80,0x0F,0x80,0x30,0x00,0x0C,0x80,0x03,0x00,0x0C,0x80,0x30,0x80,0x0F,0x80,0x00, 0x00,0x00,0x00,0x1F,0x80,0x22,0x80,0x22,0x80,0x22,0x80,0x22,0x00,0x13,0x00,0x00,/*re C7265 */0x80,0x20,0x80,0x20,0x80,0x3F,0x00,0x21,0x80,0x20,0x80,0x00,0x80,0x01,0x00,0x00, 0x00,0x00,0x00,0x1F,0x80,0x22,0x80,0x22,0x80,0x22,0x80,0x22,0x00,0x13,0x00,0x00,/* g C2067 */0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*ui C7569 */0x80,0x00,0x80,0x1F,0x00,0x20,0x00,0x20,0x00,0x20,0x80,0x10,0x80,0x3F,0x00,0x20, 0x00,0x00,0x80,0x20,0x98,0x20,0x98,0x3F,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,/*de C6465 */0x00,0x00,0x00,0x0E,0x00,0x11,0x80,0x20,0x80,0x20,0x88,0x10,0xF8,0x3F,0x00,0x20, 0x00,0x00,0x00,0x1F,0x80,0x22,0x80,0x22,0x80,0x22,0x80,0x22,0x00,0x13,0x00,0x00,/*d C6420 */0x00,0x00,0x00,0x0E,0x00,0x11,0x80,0x20,0x80,0x20,0x88,0x10,0xF8,0x3F,0x00,0x20, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*by C6279 */0x08,0x00,0xF8,0x3F,0x00,0x11,0x80,0x20,0x80,0x20,0x00,0x11,0x00,0x0E,0x00,0x00, 0x80,0x80,0x80,0x81,0x80,0x8E,0x00,0x70,0x00,0x18,0x80,0x06,0x80,0x01,0x80,0x00,/* o C206F */0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x1F,0x80,0x20,0x80,0x20,0x80,0x20,0x80,0x20,0x00,0x1F,0x00,0x00,/*ur C7572 */0x80,0x00,0x80,0x1F,0x00,0x20,0x00,0x20,0x00,0x20,0x80,0x10,0x80,0x3F,0x00,0x20, 0x80,0x20,0x80,0x20,0x80,0x3F,0x00,0x21,0x80,0x20,0x80,0x00,0x80,0x01,0x00,0x00,/* i C2069 */0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x80,0x20,0x98,0x20,0x98,0x3F,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,/*nt C6E74 */0x80,0x20,0x80,0x3F,0x00,0x21,0x80,0x00,0x80,0x00,0x80,0x20,0x00,0x3F,0x00,0x20, 0x00,0x00,0x80,0x00,0x80,0x00,0xE0,0x1F,0x80,0x20,0x80,0x20,0x00,0x00,0x00,0x00,/*ui C7569 */0x80,0x00,0x80,0x1F,0x00,0x20,0x00,0x20,0x00,0x20,0x80,0x10,0x80,0x3F,0x00,0x20, 0x00,0x00,0x80,0x20,0x98,0x20,0x98,0x3F,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,/*ti C7469 */0x00,0x00,0x80,0x00,0x80,0x00,0xE0,0x1F,0x80,0x20,0x80,0x20,0x00,0x00,0x00,0x00, 0x00,0x00,0x80,0x20,0x98,0x20,0x98,0x3F,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,/*on C6F6E */0x00,0x00,0x00,0x1F,0x80,0x20,0x80,0x20,0x80,0x20,0x80,0x20,0x00,0x1F,0x00,0x00,/*,y C2C79 */0x00,0x80,0x00,0xB0,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x80,0x80,0x80,0x81,0x80,0x8E,0x00,0x70,0x00,0x18,0x80,0x06,0x80,0x01,0x80,0x00,/*ou C6F75 */0x00,0x00,0x00,0x1F,0x80,0x20,0x80,0x20,0x80,0x20,0x80,0x20,0x00,0x1F,0x00,0x00, 0x80,0x00,0x80,0x1F,0x00,0x20,0x00,0x20,0x00,0x20,0x80,0x10,0x80,0x3F,0x00,0x20,/* s C2073 */0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x33,0x80,0x24,0x80,0x24,0x80,0x24,0x80,0x24,0x80,0x19,0x00,0x00,/*we C7765 */0x80,0x0F,0x80,0x30,0x00,0x0C,0x80,0x03,0x00,0x0C,0x80,0x30,0x80,0x0F,0x80,0x00, 0x00,0x00,0x00,0x1F,0x80,0x22,0x80,0x22,0x80,0x22,0x80,0x22,0x00,0x13,0x00,0x00,/*pt C7074 */0x80,0x80,0x80,0xFF,0x00,0xA1,0x80,0x20,0x80,0x20,0x00,0x11,0x00,0x0E,0x00,0x00, 0x00,0x00,0x80,0x00,0x80,0x00,0xE0,0x1F,0x80,0x20,0x80,0x20,0x00,0x00,0x00,0x00,/* m C206D */0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x80,0x20,0x80,0x3F,0x80,0x20,0x80,0x00,0x80,0x3F,0x80,0x20,0x80,0x00,0x00,0x3F,/*e C6520 */0x00,0x00,0x00,0x1F,0x80,0x22,0x80,0x22,0x80,0x22,0x80,0x22,0x00,0x13,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*of C6F66 */0x00,0x00,0x00,0x1F,0x80,0x20,0x80,0x20,0x80,0x20,0x80,0x20,0x00,0x1F,0x00,0x00, 0x00,0x00,0x80,0x20,0x80,0x20,0xF0,0x3F,0x88,0x20,0x88,0x20,0x88,0x00,0x18,0x00,/*f C6620 */0x00,0x00,0x80,0x20,0x80,0x20,0xF0,0x3F,0x88,0x20,0x88,0x20,0x88,0x00,0x18,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*my C6D79 */0x80,0x20,0x80,0x3F,0x80,0x20,0x80,0x00,0x80,0x3F,0x80,0x20,0x80,0x00,0x00,0x3F, 0x80,0x80,0x80,0x81,0x80,0x8E,0x00,0x70,0x00,0x18,0x80,0x06,0x80,0x01,0x80,0x00};P2=0x00;P0=0x00;delayms(1000);while(1) //while(1)使内容重复显示{///////////////////////////////////////////////////////////////扫描显示文字///////////////////////////////////////////////////////////////////////半屏扫描x遍for(ab=0;ab<=2;ab++){P2=0x00;P0=0xf0;for(a=15;a>=0;a--){P1=a;delayms(10);}P2=0x00;P0=0x0f;for(a=15;a>=0;a--){P1=a;delayms(10);}P2=0xf0;P0=0x00;for(a=15;a>=0;a--){P1=a;delayms(10);}P2=0x0f;P0=0x00;for(a=15;a>=0;a--){P1=a;delayms(10);}P2=0x00;P0=0x00;}delayms(500);/////////////////////////////////////////////////////////////for(f=0;f<=1632/2-16;f++){ //显示f+1个帧for(e=0;e<=4;e++){c=f*2;for(d=0;d<=15;d++) //一个帧显示4*15=60毫秒{P2=hzdot[c];c++;P0=hzdot[c];c++;P1=d;delayms(1);}}}}//这个大括号属于while(1)}void delayms(unsigned int xms){unsigned int i,j;for(i=xms;i>0;i--)for(j=110;j>0;j--);}//若for语句中的两个变量都为unsigned int,且j=110时,i等于几,这个嵌套语句就延时约多少毫秒。