?? led controller1.c
字號:
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
#define NOP _nop_()
sbit OE=P3^4;
//sbit A3=P1^7;
//sbit A2=P1^6;
//sbit A1=P1^5;
//sbit A0=P1^4;
sbit RCK=P3^2;
sbit SRCK=P3^3;
sbit DS=P3^5;
//sbit AD19=P1^3;
//sbit AD18=P1^2;
//sbit AD17=P1^1;
//sbit AD16=P1^0;
//sbit Read=P3^7;
//sbit Write=P3^6;
uchar speed=20;
void Out_595(void);
uchar code hzdoc[][32]={
/*電 CB5E7 */
{0x02,0x00,0x02,0x00,0x02,0x10,0x7F,0xF8,0x42,0x10,0x42,0x10,0x7F,0xF0,0x42,0x10,
0x42,0x10,0x7F,0xF0,0x42,0x10,0x02,0x00,0x02,0x04,0x02,0x04,0x01,0xFC,0x00,0x00},
/*子 CD7D3 */
{0x00,0x00,0x01,0xE0,0x0E,0x40,0x00,0x80,0x01,0x00,0x01,0x7C,0x7F,0x80,0x00,0x80,
0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x06,0x80,0x01,0x00,0x00,0x00,0x00,0x00},
/*信 CD0C5 */
{0x00,0x00,0x08,0x40,0x08,0x20,0x10,0x7E,0x17,0x80,0x30,0x30,0x51,0xC0,0x90,0x30,
0x11,0xC0,0x10,0x30,0x11,0xD0,0x11,0x10,0x11,0xF0,0x10,0x00,0x00,0x00,0x00,0x00},
/*息 CCFA2 */
{0x01,0x00,0x02,0x00,0x07,0xC0,0x08,0x40,0x0F,0x40,0x08,0x40,0x0F,0x40,0x08,0x40,
0x0F,0xC0,0x00,0x0C,0x29,0x02,0x28,0xA0,0x44,0x10,0x03,0xF8,0x00,0x00,0x00,0x00},
/*工 CB9A4 */
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0x01,0x00,0x01,0x00,0x01,0x00,
0x01,0x00,0x01,0x00,0x01,0xFC,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
/*程 CB3CC */
{0x00,0x00,0x04,0x00,0x0C,0x78,0x38,0x88,0x08,0x98,0x0E,0xE0,0xF8,0x18,0x08,0xE0,
0x1C,0x38,0x2A,0xE0,0x48,0x20,0x88,0x3E,0x0B,0xE0,0x08,0x00,0x08,0x00,0x00,0x00},
/*學 CD1A7 */
{0x00,0x20,0x12,0x20,0x09,0x20,0x00,0x40,0x23,0xFC,0x3C,0x08,0x63,0xC0,0x44,0x80,
0x01,0x00,0x01,0xF8,0x7E,0x80,0x00,0x80,0x00,0x80,0x02,0x80,0x01,0x00,0x00,0x00},
/*院 CD4BA */
{0x00,0x00,0x00,0x80,0x78,0x40,0x4A,0xF8,0x53,0x08,0x54,0x60,0x69,0x80,0x58,0x70,
0x43,0xC0,0x41,0x40,0x42,0x44,0x44,0x44,0x48,0x44,0x50,0x38,0x00,0x00,0x00,0x00},
/*自 CD7D4 */
{0x01,0x00,0x01,0x00,0x02,0x00,0x02,0x00,0x07,0xE0,0x08,0x20,0x08,0x20,0x0F,0x20,
0x08,0x20,0x08,0x20,0x0F,0x20,0x08,0x20,0x0B,0xA0,0x0C,0x60,0x00,0x20,0x00,0x00},
/*動 CB6AF */
{0x00,0x00,0x00,0x20,0x06,0x20,0x38,0x20,0x00,0x3C,0x06,0xE4,0x78,0x24,0x08,0x24,
0x12,0x44,0x26,0x44,0x3A,0x88,0x01,0x08,0x02,0x28,0x04,0x10,0x00,0x00,0x00,0x00},
/*化 CBBAF */
{0x00,0x00,0x01,0x00,0x09,0x00,0x09,0x08,0x11,0x10,0x11,0x20,0x31,0x40,0x51,0x80,
0x93,0x00,0x15,0x02,0x11,0x02,0x11,0x02,0x10,0xFE,0x10,0x00,0x00,0x00,0x00,0x00},
/*系 CCFB5 */
{0x00,0x40,0x00,0xC0,0x1F,0x00,0x02,0x00,0x04,0x40,0x0F,0x80,0x01,0x00,0x02,0x20,
0x04,0xF0,0x1F,0x00,0x01,0x20,0x11,0x10,0x11,0x08,0x23,0x00,0x01,0x00,0x00,0x00}
};
void Delay(uchar DelayTime)
{
uint i;
for(;DelayTime>0;DelayTime--)
{for(i=0;i<20;i++);}
}
void SendData(uchar a)
{
uchar i,DAT;
DAT=a;
for(i=0;i<8;i++)
{
if((DAT&0x01)==0) DS=0;
else DS=1;
SRCK=0;
NOP;
NOP;
SRCK=1;
NOP;
NOP;
DAT>>=1;
}
Out_595();
}
void Out_595(void)
{
RCK=0;
NOP;
NOP;
RCK=1;
NOP;
NOP;
}
void main()
{
uchar i,j,k,scan;
DS=0;
OE=0;
while(1)
{
for(j=0;j<12;j=j+4) //顯示漢字數=12
{
for(k=0;k<speed;k++)
{
scan=0x00;
for(i=0;i<32;i=i+2)
{
//SendData(hzdoc[j][i]);
//SendData(hzdoc[j][i+1]);
//SendData(hzdoc[j+1][i]);
//SendData(hzdoc[j+1][i+1]);
//SendData(hzdoc[j+2][i]);
//SendData(hzdoc[j+2][i+1]);
//SendData(hzdoc[j+3][i]);
//SendData(hzdoc[j+3][i+1]);
SendData(hzdoc[j+3][i+1]);
SendData(hzdoc[j+3][i]);
SendData(hzdoc[j+2][i+1]);
SendData(hzdoc[j+2][i]);
SendData(hzdoc[j+1][i+1]);
SendData(hzdoc[j+1][i]);
SendData(hzdoc[j][i+1]);
SendData(hzdoc[j][i]);
OE=0;
P1=scan;
scan=scan+0x10;
Delay(10);
OE=1;
}
}
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -