要想實現人機交互,顯示裝置是不可缺少的。這篇文章主要關于如何控制液晶顯示,并在此基礎上加上定時器的功能,把原來已用數碼管顯示" /> 777指甲刀
電子電路 功放電路 電子制作 集成塊資料 電子報 pcb 變壓器 元器件知識 逆變器 電路圖 開關電源 傳感器技術 led 電磁兼容
電子電路圖
當前位置: 首頁 > 電子電路 > 設計編程

51單片機對LCD1602液晶顯示器的控制

時間:2018-12-26 14:43:12來源:網絡 作者:電子愛好者 點擊:
51單片機對LCD1602液晶顯示器的控制

要想實現人機交互,顯示裝置是不可缺少的。這篇文章主要關于如何控制液晶顯示,并在此基礎上加上定時器的功能,把原來已用數碼管顯示

51單片機對LCD1602液晶顯示器的控制

要想實現人機交互,顯示裝置是不可缺少的。這篇文章主要關于如何控制液晶顯示,并在此基礎上加上定時器的功能,把原來已用數碼管顯示的定時器搬到液晶屏上來。

這里用到的液晶為LCD1602,能夠同時顯示16x02即32個字符(16列2行)。1602液晶模塊內部的字符發生存儲器(CGROM)已經存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯數字、英文字母的大小寫、常用的符號等,直接向其寫入ASCII碼即可顯示相應字符。1602共16個 管腳,管腳功能如下:

<a href=http://http://www.cidxh.club/tags-etagid56-0.html target=_blank class=infotextkey>51單片機</a>對LCD液晶顯示器的控制

實際應用時,所用液晶模塊與單片機的連接圖如下:

其中7~14管腳為IO,與單片機的P0口相接,單片機可通過向P0口發送數據被液晶模塊并行接收。

4管腳為數據命令選擇端,與單片機P3^5口相連。故可通過控制P3^5口的電平高低,向液晶模塊寫入命令或數據。由數據手冊得知,

寫指令時,RS=L,RW=L,D0~D7為指令碼,E管腳為一高電平脈沖;

寫數據時,RS=H,RW=L,D0~D7為數據,E管腳也為一高電平脈沖。

P3^4與液晶模塊6管腳相連,控制液晶模塊使能。

首先介紹液晶模塊的指令。

初始化指令0x38:設置液晶為16x2顯示。

顯示開關及光標設置:

00001DCB D=1,開顯示;

C=1。顯示光標;

B=1,光標閃爍。

000001NS N=1,讀寫一個字符后地址指針加1,光標加1;

N=0,讀寫一個字符后地址指針減1,光標減1

S=1,寫一個字符時,整屏顯示向左移動(N=1)或右移(N=0)

S=0,不移動

數據寫入控制指令:

LCD模塊中的RAM地址映射如下

51單片機對LCD液晶顯示器的控制

要想把數據寫入X地址,則先要輸入指令0x80+X;

例如想讓字符顯示在第二行的第一個,則在將字符傳入前,要寫入指令write_command(0x80+0x40)

此外,0x01H表示顯示清屏,數據指針清零,所有顯示清零;

0x02H表示顯示回車,數據指針清零。

了解了這些之后,可以知道如果我們想要控制液晶的顯示,就要先學會怎樣向液晶寫指令和寫數據。

寫指令函數

//向LCD1602寫指令

voidwrite_com(ucharcom)

{

lcdrs=0;//RS=L

P0=com;//P0口輸出

delay(5);//延時

lcden=1;//E=H

delay(5);

lcden=0;//延時后,E變為L,造成了一個高電平脈沖,P0口高低電平被寫入

}

寫數據的方法與此類似,照葫蘆畫瓢即可:

//向LCD1602寫數據

/*

只需要將RS置高即可,

其他語句與寫指令函數相同

*/

voidwrite_date(uchardate)

{

lcdrs=1;//RS=H

P0=date;

delay(5);

lcden=1;

delay(5);

lcden=0;

}

有了這兩個函數,我們就可以向液晶模塊里面寫入指令和數據,從而實現對其的控制了。

為了實現一個完整的對LCD1602功能的封裝體現,我們還要再寫一個初始化的函數,用于對LS1602的初始化工作

voidInital()

{

lcden=0;//先不使能

write_com(0x38);//寫入初始化指令

write_com(0x0e);//顯示開,光標顯示但不閃爍

write_com(0x06);//讀寫后指針加1,光標加1

write_com(0x01);//顯示清屏,指針清零

}

至此,就完成了對LCD1602的功能封裝,在其他的程序中,就可以使用這些函數用于液晶顯示,例如下面實現的用1602顯示計時器。

計時器量程為1小時,顯示格式為XX:XX(前面為分,后面為秒)

用到了單片機中的計時器0,工作方式1,。50ms發生一次中斷,使一個用于計數的number自增一次。number初值設為1,故number自增至20時,說明計時1s已到,可以Do Something,也就是把處理函數加進來了。

C文件如下:

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitlcden=P3^4;

sbitlcdrs=P3^5;

ucharnum=1;

ucharmiao=0;

ucharfen=0;

voidInital();

voidInital_Time();

voidwrite_com(ucharcom);

voidwrite_date(uchardate);

voiddelay(ucharTIme);

voidClock();

voidDisplay(ucharx,uchary);

voidmain()www.cidxh.club

本文地址:http://www.cidxh.club/dz/22/15458067412848.shtml

本文標簽:

頂一下
0%
返回首頁
0
0%

------分隔線----------------------------

    猜你感興趣:

  • 數字電位器在單片機控制變頻器中的應用

    引言變頻調速作為交流電機調速的主要手段已經在工業領域中應用的十分廣泛,其具有的調速范圍寬、穩速精度高、動態響應快、適用范圍廣、運行可靠等技術性能,已逐步取代直流

  • 如何用單片機制作電子密碼鎖電路

    電子密碼鎖按照輸入密碼方式的不同可分為好多種,其中最常用的一種是用數字鍵盤輸入密碼的電子密碼鎖。這一講主要介紹用ATmega8和LCD1602液晶顯示器等組成的電子密碼鎖,這

  • 單片機控制LED亮滅電路

    1.實驗任務如圖所示,監視開關K1(接在P3.0端口上),用發光二極管L1(接在單片機P1.0端口上)顯示開關狀態,如果開關合上,L1亮,開關打開,L1熄滅。2.電路原理圖3.系統

  • 超詳細的FPGA芯片解讀(圖文)

    近日,有媒體報道稱,北京微電子技術研究所日前成功研制出國內首個自主可控的宇航用千萬門級高性能高可靠FPGA(現場可編程門陣列)芯片。FPGA一直是國內的短板,市場基本被

  • 單片機要這么學?八條謹記!

    怎么學單片機?也常看到有人說學了好幾個月可就是沒有什么進展。當然,受限于每個人受到的教育水平不同和個人理解能力的差異,學習起來會有快慢之分,但我感覺最重的就是學

  • 單片機的特殊功能寄存器(圖文)

    在單片機中有一些獨立的存儲單元是用來控制這些器件的,被稱之為特殊功能寄存器(SFR)。  <特殊功能寄存器地址映象表(一)>  <特殊功能寄存器地址映象表(二)>  <

  • 單片機在倒立擺控制系統的應用

    倒立擺作為一種典型的控制系統實驗裝置,具有非線性、自然不穩定等特性,常用來作為檢驗某種控制理論或方法是否合理的典型方案。一階倒立擺系統能用多種理論和方法來實現其

  • 如何有效編程單片機有源蜂鳴器驅動

    蜂鳴器是很常見的設備,分為無源和有源兩種。根據項目需求選擇不同類型的蜂鳴器。最近的項目里有用到有源蜂鳴器對有源蜂鳴器。還是老一套,把電路板畫完,接著編程。在項目

  • 單片機與PT1000溫度傳感器實現風機溫度控制系統的設計

    風機為通用機械,它廣泛地使用在國民經濟的各個部門中。風機廣泛用在工廠、礦井、車輛、建筑物、家用電器等的通風、排塵和冷卻;谷物的烘干和選送;風洞風源和氣墊船的充氣

  • 基于TCN75與89C51單片機設計的接口電路(圖文)

      TCN75與89C51單片機的接口電路如圖所示。將TCN75的地址輸入端A2~A0均接上高電平UDD,設定地址碼為111.89C51通過軟件來實現片選功能。89C51的串行數據接收端(RXD)和串行數據發送端(TXD

  • 基于51單片機的電機測速及顯示系統設計

     本設計是基于 51 單片機的電機測速與顯示系統,主要方案是利用 STC 公司推出的8051內核單片機作為系統的控制單元,用單片機內部的定時器功能生成 PWM 信號,對電機進行調

  • 嵌入式系統的工作原理和應用

    嵌入式系統的工作原理和應用  計算機作為20世紀人類社會最偉大的發明之一,近期也逐步邁入后PC時代。后PC時代的到來也標志著嵌入式產品的誕生,如手機、PDA、數控機床等。

  • 解析STM32單片機JTAG的復用方法

    先來copy下 JTAG、SW接口的定義JTAG:JTAG(JointTest Action Group;聯合測試工作組)是一種國際標準測試協議,主要用于芯片內部測試。現在多數的高級器件都支持JTAG協議,

  • 基于51單片機的電力載波通信開關電路的制作(圖文)

    一、原理圖: 二、C程序源代碼 /*
    此程序已經經本人親自調試運行過,如有疑問,請聯系
    QQ:286288986
    */
    #include //預定義頭文件
    #define uchar unsigned char //宏定義
    sbit k

  • 實用的單片機在線式UPS電路圖

      UPS交流電源越來越廣泛地應用于國民經濟的各個領域。本文將介紹一種實用的單片機在線式UPS電路。如下圖所示,本電路的逆變器主電路圖采用全橋逆變電路,控制器采用SG3525,根據SG3525的工

  • 單片機有源蜂鳴器驅動之效率編程(圖文)

    在項目中原理圖如下:如果不能保證I/O的輸出性能可以根據情況增加上拉或者下拉電阻。切入正題:在程序里面這個蜂鳴器的驅動就是個高低電平驅動。高電平三極管導通、蜂鳴器發

  • 影響單片機功耗的因素有哪些

    最近一周一直在做pic單片機功耗問題。由于項目使用電池供電,所以功耗問題顯得非常重要。根據數據手冊以及網絡上的資料,影響單片機功耗主要由以下幾個因素:1:所有I/O引腳

  • 基于PIC單片機的電源定時插座硬件電路

      基于PIC單片機的電源定時插座硬件電路如圖1 所示。  電源部分電路:AC220V 交流市電從電路圖1中左下端的三孔插頭輸入到本定時插座中,其中"火線"L 分為兩路分別加在控制電壓輸出繼電器

  • 介紹單片機C51位運算應用技巧

    介紹單片機C51位運算應用技巧

    位運算應用口訣:  清零取位要用與,某位置一可用或,若要取反和交換,輕輕松松用異或!  移位運算要點  1 它們都是雙目運算符,兩個

  • 蜂鳴器與單片機連接圖

發表評論
請自覺遵守互聯網相關的政策法規,嚴禁發布色情、暴力、反動的言論。
表情:
名稱: E-mail: 驗證碼: 匿名發表
發布文章,推廣自己產品。
推薦內容
  • 特斯拉線圈原理揭秘解讀

    特斯拉線圈原理揭秘解讀特斯拉線圈是一種射頻 振蕩器,可驅動空芯雙調諧振變壓器,在低電流時產生高壓。特斯拉的原始電路以及大多數現代線圈使用簡單的火花隙來激發調諧變

  • 51單片機對LCD1602液晶顯示器的控

    51單片機對LCD1602液晶顯示器的控制 要想實現人機交互,顯示裝置是不可缺少的。這篇文章主要關于如何控制液晶顯示,并在此基礎上加上定時器的功能,把原來已用數碼管顯示

  • 介紹編碼器的工作原理和作用

    編碼器的工作原理和功能:它是一個旋轉傳感器,將旋轉位移轉換為一系列數字脈沖信號。這些脈沖可用于控制角位移。如果編碼器與齒輪桿或螺釘組合,可用于測量線性位移。

熱門標簽
 
777指甲刀 57526685224605838999362346923341848581885280741147547053186562719278966076128757636973725484948881 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();