16x16點陣 74HC595驅動+仿真原理圖,帶滾動顯示漢字的源程序.
仿真圖原理圖:
0.png (33.25 KB, 下載次數(shù): 73)
下載附件
2017-5-25 01:23 上傳
0.png (31.34 KB, 下載次數(shù): 84)
下載附件
2017-5-25 01:24 上傳
0.png (56.06 KB, 下載次數(shù): 84)
下載附件
2017-5-25 01:22 上傳
單片機源程序如下:
- /*********************************************************
- 程序名稱:LED1616點陣流動顯示漢字
- 簡要說明:最大可顯示16*16漢字
- P0口接上行線,P2口接下行線,P3口接掃描線
- *********************************************************/
- #include <reg51.h>
- #define uint unsigned int
- #define uchar unsigned char
- #include"74hc595.h"
- uchar b;
- uint offset;
- uchar code line[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//行掃描信號
- uchar code word0[]={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};
-
- uchar code word1[]={
- 0x20,0x20,0x22,0x22,0xFE,0x21,0x21,0x20,
- 0x20,0xFF,0x20,0x22,0xAC,0x20,0x20,0x00,
- 0x04,0x04,0x42,0x82,0x7F,0x01,0x01,0x10,
- 0x10,0x08,0x07,0x1A,0x21,0x40,0xF0,0x00};/*"我",0*/
-
- uchar code word2[]={0x00,0x40,0xB2,0x96,0x9A,0x92,0xF6,0x9A,
- 0x93,0x91,0x99,0x97,0x91,0x90,0x30,0x00,
- 0x40,0x20,0xA0,0x90,0x4C,0x47,0x2A,0x2A,
- 0x12,0x1A,0x26,0x22,0x40,0xC0,0x40,0x00};/*"愛",0*/
- uchar code word3[]={0x80,0x40,0xF0,0x2C,0x43,0x20,0x98,0x0F,
- 0x0A,0xE8,0x08,0x88,0x28,0x1C,0x08,0x00,
- 0x00,0x00,0x7F,0x00,0x10,0x0C,0x03,0x21,
- 0x40,0x3F,0x00,0x00,0x03,0x1C,0x08,0x00};/*"你",0*/
- uchar *p[]={word0,word1,word2,word3};
- void init()
- {
- TMOD=0x01;
- TH0=0xb1;
- TL0=0xe0;
- ET0=1;
- EA=1;
- TR0=1;
- }
- void xianshi(uchar s[])
- {uchar m,n,a;
- uchar i;
- for(i=0;i<8;i++)
- {
- m=i+16+offset;
- write_data(line[i],0xff);
- delay(2);
- send_date();
- P0=s[i+offset];
- P2=s[m];
- write_data(0xff,0xff);
- // P0=0XFF;
- //P2=0XFF;
- //}
- //for(i=0;i<8;i++)
- a=i+8+offset;
- n=i+24+offset;
- write_data(0xff,line[i]);
- delay(2);
- send_date();
- P0=s[a];
- P2=s[n];
- //write_data(0x00,0x00);
- //{
- }
- //
- }
- void main()
- {uchar i;
- uint j;
- init();
- write_data(0xff,0xff);
- while(1)
- {
- for(i=1;i<4;i++)
- {
- for(j=0;j<255;j++)
- xianshi(p[1]);
- //offset=0;
- }
- }
- }
- void timer0() interrupt 1 using 3
- {
- TF0=0;
- TH0=0xb1;
- TL0=0xe0;
- if (b<9)
- {
- b++;
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
16x16.rar
(22.84 KB, 下載次數(shù): 386)
2017-5-24 23:27 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|