字符顯示:
- /* 程序名稱:點陣顯示器顯示
- 程序作用:采用AT89C52和8x8點陣顯示器顯示字符
- 程序拓展:可以實現鍵盤輸入顯示字符
- 程序作者:hankjulianth
- 完成時間:10。3.30——下午
- */
- #include"reg52.h"
- #define uint unsigned int
- #define uchar unsigned char
- uchar code pa[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
- uchar code ln[9][8]={
- {0xff,0x83,0xef,0xef,0xef,0xef,0xef,0x83},//"I"
- {0xff,0x99,0x66,0x7e,0xbd,0xdb,0xe7,0xff},//心符號
- {0xff,0xbb,0xbb,0xbb,0xbb,0xbb,0xc7,0xff},//"U"
- {0xff,0xef,0xef,0xab,0x6d,0xe7,0xef,0xff},//"小"
- {0xff,0xff,0x83,0xef,0xef,0xef,0xef,0xef},//"T"
- {0xff,0xff,0xff,0x81,0xff,0xff,0xff,0xff},//"--"
- {0xfd,0x11,0xd0,0x90,0x57,0x90,0xd7,0xd0},//"鄒"
- {0xfb,0xfb,0xe0,0xfb,0xf1,0xd9,0x49,0x86},//"志"
- {0x80,0xf7,0xd5,0xe3,0xc1,0xf7,0xf7,0xf7},//"平"
- };
- uint i=0,j=0,timecount=0;
- void main()
- {
- TMOD=0x01;
- TH0=(65536-3000)/256;//定時3ms
- TL0=(65536-3000)%256;
- TR0=1;
- EA=1;
- ET0=1;
- while(1)
- {
- ;
- }
- }
- void timer0() interrupt 1
- {
- TMOD=0x01;
- TH0=(65536-3000)/256;
- TL0=(65536-3000)%256;
- TR0=1;
- EA=1;
- ET0=1;
- P0=pa[j];
- P2=ln[i][j];
- j++;
- if(j>7)
- {
- j=0;
- }
- timecount++;
- if(timecount==333)//每個字時間間隔為333 X 3ms
- {
- timecount=0;
- i++;
- if(i>8)
- {
- i=0;
- }
- }
- }
復制代碼 |