?? 2051.c
字號:
#include <AT89x51.H>
#define uchar unsigned char
#define uint unsigned int
#define SPEED 1 //定義速度
#define light 3 //定義亮度
sbit OE=P1^6; //138使能端
sbit CLK=P1^7; //鎖存器脈沖
//使用串口,行選用P2口.原參考程序用P1口,且OE,CLK也是用P1口,更簡潔
uchar col,disrow; //col為位移變量,disrow為行變量
uint word;
uchar code HZ[];
uchar BUFF[18];
void loadoneline(void);
void delay(uchar t);
void sendoneline(void);
/********************************************/
uchar two_onebyte(uchar h1,uchar h2)
{uchar temp,tempcol;
if(col<8) tempcol=col;
else tempcol=col-8;
temp=(h1>>tempcol)|(h2<<(8-tempcol));
temp=255-temp;
return temp;
}
/*******************************************************/
void main(void)
{uchar i;col=0;word=0;
while(1)
{while(col<16)
{for(i=0;i<SPEED;i++)
{for(disrow=0;disrow<16;disrow++)
{OE=1;
CLK=0;
loadoneline();
sendoneline();
P2=disrow; //P2為行選
//P1=0x10+disrow;
//P1=0x20+disrow;
CLK=1;
OE=0;
delay(light);
}
}
col++;
}
col=0;word=word+32;
if(word>=2184)word=0;
}
}
/****************把字模移入數組的子函數********************/
void loadoneline(void)
{uchar s;
for(s=0;s<9;s++) //s為要顯示的數字+1
{BUFF[2*s]=HZ[word+32*s+2*disrow];
BUFF[2*s+1]=HZ[word+1+32*s+2*disrow];
}
}
/*******************發送一行的子函數************************/
void sendoneline(void)
{char s;uchar inc;
if(col<8)inc=0;else inc=1;
for(s=0+inc;s<=15+inc;s++) //s=2*要顯示的數字-1
{SBUF=two_onebyte(BUFF[s],BUFF[s+1]);
while(!TI);TI=0;
}
}
/*******************************************************/
void delay(uchar t)
{ uchar i,j;
for(j=0;j<t;j++)
{for(i=0;i<20;i++);}
}
/*****************************************************
輸出字模數據子函數
函數入口:*zm:本次發送的數據在字模數組中起始位置
bit_num:發送不是完整的字模部分的位數
用法示例:send_line(&zimo[i],j);
zimo[]為字模數組
/*****************************************************
void send_line(uchar *zm,uchar bit_num)
{uint byte_num;
uchar temp;
uint m=0;
for(byte_num=SCREEN_WIDTH;byte_num>0;byte_num--)
{SBUF=zm[m++];
while(TI==0);
TI=0;
}
V_CLK=0;
temp=zm[m];
for(;bit_num>0;bit_num--)
{V_SDA=temp&0x80;
V_CLK=1;
V_CLK=0;
temp=temp<<1;
}
}
*******************************************************/
uchar code HZ[]=
{
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,
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,
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,
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,
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,
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,
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,
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,
//*******************************以上字碼用作黑屏**********************************
//*********************************************************************************
//***********以橫向8個連續點構成一個字節,最左邊的點為字節的最低位,即BIT0,**********
//***********最右邊的點為BIT7.16×16漢字按每行2字節,共16行取字模,每個漢字*********
//***********共32字節.點陣四個角取字順序為左上角→右上角→左下角→右下角。*****
//*********************************************************************************
/*真 CD5E6 */
0x80,0x00,0x80,0x20,0xFE,0x7F,0x40,0x00,0xF0,0x0F,0x10,0x08,0xF0,0x0F,0x10,0x08,
0xF0,0x0F,0x10,0x08,0xF0,0x0F,0x10,0x08,0xFF,0x7F,0x20,0x02,0x18,0x0C,0x06,0x30,
/*誠 CB3CF */
0x02,0x04,0x0C,0x14,0x04,0x24,0xF0,0x7F,0x20,0x04,0x27,0x04,0x24,0x24,0xE4,0x65,
0x24,0x29,0x24,0x29,0x24,0x19,0x34,0x49,0x2C,0x55,0x54,0x63,0x90,0x40,0x08,0x00,
/*服 CB7FE */
0x3C,0x3F,0x24,0x21,0x24,0x21,0x24,0x29,0x3C,0x11,0x24,0x01,0x24,0x3F,0x3C,0x23,
0x24,0x23,0x24,0x15,0x24,0x15,0x24,0x09,0x22,0x15,0x2A,0x73,0x11,0x21,0x00,0x00,
/*務 CCEF1 */
0x20,0x00,0xE0,0x0F,0x30,0x08,0x28,0x04,0x46,0x02,0x81,0x01,0x60,0x06,0x98,0x78,
0x86,0x20,0xF8,0x0F,0x40,0x08,0x40,0x08,0x20,0x08,0x10,0x08,0x0C,0x0A,0x03,0x04,
/*、 CA1A2 */
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x0C,0x00,0x08,0x00,0x00,0x00,0x00,0x00,
/*精 CBEAB */
0x08,0x04,0x88,0x7F,0x29,0x04,0x2A,0x3F,0x1A,0x04,0xBF,0x7F,0x0C,0x00,0x1C,0x3F,
0x2A,0x21,0x4A,0x3F,0x0A,0x21,0x09,0x3F,0x08,0x21,0x08,0x21,0x08,0x29,0x08,0x11,
/*心 CD0C4 */
0x40,0x00,0x80,0x00,0x00,0x01,0x00,0x03,0x10,0x01,0x10,0x00,0x10,0x08,0x12,0x10,
0x12,0x20,0x12,0x60,0x11,0x20,0x10,0x08,0x10,0x08,0x10,0x08,0xE0,0x0F,0x00,0x00,
/*打 CB4F2 */
0x08,0x00,0x08,0x00,0xC8,0x7F,0x08,0x04,0x7F,0x04,0x08,0x04,0x28,0x04,0x18,0x04,
0x0C,0x04,0x0B,0x04,0x08,0x04,0x08,0x04,0x08,0x04,0x08,0x04,0x0A,0x05,0x04,0x02,
/*造 CD4EC */
0x02,0x02,0x44,0x02,0x44,0x02,0xC0,0x3F,0x20,0x02,0x00,0x02,0xF7,0x7F,0x04,0x00,
0xC4,0x1F,0x44,0x10,0x44,0x10,0xC4,0x1F,0x44,0x10,0x0A,0x00,0xF1,0x7F,0x00,0x00,
/*。 CA1A3 */
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x0C,0x00,0x12,0x00,0x12,0x00,0x0C,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,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,0x00,0x00,0x00,0x00,0x00,
//*****************************************************************************
/*單 CB5A5 */
0x10,0x04,0x60,0x0C,0x20,0x02,0xFC,0x1F,0x84,0x10,0xFC,0x1F,0x84,0x10,0x84,0x10,
0xFC,0x1F,0x84,0x10,0x80,0x00,0xFF,0x7F,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,
/*片 CC6AC */
0x00,0x02,0x08,0x02,0x08,0x02,0x08,0x22,0xF8,0x7F,0x08,0x00,0x08,0x00,0x08,0x00,
0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0x04,0x08,0x04,0x08,0x02,0x08,0x01,0x08,
/*機 CBBFA */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -