久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

LCD1602液晶顯示(51單片機c語言)

作者:佚名   來源:本站原創   點擊數:  更新時間:2014年04月10日   【字體:


效果圖:
電路圖:

#include<reg52.h> 
#include<intrins.h>  //包含_nop_()函數定義的頭文件
#define uchar unsigned char
#define uint unsigned int
sbit RS=P2^5;    //寄存器選擇位
sbit RW=P2^6;    //讀寫選擇位
sbit E=P2^7;     //使能信號位
//sbit BF=P0^7;    //忙碌標志位
const uchar string1[ ]={"    mazirong     "};
const uchar string2[ ]={"TEL:13297961386  "};
/*****************************************************
函數功能:判斷液晶模塊的忙碌狀態
返回值:result。result=1,忙碌;result=0,不忙
***************************************************/
/*uchar BusyTest()
{
    bit result;
 RS=0;       //根據規定,RS為低電平,RW為高電平時,可以讀狀態
    RW=1;
    E=1;        //E=1,才允許讀寫
    _nop_();   //空操作
    _nop_();
    _nop_();
    _nop_();   //空操作四個機器周期,給硬件反應時間
    result=BF;  //將忙碌標志電平賦給result
 E=0;
    return result;
}*/
//*********************延時
void delay(uchar z)
{
 uchar i,j;
 for(i=z;i>0;i--);
  for(j=110;j>0;j--);
}
//********************寫指令
void WriteInstruction(uchar dictate)

// while(BusyTest()==1);
 RS=0;                  //根據規定,RS和R/W同時為低電平時,可以寫入指令
 RW=0; 
 E=0;                   //E置低電平(寫指令時,E為高脈沖)
                             // 就是讓E從0到1發生正跳變,所以應先置"0"
 P0=dictate;            //將數據送入P0口,即寫入指令或地址
 delay(1);
 /*_nop_();
   _nop_();
   _nop_();
  _ nop_();*/
  E=1;                   //E置高電平
  _nop_();
  _nop_();
  _nop_();
  _nop_();               //空操作四個機器周期,給硬件反應時間
   E=0;                  //當E由高電平跳變成低電平時,液晶模塊開始執行命令
}
//*********************寫數據
void WriteData(uchar dat)
{
// while(BusyTest()==1);  
 RS=1;   //RS為高電平,RW為低電平時,可以寫入數據
 RW=0;
 E=0;            //(寫指令時,E為高脈沖)
                    // 就是讓E從0到1發生正跳變,所以應先置"0"
 P0=dat;         //將數據送入P0口,即將數據寫入液晶模塊
 delay(1);
 /*_nop_();
   _nop_();
   _nop_();
  _ nop_();*/
  E=1;          //E置高電平
  _nop_();
  _nop_();
  _nop_();
  _nop_();      //空操作四個機器周期,給硬件反應時間
  E=0;          //當E由高電平跳變成低電平時,液晶模塊開始執行命令
}
//*******************初始化
void Init(void)
{
 WriteInstruction(0x38);  //顯示模式設置:16×2顯示,5×7點陣,8位數據接口
 WriteInstruction(0x0c);  //顯示模式設置:顯示開,無光標
 WriteInstruction(0x06);  //顯示模式設置:光標右移,字符不移
 WriteInstruction(0x01);  //清屏幕指令,將以前的顯示內容清除
}
//*******************主函數
void main(void)         
{
 uchar a;
   Init();      
   while(1)
   {
  a=0;
  WriteInstruction(0x80);  // 設置顯示位置為第一行的第1個字
    while(string1[a] != '\0')   //'\0'是數組結束標志
  {     
   WriteData(string1[a]);
   a++;
  }
 
  a=0;
  WriteInstruction(0x80+0x40); // 設置顯示位置為第二行的第1個字
  while(string2[a] != '\0') //'\0'是數組結束標志
  {     
   WriteData(string2[a]);
   a++;
  }    
 }
}

 

關閉窗口
主站蜘蛛池模板: 91亚洲精品国偷拍自产在线观看 | 日韩精品一区二区三区中文字幕 | 国产成人精品综合 | 日韩av免费看 | 爱爱视频在线观看 | 国产精品一区二区在线免费观看 | 青青草这里只有精品 | 日韩色图在线观看 | 成人午夜电影在线观看 | 欧美国产精品 | 国产精品国产成人国产三级 | 亚洲精品中文字幕在线观看 | 亚洲电影中文字幕 | 性欧美xxxx | 在线区 | 日本黄色片免费在线观看 | 男女网站免费观看 | 中文字幕免费观看 | 日韩精品色网 | 狠狠久 | 色伊人网 | 一区在线视频 | 精品视频在线一区 | 91亚洲精选 | 一区二区日韩精品 | 日日想夜夜操 | 久久精品99 | 久草福利| 国产精品久久久久久久免费大片 | 成人国产综合 | 中文精品视频 | 国产成人影院 | 日本黄色免费大片 | 久久久久久综合 | 久久亚洲一区 | 成人国产精品久久久 | a在线观看免费 | 亚洲a视频 | 国产精品久久久久久久久免费高清 | 国产精品一区二区在线 | 欧美精品在线免费 |