點(diǎn)陣,親測(cè)可用
proteus仿真顯示效果:
QQ圖片20170417215643.png (38.99 KB, 下載次數(shù): 124)
下載附件
2017-5-8 18:36 上傳
原理圖:
QQ圖片20170417215431.png (90.37 KB, 下載次數(shù): 139)
下載附件
2017-5-8 18:36 上傳
0.png (48.72 KB, 下載次數(shù): 134)
下載附件
2017-5-8 18:58 上傳
單片機(jī)源程序:
- #include <reg52.h>
- #define MATRIX_DATA P0
- sbit MATRIX_X_EN_0 = P2^0;
- sbit MATRIX_X_EN_1 = P2^1;
- sbit MATRIX_Y_EN_0 = P2^2;
- sbit MATRIX_Y_EN_1 = P2^3;
- unsigned char code text[]={
- 0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,
- 0x80,0x00,0x88,0x08,0x88,0x10,0x88,0x20,
- 0x84,0x20,0x84,0x40,0x82,0x40,0x81,0x40,
- 0x80,0x00,0x80,0x00,0xA0,0x00,0x40,0x00,//小
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x04,0x02,0x04,0x04,0xC4,0x7F,0x1F,0x04,
- 0x15,0x12,0x55,0x4F,0x95,0x24,0x55,0x4A,
- 0x1F,0x1F,0x05,0x10,0x04,0x04,0xD4,0x7F,
- 0x1C,0x04,0x17,0x04,0x02,0x04,0x00,0x04,//蟀
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x20,0x20,0x24,0x20,0x24,0x20,0xFC,0x25,
- 0x22,0x24,0x20,0x24,0xFF,0x27,0x20,0x24,
- 0x20,0x24,0xFC,0x25,0x24,0x25,0x24,0x25,
- 0x64,0x21,0xA4,0x20,0x20,0x28,0x20,0x10,//制
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x90,0x00,0x90,0x00,0x90,0x00,0x88,0x7F,
- 0x48,0x01,0x4C,0x01,0x2C,0x01,0x0A,0x1F,
- 0x09,0x01,0x08,0x01,0x08,0x01,0x08,0x3F,
- 0x08,0x01,0x08,0x01,0x08,0x01,0x08,0x01,//作
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- };
- void DelayMs(unsigned int ms);
- void MatrixShow(unsigned char *text);
- void main()
- {
- unsigned int cnt = 0, p = 0;
- while(1)
- {
- MatrixShow(&text[p]);
- DelayMs(2);
- cnt++;
- if(cnt == 64)
- {
- cnt = 0;
- p += 2;
- if(p >= sizeof(text)-17)
- {
- p = 0;
- }
- }
- }
- }
- void DelayMs(unsigned int ms)
- {
- unsigned int i, j;
- for(i=0; i<ms; i++)
- for(j=0; j<110; j++);
- }
- void MatrixShow(unsigned char *text)
- {
- static unsigned char cnt = 0;
- MATRIX_DATA = 0xff;
- MATRIX_Y_EN_0 = 1;
- MATRIX_Y_EN_0 = 0;
- MATRIX_Y_EN_1 = 1;
- MATRIX_Y_EN_1 = 0;
- MATRIX_DATA = text[2*cnt];
- MATRIX_X_EN_0 = 1;
- MATRIX_X_EN_0 = 0;
- MATRIX_DATA = text[2*cnt+1];
- MATRIX_X_EN_1 = 1;
- MATRIX_X_EN_1 = 0;
- if(cnt<8)
- {
- MATRIX_DATA = ~(0x01<<cnt);
- MATRIX_Y_EN_0 = 1;
- MATRIX_Y_EN_0 = 0;
- }
- else
- {
- MATRIX_DATA = ~(0x01<<(cnt-8));
- MATRIX_Y_EN_1 = 1;
- MATRIX_Y_EN_1 = 0;
-
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
下載:
0009-16x16點(diǎn)陣 - 副本.rar
(104.58 KB, 下載次數(shù): 101)
2017-5-8 18:32 上傳
點(diǎn)擊文件名下載附件
可用 下載積分: 黑幣 -5
|