日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當前位置:首頁 >> 技術中心 >> 單片機入門 >> 51單片機--LCD1602編程入門

51單片機--LCD1602編程入門

關鍵字:51單片機 LCD1602 作者:admin 來源:不詳 發(fā)布時間:2018-05-18  瀏覽:13

 這次我來分享一下我的LCD1602的編程經(jīng)驗:

先說明一下,我下面要說的LCD1602的芯片驅動是HD44780,如果你們的LCD1602驅動芯片不是HD44780,那么下面的內容是不適用的。

我對LCD1602的整體理解

這里說一下我對LCD1602的整體理解哈,LCD1602是一個可以顯示兩行字符的LCD顯示器,每一行可以都寫入40個字符,但是每行都只有前16個字符可以顯示,每行后面的24個字符無法立即顯示,只說不容易明白,下面看一下示意圖:

1.jpg

另外LCD1602只能顯示字符,數(shù)字和一些簡單的符號,是無法顯示漢字的,切記。

LCD1602引腳:

然后再說一下引腳,每當學習一個芯片或者模塊,最先要了解的就是引腳:

2.jpg

由于我們現(xiàn)在只是學習怎么編程,所以電路的連接我就不講了,下面說一下與編程有關的引腳:

1.RS引腳:數(shù)據(jù)/命令選擇端(H/L)

當你要給LCD發(fā)送指令的時候,就給這個引腳低電平;

當你要與LCD交互數(shù)據(jù)的時候,就給這個引腳高電平。

2.R/W引腳:讀/寫選擇端(H/L)

當你要向LCD寫入數(shù)據(jù)的時候,就給這個引腳低電平;

當你要讀LCD中的數(shù)據(jù)的時候,就給這個引腳高電平。

3.E引腳:使能端(這里照顧一下愛鉆牛角尖的人:E為什么叫“使能”啊?另外“使能”啥意思,我怎么從來沒聽說過啊?)

答1:E引腳英文全稱:Enable引腳,En是英語中的一個前綴,譯為“使...”,而后面的able是譯為“能夠”,所以合起來就叫“使能”引腳了。

答2:使能啥意思呢,這里不說專業(yè)術語哈,你可以理解為使能端就是一個開關,當這個引腳是高/低電平時這個器件是可以用的,當它為相反電平時這個器件就是沒用的,你無論怎么做它也是不工作的。當然到底是低電平器件有效呢,還是高電平器件有效呢?這個就要看具體器件的數(shù)據(jù)手冊或者有的引腳上也會直接標出來,比如E就是高電平有效,E(——)就是低電平有效。

4.D0~D7引腳:這個就沒什么好說的了,就是傳輸數(shù)據(jù)或者命令的引腳。

5.其他的電源引腳,背光電源什么的就不說了,表格里面已經(jīng)說得非常清楚了,而且我們現(xiàn)在僅僅是學習編程,電路連接不講。

引腳說完了,那么下面我們就可以說LCD1602的編程部分了:

按照慣例,分割線:

3.jpg

出自《刀劍神域》克萊因

我認為對于LCD1602需要記住的就兩部分,時序和指令(并不是非要完全記住,學完后自己寫一個函數(shù)庫,以后開發(fā)用到的時候直接調用就行了)

先說一下時序和初始化過程:

LCD1602讀時序:

4.jpg

讀函數(shù)的源碼我沒寫,畢竟這個幾乎用不到。

用圖中可以看出:

RS引腳按照你的讀取什么而定,讀取數(shù)據(jù)就高電平,讀取命令就是低電平;

RW引腳自然就是高電平了,因為我們要讀嘛;

然后再往后就是E引腳了,我們在讀取命令或者數(shù)據(jù)的時候,必須要先使能這個器件,所以E引腳要置為高電平;

最后D0到D7就是讀取的數(shù)據(jù)了,我們找個變量數(shù)組保存起來就行了。

雖然讀時序講完了,但是在實際開發(fā)中我們幾乎不需要進行讀操作,我想這時有人就會說了:不是要讀取忙標志嗎,那不就要進行讀操作了嗎?的確是那樣,但是LCD1602的速度是納秒級別的,而51單片機是毫秒級別的,所以基本不需要讀取忙標志,只要微延時就行了。

如圖:

5.jpg

LCD1602寫時序:

6.jpg

這個函數(shù)我寫了,下面是代碼:

7.jpg

【注】在函數(shù)里面我用了兩種方式,并4口和并8口;

下面說一下最重要的寫操作時序,從圖中可以看出:

RS引腳按照你的讀取什么而定,讀取數(shù)據(jù)就高電平,讀取命令就是低電平;

RW引腳自然就是低電平了,因為這次我們要寫嘛;

然后再往后就是E引腳了,我們在讀取命令或者數(shù)據(jù)的時候,必須要先使能這個器件,所以E引腳要置為高電平;

最后D0到D7就是寫入的數(shù)據(jù)或者命令了。

LCD1602初始化過程:

這個我也寫了,下面是代碼:

8.jpg

LCD1602的初始化,也就是HD44780芯片的初始化過程,這個初始化過程的版本太多了,大多數(shù)初始化過程都可以成功初始化,但是我這里是在寫文章嘛,自然就不能講一個亂七八糟的初始化過程啦,所以我就查了一下HD44780芯片的英文原版數(shù)據(jù)手冊,下面上圖:

9.jpg

大家如果想看懂的話就從上往下一步一步地看,然后就明白為什么初始化要像上面那樣寫了。

【注】很多初始化的版本都可以成功初始化,我說的那個僅僅是最正規(guī)的而已,個人喜好,只要可以初始化成功就可以了。

最后寫好LCD1602的頭文件,然后LCD1602的函數(shù)庫就做好了,當然我們沒寫讀函數(shù),這些你想寫的話自己加上去就行了。有了這個函數(shù)庫,以后用LCD1602的時候直接調用就行了,很方便。

編輯:admin  最后修改時間:2018-05-22

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

邻水| 石棉县| 永安市| 拉萨市| 樟树市| 定远县| 平湖市| 襄垣县| 阿瓦提县| 阜新市| 南安市| 双辽市| 环江| 双辽市| 和田县| 远安县| 磴口县| 蕉岭县| 女性| 洛阳市| 读书| 贡山| 安溪县| 鹤山市| 三江| 洪洞县| 和林格尔县| 昌吉市| 长子县| 高青县| 宁都县| 东至县| 朝阳市| 松阳县| 昌图县| 富川| 阿克陶县| 和平区| 东方市| 民县| 安平县|