51單片機(jī)16*16點(diǎn)陣仿真帶程序
捕獲.PNG (42.02 KB, 下載次數(shù): 53)
下載附件
2016-11-25 19:44 上傳
- #include <reg51.h>
- #define u8 unsigned char
- #define u16 unsigned int
- sbit a=P2^4; //154芯片使能
- sbit b=P2^5;
- u8 code led[][32]={
- {0x10,0x60,0x02,0x8C,0x00,0x04,0xE4,0x24,0x24,0xE4,0x04,0x04,0xFC,0x04,0x04,0x00,
- 0x04,0x04,0x7E,0x01,0x00,0x00,0x0F,0x04,0x04,0x0F,0x40,0x80,0x7F,0x00,0x00,0x00,},//河
- {0x04,0xE4,0x24,0x24,0x64,0xA4,0x24,0x3F,0x24,0xA4,0x64,0x24,0x24,0xE4,0x04,0x00,
- 0x00,0xFF,0x00,0x08,0x09,0x09,0x09,0x7F,0x09,0x09,0x09,0x48,0x80,0x7F,0x00,0x00,},//南
- {0x02,0x02,0xFE,0x92,0x92,0xFE,0x02,0x02,0xFC,0x04,0x04,0x04,0x04,0xFC,0x00,0x00,
- 0x08,0x18,0x0F,0x08,0x04,0xFF,0x04,0x80,0x63,0x19,0x01,0x01,0x09,0x33,0xC0,0x00,},//職
- {0x00,0x10,0x60,0x80,0x00,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0xC0,0x30,0x00,0x00,
- 0x40,0x40,0x40,0x43,0x40,0x7F,0x40,0x40,0x40,0x7F,0x42,0x41,0x40,0x40,0x40,0x00,},//業(yè)
- {0x10,0x10,0x10,0xFF,0x10,0x90,0x08,0x88,0x88,0x88,0xFF,0x88,0x88,0x88,0x08,0x00,
- 0x04,0x44,0x82,0x7F,0x01,0x80,0x80,0x40,0x43,0x2C,0x10,0x28,0x46,0x81,0x80,0x00,},//技
- {0x00,0x10,0x10,0x10,0x10,0xD0,0x30,0xFF,0x30,0xD0,0x12,0x1C,0x10,0x10,0x00,0x00,
- 0x10,0x08,0x04,0x02,0x01,0x00,0x00,0xFF,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x00,},//術(shù)
- {0x40,0x30,0x11,0x96,0x90,0x90,0x91,0x96,0x90,0x90,0x98,0x14,0x13,0x50,0x30,0x00,
- 0x04,0x04,0x04,0x04,0x04,0x44,0x84,0x7E,0x06,0x05,0x04,0x04,0x04,0x04,0x04,0x00,},//學(xué)
- {0x00,0xFE,0x22,0x5A,0x86,0x10,0x0C,0x24,0x24,0x25,0x26,0x24,0x24,0x14,0x0C,0x00,
- 0x00,0xFF,0x04,0x08,0x07,0x80,0x41,0x31,0x0F,0x01,0x01,0x3F,0x41,0x41,0x71,0x00,},//院
- };
- void delay(u16 ms)
- {
- u8 s=0;
- while(--ms)
- {
- for(s=0;s<88;s++);
- }
- }
- u8 K=0;
- void LedScan(u8 x)
- {
- static u8 i = 0;
-
- for(i=0;i<16;i++) //上半屏顯示
- {a=0;
- b=1;
- P2 = (P2 & 0xf0) | i;
- P0=led[x][i];
- delay(2);
- }
- for(i=0;i<16;i++) //下半屏顯示
- {
- a=1;
- b=0;
- P2 = (P2 & 0xf0) | i;
- P0=led[x][i+16];
- delay(2);
- }
- }
- void main()
- {
-
- a=1;
- b=1;
- TMOD = 0x01;
- TH0 = 0x0D8;
- TL0 = 0x0F0;
- EA = 1;
- ET0 = 1;
- TR0 = 1;
-
- while(1)
- {
- LedScan(K);
- }
- }
- void Timer0Interrupt(void) interrupt 1
- {
- static u16 dd=0;
- TH0 = 0x0D8;
- TL0 = 0x0F0;
- dd++;
- if(dd==50)
- { dd=0;
- K++;
-
- if(K==8)
- {K=0;}
- }
- }
復(fù)制代碼
0.png (67.15 KB, 下載次數(shù): 45)
下載附件
2016-12-5 01:06 上傳
|