本帖最后由 mdddkk 于 2019-12-5 17:36 編輯
單片機16x16led點陣實驗:Proteus仿真加程序截圖都有,自己做著玩的,可實現各種漢字的顯示,需要自己取模
單片機點陣.png (4.47 KB, 下載次數: 102)
下載附件
2019-12-5 17:18 上傳
1.png (174.99 KB, 下載次數: 95)
下載附件
2019-12-5 17:20 上傳
2.png (51.87 KB, 下載次數: 113)
下載附件
2019-12-5 17:20 上傳
需要注意端口的標號和取模的方式,16x16是由4個8x8點陣拼接而成,每行每列相對應,我這個是每行對應每行,列的順序正好相反,即第一列線對應8x8的最后一列燈,跟標號有關。
下面有一個拼接圖,僅供參考
3.png (100.55 KB, 下載次數: 88)
下載附件
2019-12-5 17:26 上傳
- #include <reg51.h>
- #define out0 P0
- #define out2 P2
- #define out1 P1
- typedef unsigned char u8;
- typedef unsigned int u16;
- void delay(u16 t)
- {
- while(t--);
- }
- u8 code string[]=
- {
- /*-- 文字: 單 --*/
- /*-- Fixedsys12; 此字體下對應的點陣為:寬x高=16x16 --*/
- 0x10,0x10,0x08,0x20,0x04,0x40,0x3F,0xF8,0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,
- 0x21,0x08,0x3F,0xF8,0x01,0x00,0x01,0x00,0xFF,0xFE,0x01,0x00,0x01,0x00,0x01,0x00,
- /*-- 文字: 片 --*/
- /*-- Fixedsys12; 此字體下對應的點陣為:寬x高=16x16 --*/
- 0x00,0x40,0x10,0x40,0x10,0x40,0x10,0x40,0x10,0x40,0x1F,0xFC,0x10,0x00,0x10,0x00,
- 0x10,0x00,0x1F,0xE0,0x10,0x20,0x10,0x20,0x10,0x20,0x20,0x20,0x20,0x20,0x40,0x20,
- /*-- 文字: 機 --*/
- /*-- Fixedsys12; 此字體下對應的點陣為:寬x高=16x16 --*/
- 0x10,0x00,0x11,0xF0,0x11,0x10,0x11,0x10,0xFD,0x10,0x11,0x10,0x31,0x10,0x39,0x10,
- 0x55,0x10,0x55,0x10,0x91,0x10,0x11,0x12,0x11,0x12,0x12,0x12,0x12,0x0E,0x14,0x00,
- /*-- 文字: 點 --*/
- /*-- Fixedsys12; 此字體下對應的點陣為:寬x高=16x16 --*/
- 0x02,0x00,0x02,0x00,0x02,0x00,0x03,0xFC,0x02,0x00,0x02,0x00,0x3F,0xF0,0x20,0x10,
- 0x20,0x10,0x20,0x10,0x3F,0xF0,0x00,0x00,0x24,0x88,0x22,0x44,0x42,0x44,0x80,0x04,
- /*-- 文字: 陣 --*/
- /*-- Fixedsys12; 此字體下對應的點陣為:寬x高=16x16 --*/
- 0x00,0x40,0x7C,0x40,0x44,0x40,0x4B,0xFE,0x48,0x80,0x50,0xA0,0x49,0x20,0x49,0xFC,
- 0x44,0x20,0x44,0x20,0x44,0x20,0x6B,0xFE,0x50,0x20,0x40,0x20,0x40,0x20,0x40,0x20,
- /*-- 文字: 實 --*/
- /*-- Fixedsys12; 此字體下對應的點陣為:寬x高=16x16 --*/
- 0x02,0x00,0x01,0x00,0x7F,0xFE,0x40,0x02,0x88,0x84,0x04,0x80,0x04,0x80,0x10,0x80,
- 0x08,0x80,0x08,0x80,0xFF,0xFE,0x01,0x40,0x02,0x20,0x04,0x10,0x18,0x08,0x60,0x04,
- /*-- 文字: 驗 --*/
- /*-- Fixedsys12; 此字體下對應的點陣為:寬x高=16x16 --*/
- 0x00,0x20,0xF8,0x20,0x08,0x50,0x48,0x50,0x48,0x88,0x49,0x04,0x4A,0xFA,0x7C,0x00,
- 0x04,0x44,0x04,0x24,0x1D,0x24,0xE4,0xA8,0x44,0x88,0x04,0x10,0x2B,0xFE,0x10,0x00,
- };
-
- void main()
- {
- u8 i,j,n;
- while(1)
- {
- for(j=0;j<7;j++) //字的個數
- {
- for(n=0;n<40;n++)
- {
- for(i=0;i<16;i++)
- {
- out1=i%16;
- out0=~string[i*2+j*32];
- out2=~string[i*2+1+j*32];
- delay(100);
- out0=0xff;
- out2=0xff;
- }
- }
- }
- }
- }
復制代碼
4.png (77.36 KB, 下載次數: 77)
下載附件
2019-12-5 17:33 上傳
點陣.zip
(151.79 KB, 下載次數: 40)
2019-12-5 17:34 上傳
點擊文件名下載附件
程序加仿真 下載積分: 黑幣 -5
附源代碼和仿真
|