📄 301c3 lcm.c
字号:
//SMS0301C3
#include<reg51.h>
#include<intrins.h>
#define time_1 6000
sbit LOADPIN = P1^0; //用户自定义LOAD对应引脚
sbit CLKPIN = P1^1; //用户自定义CLK对应引脚
sbit DIPIN = P1^2; //用户自定义DI对应引脚
unsigned char data l_data[5]; //用户自定义LCD缓冲区
void delay(unsigned int t) // 延时子程序
{ unsigned int i,j;
for(i=0;i<t;i++)
for(j=0;j<10;j++)
;
}
void lcdwbit(bit n)
{ DIPIN = n;
CLKPIN = 1;
CLKPIN = 0;
CLKPIN = 1;
}
void lcdwd(unsigned char data1)
{ unsigned char i;
//data1=~data1; //数据取反
for(i=0;i<8;i++)
{ if((data1&0x01)==0x01)
lcdwbit(1);
else
lcdwbit(0);
data1>>=1;
}
}
void l_set_clr()
{
l_data[1]=0xff;
l_data[2]=0xff;
l_data[3]=0xff;
l_data[4]=0xff;
l_data[5]=0xff;
}
void l_set0()
{
l_data[1]=0xff;
l_data[2]=0x90;
l_data[3]=0x90;
l_data[4]=0x90;
l_data[5]=0xff;
}
void l_set1()
{
l_data[1]=0xff;
l_data[2]=0xf3;
l_data[3]=0xf3;
l_data[4]=0xf3;
l_data[5]=0xff;
}
void l_set2()
{
l_data[1]=0xff;
l_data[2]=0x89;
l_data[3]=0x89;
l_data[4]=0x89;
l_data[5]=0xff;
}
void l_set3()
{
l_data[1]=0xff;
l_data[2]=0xa1;
l_data[3]=0xa1;
l_data[4]=0xa1;
l_data[5]=0xff;
}
void l_set4()
{
l_data[1]=0xff;
l_data[2]=0xe2;
l_data[3]=0xe2;
l_data[4]=0xe2;
l_data[5]=0xff;
}
void l_set5()
{
l_data[1]=0xff;
l_data[2]=0xa4;
l_data[3]=0xa4;
l_data[4]=0xa4;
l_data[5]=0xff;
}
void l_set6()
{
l_data[1]=0xff;
l_data[2]=0x84;
l_data[3]=0x84;
l_data[4]=0x84;
l_data[5]=0xff;
}
void l_set7()
{
l_data[1]=0xff;
l_data[2]=0xf1;
l_data[3]=0xf1;
l_data[4]=0xf1;
l_data[5]=0xff;
}
void l_set8()
{
l_data[1]=0xff;
l_data[2]=0x80;
l_data[3]=0x80;
l_data[4]=0x80;
l_data[5]=0xff;
}
void l_set9()
{
l_data[1]=0xff;
l_data[2]=0xa0;
l_data[3]=0xa0;
l_data[4]=0xa0;
l_data[5]=0xff;
}
void l_set()
{
l_data[1]=0xbe;
l_data[2]=0x00;
l_data[3]=0x00;
l_data[4]=0x00;
l_data[5]=0x5c;
}
void lcdwd1()
{ unsigned char i;
LOADPIN=1;
for(i=0;i<5;i++)
lcdwd(l_data[i+1]);
LOADPIN=0;
}
void transram()
{
l_set0();
lcdwd1(); //显示0
delay(time_1);
l_set1();
lcdwd1(); //显示1
delay(time_1);
l_set2();
lcdwd1(); //显示2
delay(time_1);
l_set3();
lcdwd1(); //显示3
delay(time_1);
l_set4();
lcdwd1(); //显示4
delay(time_1);
l_set5();
lcdwd1(); //显示5
delay(time_1);
l_set6();
lcdwd1(); //显示6
delay(time_1);
l_set7();
lcdwd1(); //显示7
delay(time_1);
l_set8();
lcdwd1(); //显示8
delay(time_1);
l_set9();
lcdwd1(); //显示9
delay(time_1);
l_set();
lcdwd1(); //全显
delay(time_1);
delay(time_1);
}
main()
{ while(1)
{
transram();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -