原创 LCD1602液晶驱动程序(C51)

2009-5-24 16:33 4029 4 4 分类: MCU/ 嵌入式
/*程序名:LCD1602液晶驱动程序*/
/*程序功能:LCD1602液晶显示字符*/
/*作者:POLO*/
#include<at89x51.h>
#define RS P3_0
#define RW P3_1
#define E P3_2
#define DB7_DB0 P0
#define DB7 P0_7
typedef unsigned char int8;
void lcd_busy(void)//判忙子程序
{
  do
  {
    DB7_DB0=0x80;
    RS="0";
    RW="1";
    E="0";
  E="1";//读上升沿有效
  }
  while(DB7);
  return;
}
void write_ir(int8 idat)//写指令子程序
{
  DB7_DB0=idat;
  RS="0";
  RW="0";
  E="1";
  E="0";//写下降沿有效
  return;
}
void write_dr(int8 ddat)//写数据子程序
{
  DB7_DB0=ddat;
  RS="1";
  RW="0";
  E="1";
  E="0";//写下降沿有效
  return;
}
void init_lcd(void)//初始化液晶子程序
{
  lcd_busy();
  write_ir(0x38);
  lcd_busy();
  write_ir(0x06);
  lcd_busy();
  write_ir(0x0f);
  lcd_busy();
  write_ir(0x01);
  return;
}
int main(void)
{
  init_lcd();      //调用初始化程序
  lcd_busy();
  write_ir(0x80);  //显示位置设置
  lcd_busy();
  write_dr('A');  //显示字符
}

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
4
关闭 站长推荐上一条 /7 下一条