日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LCD1602与51单片机

發(fā)布時(shí)間:2023/12/29 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LCD1602与51单片机 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本篇文章將使用如圖的LCD1602來顯示一行字符

可以搭配DTH11來實(shí)時(shí)檢測溫濕度?

引腳圖

第 1 : VSS 為電源地

第 2 : VDD 接 5V 正電源

第 3 : VL 為液晶顯示器對比度調(diào)整端,接VCC時(shí)對比度最弱,接GND時(shí)對比度最高,對比度,過高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè) 10K 的電位器調(diào)整對比度。

第 4 :RS 為寄存器選擇,RS = 1時(shí)選擇數(shù)據(jù)寄存器、RS = 0時(shí)選擇指令寄存器。

第 5 :R/W 為讀寫信號線,RW = 1時(shí)進(jìn)行讀操作,RW = 0時(shí)進(jìn)行寫操作。

當(dāng)?RS = 0, RW = 0 時(shí)可以寫入指令或者顯示地址,

當(dāng) RS = 0, RW = 1時(shí)可以讀忙信號

當(dāng) RS = 1, RW = 0時(shí)可以寫入數(shù)據(jù)。

第 6 :E 端為使能端,E = 1時(shí)讀取數(shù)據(jù),E為下降沿(1->0)時(shí)執(zhí)行指令

第 7~14 :D0~D7 為 8 位雙向數(shù)據(jù)線。

第 15 :背光源正極(接VCC)。

第 16 :背光源負(fù)極(接GND)。

對于想要LCD1602顯示字符,無非就是LCD1602初始化;在哪里顯示字符(寫入地址指令);顯示什么內(nèi)容(寫入數(shù)據(jù));

寫入指令

根據(jù)時(shí)序圖,定義一個(gè)寫指令函數(shù)和寫數(shù)據(jù)函數(shù)

?

?在每次寫操作之前,我們都要檢測忙信號,如果忙時(shí),我們無法進(jìn)行寫操作,此時(shí)我們需要讀LCD1602的數(shù)據(jù)來檢測忙信號

?BF為內(nèi)部忙操作標(biāo)志,BF=1,表示模塊正在進(jìn)行內(nèi)部操作,此時(shí)模塊不 接收任何外部指令和數(shù)據(jù)

根據(jù)讀時(shí)序圖,我們定義一個(gè)檢測忙信號函數(shù)

LCD1602初始化

我們可以查看LCD1602手冊來獲得初始化過程

(1)延時(shí)15ms
(2)寫指令 38H(不檢測忙信號)
(3)延時(shí) 5ms
(4)以后每次寫指令,讀/寫數(shù)據(jù)操作均需要檢測忙信號
(5)寫指令 38H:顯示模式設(shè)置
(6)寫指令 08H:顯示關(guān)閉
(7)寫指令 01H:顯示清屏
(8)寫指令06H:顯示光標(biāo)移動(dòng)設(shè)置
(9)寫指令0CH:顯示開及光標(biāo)設(shè)置

LCD數(shù)據(jù)顯示地址

?

例如第二行第一個(gè)字符的地址是40H那么是否直接寫入40H就可以將光標(biāo)定位在第二行第
一個(gè)字符的位置呢?這樣不行,因?yàn)閷懭腼@示地址時(shí)要求最高位 D7恒定為高電平1所以實(shí)
際寫入的數(shù)據(jù)應(yīng)該是01000000B(40H)+10000000B(80H)=11000000B(COH)。

dingy函數(shù)封裝LCD1602顯示內(nèi)容

?附上源碼

?效果如圖

我沒有用電位器調(diào)節(jié)鬼影,因此后面顯示會(huì)有小方格。

總結(jié)

以上是生活随笔為你收集整理的LCD1602与51单片机的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。