新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)驅(qū)動1602液晶顯示器c程序

51單片機(jī)驅(qū)動1602液晶顯示器c程序

作者: 時(shí)間:2012-11-24 來源:網(wǎng)絡(luò) 收藏
/*
程序效果:單片機(jī)控制液晶1602顯示字母數(shù)字,用戶自行更改io
程序版權(quán):http://www.51hei.com
*/
#includereg52.h> //頭文件
#define uchar unsigned char //宏定義
#define uint unsigned int
uchar code table[]="51HEI XING XING " ; //顯示的字母
uchar code table1[]="51HEI MCUXUE YUAU" ;
sbit lcdrs=P1^0; //寄存器選擇引腳
sbit lcdwr=P1^1; //讀寫引腳
sbit lcde=P1^2; //片選引腳
void delay(uchar x) //延時(shí)子函數(shù)
{
  uchar i,j;
  for(i=x;i>0;i--)
    for(j=110;j>0;j--);
}
void write_com(uchar com) //寫指令子函數(shù)
{           //根據(jù)協(xié)議編寫
  P2=com;
   lcdrs=0;
  lcdwr=0;
  delay(5);
  lcde=0;
  delay(5);
  lcde=1;
}
void write_dat(uchar dat) //寫數(shù)據(jù)子函數(shù)
{
  P2=dat;
  lcdrs=1;
  lcdwr=0;
  delay(5);
  lcde=0;
  delay(5);
  lcde=1;
}
void init() //初始化子函數(shù)
{
  write_com(0x01); //清屏
  write_com(0x3f); //功能設(shè)置
  write_com(0x0d); //顯示控制
  write_com(0x06); //輸入方式設(shè)置
}
void main()
{
  uchar i; //定義局部變量
  init();
  write_com(0x80+0x02+0x10); //指針的位置
  for(i=0;i15;i++) //顯示
  {
    write_dat(table[i]);
    delay(50); //延時(shí),用于調(diào)節(jié)速度不匹配
  }
  write_com(0x80+0x40+0x10);
  for(i=0;i16;i++)
  {
    write_dat(table1[i]);
    delay(50);
  }
  for(i=0;i16;i++)
  {
    write_com(0x18);
    delay(50);
  }
  while(1);
}

51單片機(jī)相關(guān)文章:51單片機(jī)教程


c語言相關(guān)文章:c語言教程


單片機(jī)相關(guān)文章:單片機(jī)教程


單片機(jī)相關(guān)文章:單片機(jī)視頻教程


單片機(jī)相關(guān)文章:單片機(jī)工作原理


led顯示器相關(guān)文章:led顯示器原理


調(diào)光開關(guān)相關(guān)文章:調(diào)光開關(guān)原理


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉