點(diǎn)陣LED顯示器結(jié)構(gòu)及漢字字模。設(shè)計(jì)16×16點(diǎn)陣LED顯示器的驅(qū)動(dòng)電路,編寫程序?qū)崿F(xiàn)在16×16點(diǎn)陣LED顯示器上的漢字顯示。16×16點(diǎn)陣LED顯示器可由4塊8×8點(diǎn)陣LED顯示器構(gòu)成。可采用單片機(jī)并行端口、移位寄存器、譯碼器或鎖存器等4種驅(qū)動(dòng)方式中的組合實(shí)現(xiàn)對16×16點(diǎn)陣LED顯示器的驅(qū)動(dòng)
電路方面主要包括以下3部分。
(a)設(shè)計(jì)單片機(jī)的最小系統(tǒng)(包括復(fù)位電路和外接的晶振電路),并確定相關(guān)元器件參數(shù)。
(b)采用動(dòng)態(tài)驅(qū)動(dòng)的方式,設(shè)計(jì)單片機(jī)并行端口、移位寄存器、譯碼器或鎖存器等與16×16點(diǎn)陣LED顯示器的驅(qū)動(dòng)電路,主要包括控制點(diǎn)陣LED行和列的連線。
(c)采用移位寄存器、譯碼器或鎖存器驅(qū)動(dòng)點(diǎn)陣LED顯示器時(shí),設(shè)計(jì)單片機(jī)與移位寄存器、譯碼器或鎖存器間的控制連線。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.jpg (114.96 KB, 下載次數(shù): 108)
下載附件
2018-1-16 21:36 上傳
0.png (47.12 KB, 下載次數(shù): 100)
下載附件
2018-1-16 21:35 上傳
單片機(jī)源程序如下:
- #include<regx51.h>
- #include<intrins.h>
- #define uchar unsigned char
- #define clk P2_5
- #define sclk P2_6
- #define en P2_4
- #define dat P2_7
- void hang(uchar a)
- {
- uchar k;
- //p2=0;
- //en=1;
- for(k=0;k<8;k++)
- {
-
- dat=a&0x80;
- clk=1;
- clk=0;
- a<<=1;
- }
- }
- delay1ms(unsigned char m)
- {
- unsigned char n;
- while(m--)
- {
- for(n=0;n<122;n++);
- }
- }
- void main(void)
- {
- uchar i,j,q;
- uchar code a[32]=
- {0x04,0x00,0x04,0x00,0x0F,0xE0,0x10,0x20,0x20,0x40,0x7F,0xF8,0xA1,0x08,0x21,0x08,
- 0x3F,0xF8,0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,0x01,0x02,0x01,0x02,0x00,0xFE,};
- uchar code b[32]=
- {0x00,0x08,0x20,0x3C,0x17,0xC0,0x14,0x00,0x84,0x1C,0x45,0xE0,0x45,0x20,0x15,0x22,
- 0x15,0x24,0x25,0x28,0xE5,0x10,0x25,0x10,0x25,0x08,0x29,0x44,0x29,0x82,0x11,0x00,};
- uchar code c[32]=
- {0x10,0x00,0x10,0x00,0x3F,0xFC,0x20,0x00,0x4F,0xF0,0x80,0x00,0x3F,0xF0,0x00,0x10,
- 0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x0A,0x00,0x0A,0x00,0x06,0x00,0x02,};
- uchar code d[32]=
- {0x00,0x40,0x00,0x40,0x00,0x40,0xFE,0x40,0x11,0xFC,0x10,0x44,0x10,0x44,0x10,0x44,
- 0x10,0x44,0x10,0x84,0x10,0x84,0x1E,0x84,0xF1,0x04,0x41,0x04,0x02,0x28,0x04,0x10,};
- while(1)
- {
- P2=0;
- en=1;
- for(j=0;j<62;j++)
- {
- for(i=0;i<32;i=i+2)
- {
- hang(a[i]);
- hang(a[i+1]);
- q=(31-i)/2;
- P2=P2&0xf0;
- P2=P2|q;
- sclk=1;
- sclk=0;
- delay1ms(1);
- }
- }
- for(j=0;j<62;j++)
- {
- for(i=0;i<32;i=i+2)
- {
- hang(b[i]);
- hang(b[i+1]);
- q=(31-i)/2;
- P2=P2&0xf0;
- P2=P2|q;
- sclk=1;
- sclk=0;
- delay1ms(1);
- }
- }
- for(j=0;j<62;j++)
- {
- for(i=0;i<32;i=i+2)
- {
- hang(c[i]);
- hang(c[i+1]);
- q=(31-i)/2;
- P2=P2&0xf0;
- P2=P2|q;
- sclk=1;
- sclk=0;
- delay1ms(1);
- }
- }
- for(j=0;j<62;j++)
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
16×16點(diǎn)陣LED顯示器漢字顯示——基于74HC595和74HC154驅(qū)動(dòng).rar
(52.25 KB, 下載次數(shù): 210)
2018-1-16 10:05 上傳
點(diǎn)擊文件名下載附件
16×16點(diǎn)陣LED顯示器漢字顯示——基于74HC595和74HC154驅(qū)動(dòng) 下載積分: 黑幣 -5
|