📄 lm3037_1.c
字号:
#include"REG51.h"
#define Lcd_Bus P2
unsigned char code distable[11]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x2a}; //*0-9,*
sbit RS= P1^0;
sbit RW= P1^1;
sbit E = P1^2;
sbit PSB= P1^7;
sbit K1= P3^2;
void delay(unsigned int t); //延时
void write_com(unsigned char cmdcode); // 写命令到LCD
void write_data(unsigned char Dispdata); // 写数据到LCD
void lcdinit(); //初始化LCD屏
void hzkdis(unsigned char code *s); //字符串函数
void ceshi(); //文字显示函数
void delay(unsigned int t) //延时
{
unsigned int i, j;
for (i=0; i<t; i++)
for (j=0; j<10; j++) ; }
void write_com(unsigned char cmdcode) // 写命令到LCD
{
RS=0;
RW=0;
E=1;
Lcd_Bus=cmdcode;
E=0;
delay(5);
}
void write_data(unsigned char Dispdata) // 写数据到LCD
{
RS=1;
RW=0;
E=1;
Lcd_Bus=Dispdata;
E=0;
delay(5);
}
void lcdinit() //初始化LCD屏
{
delay(20);
write_com(0x30);
delay(10);
write_com(0x30);
delay(5);
write_com(0x0c); //开显示,光标闪烁
delay(10);
write_com(0x01); //清屏幕
delay(500);
write_com(0x06); // 光标移动,显示区不移动
delay(0);
}
void hzkdis(unsigned char code *s) //字符串函数
{
while (*s>0)
{
write_data(*s);
s++;
delay(50);
}
}
void ceshi() //文字显示函数
{
write_com(0x01);
delay(5);
write_com(0x83);
hzkdis("如何写这里");
}
main() //主函数
{
unsigned char m=0;
PSB=1;
delay(10);
lcdinit();
delay(10);
while (1)
{ if (K1==0)
{ m++;
if (m>=9) m=0;
}
ceshi(); //主函数
delay(5000);
write_com(0x01);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -