?? 漢字液晶2.c
字號(hào):
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit E = P2^0;
sbit RW = P2^1;
sbit RS = P2^2;
sbit L = P2^3;
sbit R = P2^4;
sbit f = P1^7;
sbit Busy = P0^7;
sbit p3_7 = P3^7;
sbit p3_6 = P3^6;
uchar jiang[40];
uchar flag = 0;
void chkbusy(void);
void write_com(uchar cd);
void write_data(uchar cd);
void display(uchar page,uchar col,uchar *temp);
void chkbusy(void);
void display_sum(int x);
uint sum,k = 0,xx;
unsigned char code tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,
0x7d,0x07,0x7f,0x6f
};
void delay(uchar x)
{
uchar i,j;
for (i = 0; i < x; i++)
for (j = 0; j < 110; j++);
}
void initLCD(void)
{
write_com(0x3f);
write_com(0xc0);
write_com(0xb8);
write_com(0x40);
}
void chkbusy(void)
{
E = 1;
RS = 0;
RW = 1;
P0 = 0xff;
while (!Busy);
}
void write_com(uchar cd)
{
// chkbusy();
E = 1;
RW = 0;
RS = 0;
P0 = cd;
E = 1;
E = 0;
}
void write_data(uchar cd)
{
// chkbusy();
E = 1;
RW = 0;
RS = 1;
P0 = cd;
E = 1;
E = 0;
}
void display(uchar page,uchar col,uchar *temp)
{
uchar j;
L = 0;
R = 1;
if (col >= 0x80)
{
R = 0;
L = 1;
col -= 0x40;
}
write_com(page);
write_com(col);
for (j = 0; j < 16; j++)
write_data(temp[j]);
write_com(page + 1);
write_com(col);
for (j = 16; j < 32; j++)
write_data(temp[j]);
}
void init_com(void)
{
/*
TMOD = 0x20;
PCON = 0x00;
SCON = 0xc0;
TH1 = 0xfd;
TR1 = 1;
ET1 = 0;
ES = 1;
EA = 1; */
delay(100);
EA = 0;
SCON = 0x50;
TMOD = 0x20;
PCON = 0x00;
TR1 = 1;
ES = 1;
TH1 = 0xfd;
EA = 1;
}
void main()
{
initLCD();
init_com();
xx = 0;
sum = 0;
// P1 = 0x00;
while (1)
{
if (sum >= 32)
{
display(0xb8,0x40,jiang);
// display(0xba,0x40,a);
// while(1);
}
// P1 = sum;
display_sum(xx);
}
}
void display_sum(int x)
{
int ge,shi;
ge = x % 10;
shi = x / 10;
p3_7 = 0;
P1 = tab[ge];
delay(2);
p3_7 = 1;
p3_6 = 0;
P1 = tab[shi];
delay(2);
p3_6 = 1;
}
void com_rupt() interrupt 4
{
if (RI == 1)
{
sum++;
xx++;
RI = 0;
jiang[xx-1] = SBUF;
SBUF = jiang[xx-1];
}
else if (TI == 1)
{
TI = 0;
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -