一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

51單片機(jī)的驅(qū)動(dòng)LCD屏

汽車電子技術(shù) ? 來源:嵌入式悅翔園 ? 作者: JamesBin ? 2023-02-17 14:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

液晶顯示器(LiquidCrystal Display,簡稱LCD)可以顯示數(shù)字、字母、漢字、以及圖形圖像等豐富的內(nèi)容,應(yīng)用非常廣泛。液晶顯示器由液晶顯示部分和控制器兩部分組成,控制器通過控制液晶顯示區(qū)的電壓,實(shí)現(xiàn)字符的顯示。LCD可分為段型、字符型和點(diǎn)陣型三種。其中1602字符型液晶是應(yīng)用最廣泛的液晶顯示器之一。

一、LCD簡介

1602液晶的控制器是采用日立公司的HD44780集成電路,只需將待顯字符的ASCII碼放入其數(shù)據(jù)存儲器,字符就會自動(dòng)在液晶顯示器上顯示。該顯示器每屏最多可顯示2行,每行16個(gè)字符,共32個(gè)字符。

1602型LCD分有背光(16個(gè)引腳)和無背光(14個(gè)引腳)兩種。14腳1602型LCD引腳共分成三類:

1、電源引腳: 引腳1和引腳2 分別是電源正極(VDD)和負(fù)極(VSS)。

2、數(shù)據(jù)引腳: 引腳7到引腳14共8個(gè)引腳是雙向數(shù)據(jù)總線的第0位到第8位。由于P0口無上拉電阻,因此如果需要接到P0口,則必須接上拉電阻。而接到其他并口,可不接上拉電阻。

圖片

二、控制介紹

控制引腳:

引腳3(VL)是反視度調(diào)整引腳,通常接地。

引腳4(RS)是寄存器選擇引腳,當(dāng)RS=1時(shí)選擇數(shù)據(jù)寄存器,當(dāng)RS=0時(shí),選擇指令寄存器。

引腳5(R/W)是讀寫選擇引腳,當(dāng)R/W=1時(shí)讀,當(dāng)R/W=0時(shí)寫。

引腳6(E)是模塊使能信號,當(dāng)E上為高電平時(shí),可以讀出數(shù)據(jù)或指令;當(dāng)E上電平正跳變時(shí),開始寫入數(shù)據(jù)或指令;當(dāng)E上電平負(fù)跳變時(shí),開始執(zhí)行指令。

圖片

三、LCD初始化

關(guān)于這一點(diǎn),LCD1602說明手冊上已經(jīng)明確告訴我們了,想都不要去想,管你這些什么意思,照做即可。

延時(shí)15ms


寫指令38H


延時(shí)5ms


寫指令38H


寫指令08H


寫指令01H


寫指令06H


寫指令0CH

以上為初始化過程,延時(shí)部分好解決,前面講過了。這里就看如何“寫指令”了。問題來了,液晶模塊怎么知道單片機(jī)給我的是命令還是數(shù)據(jù)。(叁議電子www.ppptalk.com)LCD1602看到RS為高時(shí),就明白了,哦,你要給我傳送數(shù)據(jù)了;看到RS為低時(shí),就知道你要給我指令了。這個(gè)只是選擇“命令”還是“數(shù)據(jù)”,還有一個(gè)問題,我們的目的是“寫指令”,那么液晶模塊怎么知道是“寫”還是“讀”呢?

再來看RW信號,當(dāng)RW為低的時(shí)候,液晶模塊就知道了,單片機(jī)要給我“寫”了;當(dāng)RW為高的時(shí)候,液晶模塊也知道了,單片機(jī)要“讀”了。很明顯,我們這里要把RW設(shè)置為低。“寫/讀”和“指令/數(shù)據(jù)”都知道如何告訴液晶模塊了,那么這個(gè)指令從怎么傳過去呢?

通過D0-D7這8根線(也就是P2端口)來傳輸,比如我要傳送的指令為x033,那么就把這個(gè)數(shù)據(jù)0x33放到P2端口,當(dāng)LCD1602看到“寫”和“指令”的時(shí)候,就知道把P2端口上的0x33這個(gè)指令拿過來了。這樣就達(dá)到了“寫”“指令”“0x33”的目的。

但是不是這樣就能讓LCD1602正常執(zhí)行了。不是的?;氐轿覀兦懊嬷v的那個(gè)例子,這里加個(gè)條件,屋內(nèi)人聽到敲門三下后,判斷暗號正確了,但是沒有直接開門,而是通知了他的上級,得到上級的授權(quán)后,才開門。也就是兩個(gè)條件,暗號正確和上級授權(quán)。

LCD1602也一樣,收到指令沒有立即執(zhí)行,還要等另外一個(gè)信號,就是EN使能信號。此時(shí)EN給個(gè)一定寬度的脈沖,LCD1602才開始執(zhí)行。

四、驅(qū)動(dòng)代碼

void Lcd_Write_Cmd(unsigned char Cmd) {  


    delayMs(5);//注意這里需要延時(shí)5ms比較保險(xiǎn) 代替判斷忙信號  


    RW = 0; 


    P2 = Cmd;        //準(zhǔn)備好指令  


    RS=0;         //告訴LCD1602,P0中放的是指令不是數(shù)據(jù)  


    EN=1;  


    delayUs(5); //根據(jù)時(shí)序圖,脈沖要有一定寬度  


    EN=0;           //使指令有效,開始執(zhí)行


}

同樣的道理,以上代碼中,只需改一下RS信號為1,就是寫數(shù)據(jù)的代碼了

voidLcd_Write_Data(unsignedcharmData) {


    RW = 0;


    delayMs(5);//注意這里需要延時(shí)5ms比較保險(xiǎn)代替判斷忙信號


    P2=mData;//準(zhǔn)備好指令


    RS=1;//告訴LCD1602,P0中放的是數(shù)據(jù)不是指令


    EN=1;


    delayUs(5);//根據(jù)時(shí)序圖,脈沖要有一定寬度


    EN=0;//使指令有效,開始執(zhí)行


}

五、代碼講解

指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。

指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。

指令3:光標(biāo)和顯示模式設(shè)置I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。

指令4:顯示開關(guān)控制。D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo)B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。

指令5:光標(biāo)或顯示移位S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。

指令6:功能設(shè)置命令DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示F:低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符。

指令7:字符發(fā)生器RAM地址設(shè)置。

指令8:DDRAM地址設(shè)置。

指令9:讀忙信號和光標(biāo)地址BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。

指令10:寫數(shù)據(jù)。

指令11:讀數(shù)據(jù)。

這樣你需要給LCD1602什么指令,只需要傳遞給void write_com(unsigned char Cmd)函數(shù)中的Cmd參數(shù)就行了。

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

    關(guān)注

    34

    文章

    4516

    瀏覽量

    171388
  • 字符型
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    6800
  • 點(diǎn)陣型
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    5215
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    C51單片機(jī)相關(guān)的LCD驅(qū)動(dòng)程序源代碼

    C51單片機(jī)相關(guān)的LCD驅(qū)動(dòng)程序源代碼,可供參考調(diào)試
    發(fā)表于 02-22 18:14 ?19次下載

    使用51單片機(jī)實(shí)現(xiàn)LCD滾動(dòng)顯示的程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)實(shí)現(xiàn)LCD滾動(dòng)顯示的程序免費(fèi)下載。
    發(fā)表于 07-15 17:39 ?12次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>實(shí)現(xiàn)<b class='flag-5'>LCD</b><b class='flag-5'>屏</b>滾動(dòng)顯示的程序免費(fèi)下載

    使用51單片機(jī)驅(qū)動(dòng)HT1621B段碼LCD的程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)驅(qū)動(dòng)HT1621B段碼LCD的程序免費(fèi)下載。
    發(fā)表于 07-11 17:40 ?124次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>驅(qū)動(dòng)</b>HT1621B段碼<b class='flag-5'>LCD</b><b class='flag-5'>屏</b>的程序免費(fèi)下載

    使用51單片機(jī)驅(qū)動(dòng)動(dòng)態(tài)筆段式LCD的資料和Proteus仿真詳細(xì)說明

    在分析多背極動(dòng)態(tài)筆段式 LCD驅(qū)動(dòng)原理及其控制邏輯的基礎(chǔ)上 ,使用 AT89C51單片機(jī)對 V IM - 332 - DP動(dòng)態(tài)筆段式 LCD
    發(fā)表于 10-19 08:00 ?4次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>驅(qū)動(dòng)</b>動(dòng)態(tài)筆段式<b class='flag-5'>LCD</b>的資料和Proteus仿真詳細(xì)說明

    使用51單片機(jī)實(shí)現(xiàn)LCD12864顯示顯示的仿真文件免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)實(shí)現(xiàn)LCD12864顯示顯示的仿真文件免費(fèi)下載。
    發(fā)表于 03-23 11:05 ?38次下載

    使用51單片機(jī)實(shí)現(xiàn)LCD12864顯示顯示的仿真文件免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)實(shí)現(xiàn)LCD12864顯示顯示的仿真文件免費(fèi)下載。
    發(fā)表于 03-23 11:05 ?90次下載

    使用51單片機(jī)實(shí)現(xiàn)LCD1602顯示顯示的仿真文件免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的使用51單片機(jī)實(shí)現(xiàn)LCD1602顯示顯示的仿真文件免費(fèi)下載。
    發(fā)表于 03-23 11:05 ?74次下載

    基于51單片機(jī)LCD1602顯示proteus實(shí)驗(yàn)

    基于51單片機(jī)LCD1602顯示proteus實(shí)驗(yàn)
    發(fā)表于 04-30 10:14 ?39次下載

    51單片機(jī)驅(qū)動(dòng)超聲波測距模塊

    51單片機(jī)驅(qū)動(dòng)超聲波測距模塊(單片機(jī)最小系統(tǒng))-使用51單片機(jī)
    發(fā)表于 07-22 10:01 ?61次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>驅(qū)動(dòng)</b>超聲波測距模塊

    51單片機(jī)驅(qū)動(dòng)LCD1602顯示原理及例程

    51單片機(jī)驅(qū)動(dòng)LCD1602顯示原理及例程1.LCD1602A介紹2.LCD1602A中文手冊
    發(fā)表于 11-10 19:51 ?151次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>LCD</b>1602顯示原理及例程

    ARM+51單片機(jī)開發(fā)板套件試用體驗(yàn)

    歡迎訪問我的個(gè)人博客:51單片機(jī)開發(fā)環(huán)境搭建+流水燈51單片機(jī)數(shù)碼管顯示51單片機(jī)DS18B20
    發(fā)表于 11-13 15:51 ?9次下載
    ARM+<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>開發(fā)板套件試用體驗(yàn)

    51單片機(jī)怎么顯示當(dāng)前時(shí)間_(記錄)51單片機(jī)——LCD1602液晶顯示模塊

    51單片機(jī)怎么顯示當(dāng)前時(shí)間_(記錄)51單片機(jī)——LCD1602液晶顯示模塊
    發(fā)表于 11-16 15:06 ?30次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>怎么顯示當(dāng)前時(shí)間_(記錄)<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>——<b class='flag-5'>LCD</b>1602液晶顯示模塊

    MSP430單片機(jī)HT1261驅(qū)動(dòng)LCD段碼

    MSP430單片機(jī)HT1261驅(qū)動(dòng)LCD段碼
    發(fā)表于 11-19 15:36 ?24次下載
    MSP430<b class='flag-5'>單片機(jī)</b>HT1261<b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>LCD</b>段碼<b class='flag-5'>屏</b>

    51單片機(jī)驅(qū)動(dòng)——LCD1602

    51單片機(jī)驅(qū)動(dòng)——LCD16021.描述51單片機(jī)控制LCD
    發(fā)表于 11-21 09:06 ?22次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>驅(qū)動(dòng)</b>——<b class='flag-5'>LCD</b>1602

    通過 I2C 驅(qū)動(dòng) LCD1602 液晶51單片機(jī)

    通過 I2C 驅(qū)動(dòng) LCD1602 液晶51單片機(jī))硬件實(shí)物原理圖3.程序#include <reg
    發(fā)表于 11-23 17:06 ?50次下載
    通過 I2C <b class='flag-5'>驅(qū)動(dòng)</b> <b class='flag-5'>LCD</b>1602 液晶<b class='flag-5'>屏</b>(<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>)