0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

字符型LCD顯示器的應(yīng)用和例程

CHANBAEK ? 來源:小小硬件工程師 ? 作者:小小硬件工程師 ? 2023-11-09 10:03 ? 次閱讀

字符型顯示器的應(yīng)用越來越普遍。熟悉一些字符型顯示器的使用顯得非常重要。我們還可以使用一些特殊的字符型顯示器來作為機(jī)器人的表情顯示。今天的例程是顯示一些英文字符。下面就來看一下今天的例程吧!

一、硬件電路

這里的例程電路有些復(fù)雜,用到了74LS373和74LS00芯片。如下原理圖中U1為AT89C51,其中U1掃描P1口的輸入,并根據(jù)不同的按鍵在字符型液晶上顯示不同的字符本實(shí)例中,液晶模塊掛接在單片機(jī)的總線上,用讀(RD)和寫(WR)信號實(shí)現(xiàn)數(shù)據(jù)的傳輸用U2即74LS373鎖存低位地址(A0 ~ A1),其他地址線未使用,固其讀寫地址為:“ REGO XBYTE[0x0000] //LCD寫指令寄存器的地址,可根據(jù)配置修改:REG XBYTE[0x0001] //LCD讀出數(shù)據(jù)到D0~D7的地址,可根據(jù)配置修改:REG2 XBYTE[0x0002] //LCD寫數(shù)據(jù)寄存器的地址,可根據(jù)配置修改:REG3 XBYTE[0x0003] //LCD讀數(shù)據(jù)寄存器的地址,可根據(jù)配置修改”。

圖片

圖片

74LS373芯片:

74LS373是三態(tài)輸出的八D鎖存器,共有54S373和74LS373兩種線路。373 的輸出端 Q0~Q7 可直接與總線相連。當(dāng)鎖存允許端LE為高電平時(shí),Q 隨數(shù)據(jù)D而變。當(dāng)LE為低電平時(shí),D 被鎖存在已建立的數(shù)據(jù)電平。當(dāng)LE端施密特觸發(fā)器的輸入滯后作用,使交流和直流噪聲抗擾度被改 400mV。

D0~D7 數(shù)據(jù)輸入端

OE 三態(tài)允許控制端(低電平有效)

Q0~Q7 輸出端

圖片

74LS00芯片:

74LS00是與非門,真值表如下。

圖片

二、軟件程序

C程序:

#include < reg51.h >
#include < absacc.h >


#define REG0   XBYTE[0x0000]  //LCD寫指令寄存器的地址,可根據(jù)配置修改
#define REG1   XBYTE[0x0001]  //LCD讀出數(shù)據(jù)到D0~D7的地址,可根據(jù)配置修改
#define REG2   XBYTE[0x0002]  //LCD寫數(shù)據(jù)寄存器的地址,可根據(jù)配置修改
#define REG3   XBYTE[0x0003]  //LCD讀數(shù)據(jù)寄存器的地址,可根據(jù)配置修改


unsigned char bdata busyflag;
unsigned char dat,datn;


unsigned char word1[16]={" This programm "};  //第1行顯示緩存
unsigned char word2[16]={"  by user "};    //第2行顯示緩存
code unsigned char word3[16]={"xiaoxiaoyingjian"};  //用于固定顯示的數(shù)據(jù),固化到ROM
code unsigned char word4[16]={"gongchengshi!"};  //用于固定顯示的數(shù)據(jù),固化到ROM中
code unsigned char word5[16]={"  Wellcome To "};  //用于固定顯示的數(shù)據(jù),固化到ROM中
code unsigned char word6[16]={" Proteus Tools!"};  //用于固定顯示的數(shù)據(jù),固化到ROM中




sbit busyflag_7=busyflag^7;
sbit p10=P1^0;
sbit p11=P1^1;
sbit p12=P1^2;


void busy()    //查詢LCD是否忙碌子程序
{
  do
  {
    busyflag=REG1;
  }while(busyflag_7);
}


void wrc(unsigned char wcon)  //寫控制指令子程序
{
  busy();
  REG0=wcon;
}


void wrd(unsigned char wdat)  //寫數(shù)據(jù)寄存器子程序
{
  busy();
  REG2=wdat;
}


void rdd()  //讀數(shù)據(jù)寄存器子程序
{
  busy();
  dat=REG3;
}


void lcdint()  //LCD初始化子程序
{
  wrc(0x38);  
  wrc(0x01);
  wrc(0x06);
  wrc(0x0c);
}
void wrn(unsigned char word[])  //連續(xù)寫n個(gè)字符數(shù)據(jù)到LCD的數(shù)據(jù)寄存器中
{
  unsigned char i;
  for(i=0;i< 16;i++)
  {
    wrd(word[i]);
  }
}


void main()
{
    lcdint();  //初始化
    wrc(0x80);  //顯示第1行的第1個(gè)字符
    wrn(word1);
    wrc(0xc0);  //顯示第2行的第1個(gè)字符
    wrn(word2);


        while(1)
    {
            if(p10==0) //判斷P1.0是否按下,并顯示數(shù)據(jù)
      {
        wrc(0x80);
        wrn(word1);
        wrc(0xc0);
        wrn(word2);
      }
      if(p11==0)//判斷P1.1是否按下,并顯示數(shù)據(jù)
      {
        wrc(0x80);
        wrn(word3);
        wrc(0xc0);
        wrn(word4);
      }
      if(p12==0)//判斷P1.2是否按下,并顯示數(shù)據(jù)
      {
        wrc(0x80);
        wrn(word5);
        wrc(0xc0);
        wrn(word6);
      }
    }
}

三、仿真展示

程序很簡單,小伙伴們可以根據(jù)需要自己修改程序,然后進(jìn)行驗(yàn)證哦!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 顯示器
    +關(guān)注

    關(guān)注

    21

    文章

    4979

    瀏覽量

    139986
  • 機(jī)器人
    +關(guān)注

    關(guān)注

    211

    文章

    28418

    瀏覽量

    207096
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5343

    瀏覽量

    120365
  • lcd
    lcd
    +關(guān)注

    關(guān)注

    34

    文章

    4426

    瀏覽量

    167494
  • 液晶
    +關(guān)注

    關(guān)注

    6

    文章

    606

    瀏覽量

    69636
收藏 人收藏

    評論

    相關(guān)推薦

    單片機(jī)原理及應(yīng)用:字符LCD顯示器接口技術(shù)#單片機(jī)

    單片機(jī)LCD顯示器
    學(xué)習(xí)硬聲知識
    發(fā)布于 :2022年11月07日 20:11:38

    點(diǎn)陣式字符液晶顯示器設(shè)計(jì)

    點(diǎn)陣式字符液晶顯示器一、實(shí)驗(yàn)?zāi)康亩?、?shí)驗(yàn)內(nèi)容三、實(shí)驗(yàn)步驟四、C代碼如下五、實(shí)驗(yàn)結(jié)果六、實(shí)驗(yàn)體會一、實(shí)驗(yàn)?zāi)康恼莆諉纹瑱C(jī)系統(tǒng)擴(kuò)展點(diǎn)陣式字符
    發(fā)表于 12-08 08:30

    LCD602字符液晶顯示模塊是什么?參數(shù)有哪些

    LCD602字符液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號等點(diǎn)陣式LCD,目前常用161,
    發(fā)表于 02-28 07:14

    LCD為LCM161(HD44780驅(qū)動字符顯示器驅(qū)動程

    LCD為LCM161(HD44780驅(qū)動字符顯示器驅(qū)動程序       ;說明:本LCD
    發(fā)表于 11-28 11:52 ?57次下載

    字符LCD顯示接口的設(shè)計(jì)與實(shí)現(xiàn)

    字符LCD顯示接口的設(shè)計(jì)與實(shí)現(xiàn)
    發(fā)表于 02-08 16:55 ?61次下載

    HL配套C實(shí)驗(yàn)例程LCD12864顯示字符

    HL配套C實(shí)驗(yàn)例程LCD12864顯示字符,配合開發(fā)板學(xué)習(xí)效果更好。
    發(fā)表于 04-11 17:14 ?13次下載

    LCM1602字符液晶顯示器引腳及功能

    LCM1602字符液晶顯示器引腳及功能
    發(fā)表于 06-17 17:40 ?0次下載

    1602LCD液晶顯示器(資料)

    字符液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號等點(diǎn)陣式LCD,目前常用16*1,16*2,20*2和40*2行等的模塊。下面以長沙太陽
    發(fā)表于 11-23 15:45 ?37次下載

    字符點(diǎn)陣式 LCD液晶顯示屏及液晶顯示技術(shù)的詳述

    一:字符點(diǎn)陣式 LCD 液晶顯示屏: LCD 的應(yīng)用很廣泛,簡單如手表上的液晶顯示屏,儀表儀器
    發(fā)表于 11-22 10:36 ?21次下載
    <b class='flag-5'>字符</b><b class='flag-5'>型</b>點(diǎn)陣式 <b class='flag-5'>LCD</b>液晶<b class='flag-5'>顯示</b>屏及液晶<b class='flag-5'>顯示</b>技術(shù)的詳述

    LCD即將超越OLED顯示器?

    臺灣日亞化學(xué)(NICHIA)總經(jīng)理戴圳家表示,蘋果智慧手機(jī)采用OLED顯示器,的確對LED市場造成一定的影響與挑戰(zhàn)。不過,LCD背光與LCD面板已是相當(dāng)成熟的技術(shù),雖然在智慧
    發(fā)表于 07-04 04:27 ?791次閱讀

    LCD1602液晶顯示器的使用說明及C語言例程資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是LCD1602液晶顯示器的使用說明及C語言例程資料免費(fèi)下載。
    發(fā)表于 11-21 17:53 ?14次下載
    <b class='flag-5'>LCD</b>1602液晶<b class='flag-5'>顯示器</b>的使用說明及C語言<b class='flag-5'>例程</b>資料免費(fèi)下載

    LCD1602液晶顯示器的使用要點(diǎn)

    LCD1602液晶顯示器是最為廣泛使用的一種字符液晶顯示模塊。
    的頭像 發(fā)表于 07-11 16:56 ?1.6w次閱讀

    單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)——點(diǎn)陣式字符液晶顯示器

    點(diǎn)陣式字符液晶顯示器一、實(shí)驗(yàn)?zāi)康亩?shí)驗(yàn)內(nèi)容三、實(shí)驗(yàn)步驟四、C代碼如下五、實(shí)驗(yàn)結(jié)果六、實(shí)驗(yàn)體會一、實(shí)驗(yàn)?zāi)康恼莆諉纹瑱C(jī)系統(tǒng)擴(kuò)展點(diǎn)陣式字符
    發(fā)表于 11-25 17:06 ?13次下載
    單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)——點(diǎn)陣式<b class='flag-5'>字符</b><b class='flag-5'>型</b>液晶<b class='flag-5'>顯示器</b>

    如何為LCD1602顯示器創(chuàng)建自定義字符

    電子發(fā)燒友網(wǎng)站提供《如何為LCD1602顯示器創(chuàng)建自定義字符.zip》資料免費(fèi)下載
    發(fā)表于 10-21 09:53 ?3次下載
    如何為<b class='flag-5'>LCD</b>1602<b class='flag-5'>顯示器</b>創(chuàng)建自定義<b class='flag-5'>字符</b>

    如何在Arduino中使用20x4 I2C字符LCD顯示器

    電子發(fā)燒友網(wǎng)站提供《如何在Arduino中使用20x4 I2C字符LCD顯示器.zip》資料免費(fèi)下載
    發(fā)表于 06-28 15:57 ?0次下載
    如何在Arduino中使用20x4 I2C<b class='flag-5'>字符</b><b class='flag-5'>LCD</b><b class='flag-5'>顯示器</b>