用 Proteus學習51微控制器之1602液晶

2022-02-17 00:29:04 字數 1101 閱讀 7520

1602液晶,即一行有16個字元,共2行的液晶顯示屏,只能顯示ascii碼,不能顯示漢字。一般1602有16條線,其中8根線是資料操作線,其他8根線是控制線,定義如下:

埠名稱說明 vss

電源地 vdd

電源正極

vo液晶對比度調節端

rs資料/命令選擇端(h為資料,l為命令)

r/w讀寫控制(h/l)

e使能 d0-d7

資料庫端

bla背光電源正極

blk背光電源負極

1602在proteus中對應的元件是lm016l,但是它並沒有上表中列的那麼多線,主要是沒有bla和blk,其他差不多。

1602分兩行,每行顯示16個字,但是其內部是有80b的ram緩衝區的,其起始位址是0x80,其中第一行的位址是相對起始地偏移0x00~0x0f,第二行的位址是相對起始位址偏移0x40~0x67,在往裡面寫資料的時候,比如要在第一行第二個位置顯示字元a,則先要把指標設定到0x80+0x01的位置,然後往裡面寫a的**。

1602的指令分為兩種,一種是設定液晶的狀態,比如是否顯示游標,清屏,游標移動等,另一種為資料命令,即在螢幕上顯示什麼資料,兩者都是通過d0-d7來設定的,只不過當rs設定為高電平時,設定的是資料,低電平的時候設定的是命令。具體的命令,可以查datasheet。

試著在1602上寫一些資料,寫時序圖如下。以前對時序圖非常的看不懂,最近看多了,似乎有點感覺了,說白了就是,先把rs位置高或低電平(根據你是要寫資料還是寫命令),然後把r/w位置低電平,然後置使能端e為高電平,然後寫入資料就可以了。可以看到,設定電平後,需要一定的延時,由於微控制器一次指令一般需要1微秒左右,而延時一般是納秒級別,所以有些不用延時(我是為了安全,都延時了一下)

電路圖及效果如下:

詳細請見源**(重灌了系統,把keil c51更換到9.0版本了,可能大家會打不開了……)。lcd調節對比的似乎不頂用,不知道是不是我弄錯了。

用Proteus學習51微控制器之鍵盤

最近剛做好乙個站,基於rails 3,教程為主,大家捧場看看,謝謝!www.yo945.com 與微控制器互動,鍵盤可能是最直接的工具了。所以我對於鍵盤檢測也是十分期待的。鍵盤說開了,其實就是很多的按鈕。如果鍵盤數比較小的話,直接使用io口連線按鈕就可以了,比如我要實現乙個功能,按鍵使數字加1或減1...

51微控制器

數碼管顯示幾乎是每次藍橋杯微控制器設計與開發組競賽的必考部分,相對於使用lcd1602作為顯示裝置,使用數碼管來顯示能夠更好的考察參賽選手的微控制器基本功,因為ct107d開發平台的設計使得數碼管的顯示不僅牽扯到數碼管顯示的 基本內容,還涉及到74hc573鎖存器,74hc02異或門,74hc138...

51微控制器

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 1.供電電源 一般開發板上提供兩種供電方式,usb供電和專用電源供電。使用usb供電你只要用一根usb線將開發板usb電源介面與電腦的usb...