自在自线亚洲а∨天堂在线-中文字幕一区视频播放-扒开双腿猛进入喷水高潮叫声-欧美日本亚洲一区二区-老熟妇高潮偷拍一区二区-国产精品高清一区二区不卡-午夜色福利视频一区二区三区-亚洲国产成人精品福利在线观看-亚洲欧美成人一区二区在线电影

機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
LCD1602_同時(shí)顯示數(shù)字和一個(gè)字符的示例程序
LCD1602_同時(shí)顯示數(shù)字和一個(gè)字符的示例程序
 更新時(shí)間:2008-7-27 15:50:13  點(diǎn)擊數(shù):4
【字體: 字體顏色

 //********WAVE-E6000/T***************
 //*MCU:          AT89C51            *
 //*MCU-crystal:  12M                *
 //*Version:      00                 *
 //*Last Updata:  2005-10-19         *
 //*Author:       www.picavr.com     *
 //*Description:  LCD1602_DISPLAY    *
 //               C Program          *
 //***********************************
 #include<reg51.h>
 #include<intrins.h>
 #define uint unsigned int
 #define uchar unsigned char
 //****************************
 sbit P1_0=P1^0;
 sbit P1_1=P1^1;
 sbit P1_2=P1^2;
 sbit P2_0=P2^0;
 sbit P2_1=P2^1;
 sbit P2_2=P2^2;
 sbit P2_3=P2^3;
 sbit P2_4=P2^4;
 sbit P2_5=P2^5;
 sbit P2_6=P2^6;
 sbit P2_7=P2^7;
 sbit P3_6=P3^6;
 sbit P3_7=P3^7;
 sbit P0_7=P0^7;
 //****************************
 //定義LCD的連接端口
 //****************************
 #define LCD_RS   P2_5
 #define LCD_RW   P2_6
 #define LCD_EN   P2_7
 #define BUSY     P0_7
 #define LCDPort0 P0
 #define SCL      P3_6
 #define SDA      P3_7
 #define K1       P1_0
 #define K2       P1_1
 #define K3       P1_2
 //********************************
 static uchar bdata StateREG; //可位尋址的狀態(tài)寄存器
 sbit CY1 = StateREG^1;          //狀態(tài)
 //********************************
 uchar  Command_Code;
 uchar  Command_Code_No;
 uchar  Buf_Code;
 uchar  Buf_Add;
 uchar  cont; 
 uchar  code Table[]={0x48,0x65,0x6c,0x6c,0x6f,0x20,0x52,0x49,
                      0x53,0x49,0x4f,0x4e,0x00};  //"Hello RISION"
 //******************************
 //函數(shù)原型聲明 *****************
 //******************************
 void  LCDBusy(void);
 void  LCDWrite_Command(void);
 void  LCDWrite_Command_No(void);
 void  INITLCD(void);
 void  LCDWrite_Data(uchar Buf_Data);
 void  _nop_(void);
 void  delay_ms(uchar ms);
 void  LCDWrite_String(void);
 void  STA(void);
 void  STOP(void);
 void  Write_DATA();
 void  Read_DATA();
 void  WRBYT(uchar EEROM_Buf);
 //*******************************
 //===============================
 //延時(shí)最大255毫秒
 //===============================
 void delay_ms(uchar ms)
 {
  uchar i,j;
  for(j=0;j<ms;j++)
   for (i=0;i<124;i++)
   _nop_();
 }
 //===========================
 //寫一個(gè)命令字節(jié),不進(jìn)行忙檢測(cè)
 //===========================
 void LCDWrite_Command_No()
 {
       LCD_EN=0;
       LCD_RS=0;
       LCD_RW=0;
       LCDPort0=Command_Code_No;
       LCD_EN=1 ;
       _nop_();
       LCD_EN=0;
 }
 //===========================
 //寫一個(gè)命令字節(jié),進(jìn)行忙檢測(cè)
 //===========================
 void LCDWrite_Command()
 {
       LCDBusy();
       LCD_EN=0;
       LCD_RW=0;
       LCD_RS=0;
       LCD_EN=1;
       LCDPort0=Command_Code;
       LCD_EN=0;
 }
 //===========================
 //LCD狀態(tài)檢測(cè)
 //===========================
 void LCDBusy()
 {
     uchar BUSY_A;
   do{
      LCDPort0=0xFF;
      LCD_EN=0;
      LCD_RS=0;
      LCD_RW=1;
      LCD_EN=1;
      BUSY_A=LCDPort0;
      LCD_EN=0;
      }
     while ((BUSY_A&0x80)!=0x00);
 }
 //****************************
 void INITLCD()
 {
     delay_ms(15);
     Command_Code=0x38;
     LCDWrite_Command_No();
     delay_ms(5);
     Command_Code=0x38;
     LCDWrite_Command_No();
     delay_ms(5);
     Command_Code=0x38;
     LCDWrite_Command_No();

     Command_Code=0x38;
     LCDWrite_Command();  //設(shè)定LCD為16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)接口
     Command_Code=0x01;
     LCDWrite_Command();  //顯示清屏。
     Command_Code=0x06;
     LCDWrite_Command();  //顯示光標(biāo)自動(dòng)右移,整屏不移動(dòng)。
     Command_Code=0x0C;
     LCDWrite_Command();  //開顯示,不顯示光標(biāo)
 }
 //********************************

 //===========================
 //寫一個(gè)命令字節(jié),進(jìn)行忙檢測(cè)
 //===========================
 void LCDWrite_Data(uchar Buf_Code)
 {
 //      Buf_Code=Buf_Code|0x40;
       LCDBusy();
       LCD_EN=0;
       LCD_RW=0;
       LCD_RS=1;
       LCD_EN=1;
       LCDPort0=Buf_Code;
       LCD_EN=0;
 }
 //****************************
 void LCDWrite_String()
 {
   Command_Code=0x82;cont=0;
     do{
        LCDWrite_Command();
        Command_Code++;
        LCDWrite_Data(Table[cont]);
        cont++;
        }
      while(Table[cont]!=0x00);
      return;
 }
 //****************************
 
 //****************************
 void main()
 {
   INITLCD();
   Command_Code=0x80;
   LCDWrite_Command();  //將數(shù)據(jù)指針設(shè)置到第一行的第一個(gè)字符。
   LCDWrite_Data(0x47);
   LCDWrite_String();
   while(1);
   {;}
 }

  • 上一篇: 采用AT89C2051的6位電子鐘
  • 下一篇: DS1302與PIC16F877接口程序
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1