标题:
1602液晶显示程序
[打印本页]
作者:
kjl
时间:
2018-1-22 09:48
标题:
1602液晶显示程序
#include<reg52.h>
typedef unsigned char uint8;//数据类型宏定义
sbit BF = P0^7;//BF代表P0的最高位
sbit EN = P2^5;//LCD使能端---随电路设计调整
sbit RS = P1^0;//指令/数据
sbit RW = P1^1;//读/写
sbit s1=P3^4;
void wait(void)//读状态,如果忙就继续检查;如果闲,就执行后续语句
{
P0=0xFF;
do
{
RS=0;
RW=1;
EN=0;
EN=1;
}
while (BF==1); //(bit)()
EN=0;
}
//写数据函数---显示
void w_dat(uint8 dat)
{
wait();
EN=0;
P0=dat;
RS=1;
RW=0;
EN=1;
EN=0;
}
void w_cmd(uint8 cmd)//写指令函数--执行cmd代码
{
wait();//等待函数
EN=0;
P0=cmd;
RS=0;
RW=0;
EN=1;
EN=0;
}
void Init_LCD1602(void)
{
w_cmd(0x38);//写指令0x38--显示模式
w_cmd(0x0c);//0000 1100--打开显示
w_cmd(0x06);
w_cmd(0x01);
}
main()
{
Init_LCD1602();//调用LCD函数
if(s1==0)
w_cmd(0x80+0x31); //确定显示的位置--写指令
//代码为具体的地址值 0x80=0x80+0x00
w_dat('A'); //显示一个字符 A 'A'
while(1);
}
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1