📄 6041.c
字号:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
sbit di =P1^3;
sbit wr =P1^4;
sbit cs =P1^5;
void delay(ulong v);
void delay(ulong v)
{
while(v!=0)v--;
}
void wcode(uchar c)
{
uchar a;
di=1;
wr=0;
delay(3);
wr=1;
delay(3);
wr=0;
di=0;
wr=0;
delay(3);
wr=1;
delay(3);
wr=0;
di=0;
wr=0;
delay(3);
wr=1;
delay(3);
wr=0;
for(a=0;a<8;a++)
{
if((c&0x80)!=0)di=1;
else di=0;
c=c<<1;
wr=0;
delay(3);
wr=1;
delay(3);
wr=0;
}
di=0;
wr=0;
delay(3);
wr=1;
delay(3);
wr=0;
}
void wdata(uchar ads,uchar da)
{
uchar a;
di=1;
wr=0;
delay(3);
wr=1;
delay(3);
wr=0;
di=0;
wr=0;
delay(3);
wr=1;
delay(3);
wr=0;
di=1;
wr=0;
delay(3);
wr=1;
delay(3);
wr=0;
for(a=0;a<6;a++)
{
if((ads&0x20)!=0)di=1;
else di=0;
ads=ads<<1;
wr=0;
delay(3);
wr=1;
delay(3);
wr=0;
}
for(a=0;a<4;a++)
{
if((da&0x08)!=0)di=1;
else di=0;
da=da<<1;
wr=0;
delay(3);
wr=1;
delay(3);
wr=0;
}
}
void lcdinitial(void)
{
cs=0;
wcode(0x01);/*sys en*/
cs=1;
cs=0;
wcode(0x05);/*WDT DISABLE*/
cs=1;
cs=0;
wcode(0x04);/*TIMER DISABLE*/
cs=1;
cs=0;
wcode(0x29);/*1/4 DUTY*/
cs=1;
cs=0;
wcode(0x03); /*LCD ON*/
cs=1;
}
void clear(void)
{ uchar i;
for(i=0;i<10;i++)
{
cs=0;
wdata(i,0x0);
cs=1;
}
}
key_check()
{ uchar sw;
sw=P1;
if((sw&0x04)==0x00)
if((sw&0x02)==0x00)
return(3);
else return(2);
else
if((sw&0x02)==0x00)
return(1);
else return(0);
}
disp_1()
{
clear();
delay(100);
cs=0;
wdata(9,0x03);
cs=1;
cs=0;
wdata(2,0x01);
cs=1;
cs=0;
wdata(5,0x03);
cs=1;
cs=0;
wdata(6,0x0d);
cs=1;
cs=0;
wdata(8,0x03);
cs=1;
cs=0;
wdata(7,0x0d);
cs=1;
cs=0;
wdata(0,0x05);
cs=1;
cs=0;
wdata(1,0x0f);
cs=1;
delay(100);
cs=0;
wdata(2,0x03);
cs=1;
delay(10000);
cs=0;
wdata(3,0x01);
cs=1;
delay(10000);
cs=0;
wdata(3,0x03);
cs=1;
delay(10000);
cs=0;
wdata(3,0x0b);
cs=1;
delay(10000);
cs=0;
wdata(3,0x0f);
cs=1;
delay(10000);
}
disp_2()
{
cs=0;
wdata(9,0x05);
cs=1;
cs=0;
wdata(2,0x03);
cs=1;
cs=0;
wdata(3,0x0f);
cs=1;
cs=0;
wdata(5,0x03);
cs=1;
cs=0;
wdata(6,0x0d);
cs=1;
cs=0;
wdata(8,0x03);
cs=1;
cs=0;
wdata(7,0x0d);
cs=1;
cs=0;
wdata(0,0x05);
cs=1;
cs=0;
wdata(1,0x0f);
cs=1;
delay(10000);
cs=0;
wdata(2,0x03);
cs=1;
cs=0;
wdata(3,0x0b);
cs=1;
cs=0;
wdata(5,0x05);
cs=1;
cs=0;
wdata(6,0x00);
cs=1;
cs=0;
wdata(8,0x03);
cs=1;
cs=0;
wdata(7,0x0d);
cs=1;
cs=0;
wdata(0,0x07);
cs=1;
cs=0;
wdata(1,0x0b);
cs=1;
delay(10000);
cs=0;
wdata(2,0x03);
cs=1;
cs=0;
wdata(3,0x03);
cs=1;
cs=0;
wdata(5,0x05);
cs=1;
cs=0;
wdata(6,0x00);
cs=1;
cs=0;
wdata(8,0x03);
cs=1;
cs=0;
wdata(7,0x0d);
cs=1;
cs=0;
wdata(0,0x07);
cs=1;
cs=0;
wdata(1,0x0f);
cs=1;
delay(10000);
cs=0;
wdata(2,0x03);
cs=1;
cs=0;
wdata(3,0x01);
cs=1;
cs=0;
wdata(5,0x05);
cs=1;
cs=0;
wdata(6,0x00);
cs=1;
cs=0;
wdata(8,0x03);
cs=1;
cs=0;
wdata(7,0x0d);
cs=1;
cs=0;
wdata(0,0x05);
cs=1;
cs=0;
wdata(1,0x01);
cs=1;
delay(10000);
cs=0;
wdata(2,0x03);
cs=1;
cs=0;
wdata(3,0x00);
cs=1;
cs=0;
wdata(5,0x05);
cs=1;
cs=0;
wdata(6,0x00);
cs=1;
cs=0;
wdata(8,0x03);
cs=1;
cs=0;
wdata(7,0x0d);
cs=1;
cs=0;
wdata(0,0x06);
cs=1;
cs=0;
wdata(1,0x0f);
cs=1;
delay(10000);
cs=0;
wdata(2,0x01);
cs=1;
cs=0;
wdata(3,0x00);
cs=1;
delay(10000);
}
disp_3()
{
clear();
delay(100);
cs=0;
wdata(9,0x09);
cs=1;
cs=0;
wdata(2,0x03);
cs=1;
cs=0;
wdata(3,0x0f);
cs=1;
delay(100000);
}
main()
{
uchar o;
lcdinitial();
clear();
cs=0;
wdata(9,0x01);
cs=1;
while(1)
{
for(o=0;o<31;o++)
{
cs=0;
wdata(o,0x0f);
cs=1;
}
delay(10000);
disp_1();
delay(10000);
disp_2();
delay(10000);
disp_3();
delay(10000);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -