⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 text1.c

📁 由C 语言实现的液晶 利用的是KEIL环境已经得到验证
💻 C
字号:
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char

sbit rs = P2^0;
sbit rw = P2^1;
sbit en = P2^2;
sbit psb = P2^3;
sbit ret = P2^5;
uchar command,data1,data2,com0;
uchar lcd_bufl,lcd_bufg;//定义显示缓冲区
void lcd_int();
void clear_lcd();
void lcd_set();
void display();
void dis_init();	  
void delay(uchar ms);
void write_command(uchar command);
void write_data(uchar data0);

//液晶初始化

void lcd_int(void)
{
 ret=0;
 delay(10);
 ret=1;
 _nop_();
 psb=1;//将PSB置1,通信方式为8BIT数据并口
 _nop_();
}
//LCD功能设置
void lcd_set(void)
{
 command=0x34;//功能设置--8BIT控制界面,扩充指令集---这个可去掉
 write_command(command);
 command=0x30;//功能设置--8BIT控制界面,基本指令集
 write_command(command);
 command=0x01;//清屏幕显示,将DDRAM的地址计数器归零
 write_command(command);
 command=0x06;//DDRAM的地址计数器(AC)加1
 write_command(command);
 command=0x0c;//显示打开,光标关,反白显示关
 write_command(command);
}
//清屏程序
void clear_lcd(void)
{
command=0x01;
write_command(command);
command=0x34;
write_command(command);
command=0x30;
write_command(command);
}

//写指令程序
void write_command(uchar command)
{
 delay(100);
 rs=0;
 rw=0;
 P0=command;
 en=1;
 _nop_();
 _nop_();
 en=0;
}
//写数据程序
void write_data(uchar data0)
{
 delay(100);
 rs=1;
 rw=0;
 P0=data0;
 en=1;
 _nop_();
 _nop_();
 en=0;
}
//延时子程序
void delay(uchar ms)
{
 uchar i;
 while(ms--)
 {
  for(i=0;i<120;i++);
 }
}

//液晶显示程序
void display(void)
{
 command=com0;
 write_command(command);
 data2=lcd_bufl;
 data1=lcd_bufg;
 write_data(data1);
 data1=data2;
 write_data(data1);
 }
   
   //显示字符
   void dis_init(void)
   {
   com0=0x82;
   lcd_bufl=0xcf;
   lcd_bufg=0xc4;
   display();
   }

   //主程序
   main()
{
	 lcd_int();
	 lcd_set();
	 while(1)
{
   dis_init();
   }
   }





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -