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

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

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

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

基于51單片機(jī)的1602液晶顯示方案

天才小貍花 ? 來源:Sigle_chip ? 作者:Sigle_chip ? 2022-09-27 11:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

作為常見的一種顯示方案,被廣泛運(yùn)用于實(shí)際的產(chǎn)品,相對于數(shù)碼管,其顯示穩(wěn)定,無頻閃,顯示內(nèi)容豐富,相對于屏幕,控制簡單,被廣泛運(yùn)用于對體積要求不嚴(yán)格的場所。

1602

其顯示為每行16個(gè)字符,兩行。被成為1602,大多數(shù)1602模塊基于HD44780液晶芯片進(jìn)行控制,其內(nèi)部含有Ascii字庫,可直接顯示所對應(yīng)的Ascii字符。其每個(gè)字符為5*8像素點(diǎn)陣,可通過漢字取模來增加1602對一些簡單漢字的顯示。

字符型LCD1602通常分為14條引腳和16引腳兩種,16引腳多出來的是背光電源線VCC(15引腳)和地線(16引腳),其控制原理與14引腳LCD完全一樣,由于其引腳使用較多,可通過IIC轉(zhuǎn)接減少所使用的IO。

操作時(shí)序

1602 含3個(gè)控制端,分別是:RS(數(shù)據(jù)/命令選擇端)、RW(讀寫控制端)、E(使能信號,RW和RS指示了讀、寫的方向和內(nèi)容。

在讀數(shù)據(jù)(或者Busy標(biāo)志)期間,EN線必須保持高電平;

而在寫指令(或者數(shù)據(jù))過程中,EN線上必須送出一個(gè)正脈沖。RW、RS的組合一共有四種情況,分別對應(yīng)四種操作:

讀狀態(tài)

在進(jìn)行讀寫指令和數(shù)據(jù)時(shí),需要檢測當(dāng)前1602是否處于忙狀態(tài),處于忙狀態(tài)時(shí)不能讀寫。當(dāng)D0-D7數(shù)據(jù)引腳不全為0時(shí),單片機(jī)處于忙狀態(tài)。需要等待。

Input:
RS=L;
RW=H;
E=H;
Output:
D0- D7

void readSta() //讀狀態(tài)
{
unsignedchar Sa;
LCD=0xff; //單片機(jī)讀狀態(tài)時(shí),保證自己是高電位
RS=0;
RW=1;
E=1;
do{
Sa=LCD;
}while(Sa&0x80);//拉低七位 判斷最高位為0不忙跳出循環(huán)為1忙不跳出循環(huán)
}

寫狀態(tài)(指令)

向1602中寫入一個(gè)字節(jié)的控制指令來達(dá)到一定的控制效果,常見指令如下。

# 01H:清除DDRAM的所有單元,光標(biāo)被移動到屏幕左上角。
# 02H:DDRAM所有單元的內(nèi)容不變,光標(biāo)移至左上角。



輸入方式設(shè)置:
這些指令規(guī)定了兩個(gè)方面:一是寫入一個(gè)DDRAM單元后,地址指針如何改變(加一還是減一);二是屏幕上的內(nèi)容是否滾動。

# 04H:寫入DDRAM后,地址指針減一,比如第一個(gè)字符寫入8FH,則下一個(gè)字符會寫入8EH;屏幕上的內(nèi)容不滾動。
# 05H:寫入DDRAM后,地址指針減一,同上一種情況;每一個(gè)字符寫入以后,屏幕上的內(nèi)容向右滾動一個(gè)字符位。
# 06H:寫入DDRAM后,地址指針加一,比如第一個(gè)字符寫入80H,則下一個(gè)字符會寫入81H;屏幕上的內(nèi)容也是不滾動。這應(yīng)該是最常用的一種顯示方式。
# 07H:寫入DDRAM后,地址指針加一,同上一種情況;每一個(gè)字符寫入以后,屏幕上的內(nèi)容向左滾動一個(gè)字符位。




屏幕開關(guān)、光標(biāo)開關(guān)、閃爍開關(guān)設(shè)置

# 08H、09H、0AH、0BH:關(guān)閉顯示屏,實(shí)質(zhì)上是不把DDRAM中的內(nèi)容對應(yīng)顯示在屏幕上,對DDRAM的操作還是在進(jìn)行的,執(zhí)行這條指令,接著對 DDRAM進(jìn)行寫入,屏幕上沒有任何內(nèi)容,但是接著執(zhí)行下面的某條指令,就能看到剛才屏幕關(guān)閉期間,對DDRAM操作的效果了。

# 0cH:打開顯示屏,不顯示光標(biāo),光標(biāo)所在位置的字符不閃爍。
# 0dH:打開顯示屏,不顯示光標(biāo),光標(biāo)所在位置的字符閃爍。
# 0eH:打開顯示屏,顯示光標(biāo),光標(biāo)所在位置的字符不閃爍。
# 0fH:打開顯示屏,顯示光標(biāo),光標(biāo)所在位置的字符閃爍。

關(guān)于光標(biāo)的位置:光標(biāo)所在的位置指示了下一個(gè)被寫入的字符所處的位置,加入在寫入下一個(gè)字符前沒有通過指令設(shè)置DDRAM的地址,那么這個(gè)字符就應(yīng)該顯示在光標(biāo)指定的地方。



設(shè)置光標(biāo)移動、整體畫面是否滾動。
# 10H:每輸入一次該指令,AC就減一,對應(yīng)了光標(biāo)向左移動一格。整體的畫面不滾動。
# 14H:每輸入一次該指令,AC就加一,對應(yīng)了光標(biāo)向右移動一格。整體的畫面不滾動。
# 18H:每輸入一次該指令,整體的畫面就向左滾動一個(gè)字符位。
# 1CH:每輸入一次該指令,整體的畫面就向右滾動一個(gè)字符位。畫面在滾動的時(shí)候,每行的首尾是連在一起的,也就是每行的第一個(gè)字符,若左移25次,就會顯示在該行的最后一格。在畫面滾動的過程中,AC的值也是變化的。

顯示模式設(shè)定指令,設(shè)定了顯示幾行,顯示什么樣的點(diǎn)陣字符,數(shù)據(jù)總線占用幾位。
# 20H:4位總線,單行顯示,顯示5×7的點(diǎn)陣字符。
# 24H:4位總線,單行顯示,顯示5×10的點(diǎn)陣字符。
# 28H:4位總線,雙行顯示,顯示5×7的點(diǎn)陣字符。
# 2CH:4位總線,雙行顯示,顯示5×10的點(diǎn)陣字符。
# 30H:8位總線,單行顯示,顯示5×7的點(diǎn)陣字符。
# 34H:8位總線,單行顯示,顯示5×10的點(diǎn)陣字符。
# 8H:8位總線,雙行顯示,顯示5×7的點(diǎn)陣字符。這是最常用的一種模式。3CH:8位總線,雙行顯示,顯示5×10的點(diǎn)陣字符。

RS = L

RW = L

然后將數(shù)據(jù)送到數(shù)據(jù)口 D0~D7,最后 E引腳一個(gè)高脈沖將數(shù)據(jù)寫入。

/*寫指令函數(shù)*/
void write_con(u8 con){
P0=con; //送出指令
RS=0;RW=0;EN=1; //寫指令時(shí)序
delay(200);
EN=0;
}

寫數(shù)據(jù)

RS = H

RW = L

然后將數(shù)據(jù)送到數(shù)據(jù)口 D0~D7,最后 E引腳一個(gè)高脈沖將數(shù)據(jù)寫入。

void write_dat(u8 dat){
P0=dat; //送出數(shù)據(jù)
RS=1;RW=0;EN=1;//寫數(shù)據(jù)時(shí)序
delay(200);
EN=0;
}

讀數(shù)據(jù)

RS=H,RW=H,E=H

讀出D0~D7數(shù)據(jù)

審核編輯:湯梓紅

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

    關(guān)注

    6067

    文章

    44992

    瀏覽量

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

    關(guān)注

    6

    文章

    621

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    使用51單片機(jī)實(shí)現(xiàn)LCD1602液晶顯示實(shí)驗(yàn)的程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)實(shí)現(xiàn)LCD1602液晶顯示實(shí)驗(yàn)的程序免費(fèi)下載。
    發(fā)表于 09-18 17:20 ?16次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>實(shí)現(xiàn)LCD<b class='flag-5'>1602</b><b class='flag-5'>液晶顯示</b>實(shí)驗(yàn)的程序免費(fèi)下載

    LCD1602的引腳說明和使用51單片機(jī)控制1602液晶顯示的代碼免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是LCD1602的引腳說明和使用51單片機(jī)控制1602液晶顯示的代碼免費(fèi)下載。
    發(fā)表于 07-31 17:35 ?9次下載
    LCD<b class='flag-5'>1602</b>的引腳說明和使用<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>控制<b class='flag-5'>1602</b><b class='flag-5'>液晶顯示</b>的代碼免費(fèi)下載

    使用51單片機(jī)開發(fā)板進(jìn)行1602液晶顯示的程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)開發(fā)板進(jìn)行1602液晶顯示的程序免費(fèi)下載。
    發(fā)表于 06-28 17:42 ?9次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>開發(fā)板進(jìn)行<b class='flag-5'>1602</b><b class='flag-5'>液晶顯示</b>的程序免費(fèi)下載

    使用51單片機(jī)進(jìn)行LCD1602液晶顯示的控制代碼程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)進(jìn)行LCD1602液晶顯示的控制代碼程序免費(fèi)下載。
    發(fā)表于 06-11 17:47 ?8次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>進(jìn)行LCD<b class='flag-5'>1602</b><b class='flag-5'>液晶顯示</b>的控制代碼程序免費(fèi)下載

    使用51單片機(jī)進(jìn)行1602液晶顯示控制代碼的資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)進(jìn)行1602液晶顯示控制代碼的資料免費(fèi)下載。
    發(fā)表于 05-29 17:56 ?5次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>進(jìn)行<b class='flag-5'>1602</b><b class='flag-5'>液晶顯示</b>控制代碼的資料免費(fèi)下載

    基于51單片機(jī)簡易水位控制系統(tǒng)1602液晶顯示仿真設(shè)計(jì)資料

    基于51單片機(jī)簡易水位控制系統(tǒng)1602液晶顯示仿真設(shè)計(jì)資料
    發(fā)表于 10-25 10:09 ?30次下載

    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>怎么<b class='flag-5'>顯示</b>當(dāng)前時(shí)間_(記錄)<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>——LCD<b class='flag-5'>1602</b><b class='flag-5'>液晶顯示</b>模塊

    基于51單片機(jī)1602液晶顯示秒表例程源代碼

    基于51單片機(jī)1602液晶顯示秒表例程源代碼
    發(fā)表于 05-12 16:19 ?11次下載

    基于51單片機(jī)1602液晶顯示溫度例程源代碼

    基于51單片機(jī)1602液晶顯示溫度例程源代碼
    發(fā)表于 05-17 15:06 ?5次下載

    基于51單片機(jī)的串口發(fā)送1602液晶顯示例程源代碼

    基于51單片機(jī)的串口發(fā)送1602液晶顯示例程源代碼
    發(fā)表于 05-16 11:53 ?5次下載

    基于89C51單片機(jī)1602液晶顯示的計(jì)算器源程序

    基于89C51單片機(jī)1602液晶顯示的計(jì)算器源程序
    發(fā)表于 05-16 10:22 ?24次下載

    基于89C51單片機(jī)1602液晶顯示的密碼鎖源程序

    基于89C51單片機(jī)1602液晶顯示的密碼鎖源程序
    發(fā)表于 05-16 10:14 ?6次下載

    基于89C51單片機(jī)1602液晶顯示距離源程序

    基于89C51單片機(jī)1602液晶顯示距離(需選配超聲波探頭)源程序
    發(fā)表于 05-16 10:13 ?0次下載

    基于89C51單片機(jī)的PCF8591 1602液晶顯示源程序

    基于89C51單片機(jī)的PCF8591 1602液晶顯示源程序
    發(fā)表于 05-16 09:58 ?0次下載

    基于89C51單片機(jī)的紅外解碼1602液晶顯示源程序

    基于89C51單片機(jī)的紅外解碼1602液晶顯示源程序
    發(fā)表于 05-15 11:07 ?4次下載