91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于AT89S51液晶顯示系統的設計步驟介紹

電子設計 ? 作者:電子設計 ? 2018-08-29 00:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

引言

液晶顯示器因其具有功耗低、質量輕、體積小和超薄等優點,成為袖珍式電子產品顯示系統中的主流顯示技術,被廣泛用于通訊、家庭娛樂、廣告、儀表等領域。本文設計了一種由計算機與單片機之間的通訊來直接控制液晶顯示的系統。采用vb 軟件編程,設計直觀的人機界面,通過計算機的鍵盤直接輸入字符和字符移動方式,利用串口通訊傳送至單片機,再由單片機系統控制液晶顯示模塊,使字符能夠在液晶屏上進行移動顯示。

1 主控芯片和液晶屏的選擇

本系統中,主控芯片選用Atmel 公司生產的AT89S51.該芯片具有4k 字節可編程FLASH 存儲器,支持串行、并行下載程序ISP 在線編程,且價格低廉,執行速度快。液晶顯示屏采用點陣字符型液晶顯示模塊LCD162,LCD162 采用標準的16 腳接口,可以顯示2 行32 個字、每行顯示16 個ASCII字符,并且可以自定義圖形,只需要寫入相對應字符的ASCII 碼就可以顯示。

2 硬件電路設計

系統硬件電路主要有液晶顯示模塊和通訊模塊兩個部分組成,電路如圖1 所示。

圖1 系統硬件電路

圖1 中,液晶顯示部分,單片機與LCD162 采用并行接口方式,單片機的P0 口與液晶顯示屏的數據線D0~D7 進行連接,并通過8 個10 kΩ 的上拉電阻上拉。P1.5 連接LCD162 的RS 端,當P1.5為高電平時選擇數據寄存器,低電平時選擇指令寄存器。P1.6 連接RW,用于控制液晶顯示屏的讀寫操作,當P1.6 為高電平時進行讀操作,低電平時進行寫操作。P1.7 則連接到LCD162 的使能端,當E 由高電平跳變成低電平時,液晶模塊執行命令。

V0為液晶顯示器對比度調整端,通過一個10 kΩ的電位器R9為V0提供可調的液晶驅動電壓,實現顯示對比度的調節。

本系統需要將微機鍵盤鍵入的字符顯示在液晶屏上,因此利用51 單片機的異步串行通信接口與計算機進行串行通信,再由單片機控制液晶顯示模塊。計算機有一個串行通訊端口RS-232, 其邏輯電平用正負電壓表示,且信號使用負邏輯,邏輯0 的電壓范圍是+5~+15V, 邏輯1 的電壓范圍是-5~-15V.而51 單片機的輸出信號實際并不符合RS-232 的標準,其串行通信管腳上的電壓為TTL 標準,即0~5V 之間的兩個狀態。因此,51 單片機與MODEM 連接時,中間必須插入一個電平和邏輯轉換環節。這里利用MAX232 芯片實現TTL電平和RS-232 電平之間的轉換任務。

3 軟件設計與開發

軟件部分包括單片機控制的液晶顯示子程序、單片機和PC 機間通訊子程序以及VB 程序設計部分。

3.1 液晶顯示

LCD162 液晶模塊內部有一個字符發生器CGRAM,存儲了160 個不同點陣字符圖形,每個字符有一個固定代碼,通過標準字庫表查找其對應代碼即可。顯示字符時需要先送地址(寫命令),然后再送字符(寫數據)。如果要顯示字符庫外的字符,則需要利用CGRAM 編制顯示。本系統液晶顯示模塊包括LCD 的初始化、光標定位、顯示字符等模塊,其程序流程圖如圖2 所示。

圖2 液晶顯示控制主程序

初始化時需要設置初始狀態、顯示光標、清屏、顯示模式等,這里設置LCD162 為8 位數據,5×7 字符點陣,兩行顯示,即將P0 口寫入38H.LCD162 有寫命令、讀狀態、寫數據和讀數據4 種操作,4 種操作由P1.5,P1.6,P1.7 的狀態確定。在進行寫命令、寫數據和讀數據3 種操作前需先進行讀狀態操作,通過查詢方式查詢忙標志,當忙標志為0 時才可以進行其他3 類操作。送顯示字符時,需將顯示數據寫在相應的DDRAM 地址中,用以確定顯示字符的顯示位置。以下是忙碌狀態判斷子程序和寫數據子程序,其子程序流程如圖3 和圖4 所示。

RS BIT P1.5

RW BIT P1.6

E BIT P1.7

LCD EQU P0

;判斷是否忙碌子程序:

CHECK_BF:

MOV LCD,#0FFH

CLR RS ; RS 為低電平,RW 為高電平時,可以讀狀態

SETB RW ; RW=1,選擇讀模式

CLR E

NOP

SETB E ;E=1,允許讀/寫LCD

NOP

JB LCD.7,CHECK_BF

RET

;寫數據子程序:

WR_DATA:

SETB RS ;RS=1,選擇數據寄存器

CLR RW

CLR E

ACALL CHECK_BF

MOV LCD,A ;將數據送入P0,

NOP ;給硬件反應時間

NOP

NOP

NOP

SETB E

NOP

NOP

NOP

NOP

CLR E ;E 由1-->0 時,液晶模塊開始

執行命令

RET

圖3 判忙碌子程序

圖4 寫數據子程序

3.2 單片機與PC 的串口通訊

單片機的串行數據發送端TXD 和串行數據接收端RXD 分別與MAX232 的T1 和R1 相連。設置時應與PC 機的串口設置相對應。本系統單片機串行口采用工作方式1,波特率設置為9 600,由定時器T1 產生。通信開始時由PC 機發出握手信號,單片機收到握手信號后再向PC 機發回響應信號,PC機收到響應信號,經驗證正確后表示串口通信成功。

3.3 PC 機串行通信

計算機的通信采用VB6.0 軟件編寫。在VB 中有一個MSComm 通訊控件,該控件可設置串行通信數據的發送和接收,通過對此控件的屬性和事件進行相應編程操作,就可以輕松地實現串口通訊。MScomm 控件提供了兩種通信方式:事件驅動和查詢方式,本系統采用查詢方式處理通信。為保證計算機和單片機的可靠通信,雙方需要設置相同的數據格式和波特率。本系統采用二進制發送和接收數據。發送數據前,需將發送緩沖區清零,即MScomm 控件的OutBufferCount 屬性值為0.對通訊端口初始化時選用串行通訊口Com1,設置其波特率為9 600, 無奇偶校驗,8 位數據傳送,1 位停止位。字符數據發送完畢后以回車鍵作為結束。

下面的程序是實現通訊的代碼。其中Label1 控件用于串口通訊成功時的提示標簽。

Private Sub MSComm1_OnComm()' 串口設置

Dim Buffer As Variant

Dim Hexbuffer() As Byte

If MSComm1.PortOpen = True Then

Select Case MSComm1.CommEvent

Case comEvReceive ' 有接受事件發生

MSComm1.InputLen = 0

MSComm1.InputMode = comInputModeBinary

' 數據收發采用二進制

Buffer = MSComm1.Input

Label1.Caption = Buffer

Hexbuffer() = Buffer

Dim I As Integer

For I = 0 To UBound(Hexbuffer)

If Hex(Hexbuffer(I)) = 1 Then

Label1.Caption = Label1.Caption & "0" &Hex(Hexbuffer(I))

Else

Label1.Caption = Label1.Caption & Hex(Hexbuffer(I))

End If

Next I

End Select

End If

End Sub

在VB 窗體界面中還設置了左右移動兩個按鈕,通過添加兩個定時器timer1 和timer2,在定時器的timer 事件里更改控件的位置屬性,從而實現字符的在窗體上的移動。圖5 為通過虛擬串口和Proteus 軟件仿真效果。圖5 中,左圖為VB 窗體界面,右圖是液晶顯示仿真圖。在窗體文本框控件中輸入字符,點擊發送按鈕后可以在液晶顯示屏中進行顯示,點擊左右移按鈕,液晶顯示屏的內容也可以同時進行移動。

圖5 VB 控制的液晶顯示仿真

4 結論

本系統以計算機作為主機,單片機作為從機,實現了計算機和單片機的串行通訊,并能夠通過鍵盤向計算機輸入字符顯示在液晶顯示屏上。系統結構設計簡單,具有一定實用性。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 存儲器
    +關注

    關注

    38

    文章

    7653

    瀏覽量

    167488
  • 液晶顯示
    +關注

    關注

    6

    文章

    599

    瀏覽量

    40917
  • AT89S51
    +關注

    關注

    3

    文章

    229

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    圖形點陣式液晶顯示模塊與51單片機的接口設計

    AT89S51的硬件接口電路和軟件編程方法。采用點陣式液晶顯示模塊,使硬件結構簡單,軟件易于維護和擴展,實現了交互式菜單顯示和圖文并茂的人機界面效果。
    發表于 03-02 13:49

    基于AT89S51單片機的數字溫度測量及顯示系統設計

    基于AT89S51單片機的數字溫度測量及顯示系統設計
    發表于 08-16 16:46

    89C51液晶顯示設計

    89C51液晶顯示設計
    發表于 05-30 11:31

    at89s51 pdf英文資料

    at89s51 pdf英文資料The AT89S51 is a low-power, high-performance CMOS 8-bit microcontroller with 4Kbytes
    發表于 07-17 23:54 ?197次下載

    AT89S51單片機是什么?

    AT89S51單片機是什么? AT89S51是什么?  書上和網絡教程上可都是8051,89C51等 !沒聽說過有 89S51  ?!   &n
    發表于 03-30 13:22 ?1883次閱讀

    AT89S51引腳圖,AT89S51單片機引腳說明及管腳定義

    AT89S51引腳圖,AT89S51單片機引腳說明及管腳定義  
    發表于 04-29 22:07 ?5.3w次閱讀
    <b class='flag-5'>AT89S51</b>引腳圖,<b class='flag-5'>AT89S51</b>單片機引腳說明及管腳定義

    基于AT89S51實現機車故障顯示屏測試儀硬件與軟件設計

    AT89S51單片機為核心部件,實現了機車故障顯示屏測試儀的硬件和軟件設計。介紹AT89S51型單片機與HS12864型液晶顯示屏、A6
    發表于 11-11 11:29 ?21次下載
    基于<b class='flag-5'>AT89S51</b>實現機車故障<b class='flag-5'>顯示</b>屏測試儀硬件與軟件設計

    AT89S51特點及其液晶顯示原理與接口電路的設計

    液晶顯示程序。設計的該顯示模塊能夠應用予測控系統中。 接口電路設計 目前測控儀表系統中大多采用單片機為主控器件。由于AT89S51型單片機
    發表于 12-01 15:32 ?6次下載
    <b class='flag-5'>AT89S51</b>特點及其<b class='flag-5'>液晶顯示</b>原理與接口電路的設計

    AT89C51AT89S51有何不同_AT89C51AT89S51的區別

    本文對AT89C51AT89S51的引腳及功能等方面進行了詳細的介紹,并對AT89C51AT89S51進行了區別分析。
    發表于 01-08 16:44 ?4w次閱讀
    AT<b class='flag-5'>89C51</b>與<b class='flag-5'>AT89S51</b>有何不同_AT<b class='flag-5'>89C51</b>與<b class='flag-5'>AT89S51</b>的區別

    AT89S51系列單片機的特點(AT89S51引腳功能及應用電路)

    本文首先介紹AT89S51性能參數和AT89S51引腳功能,其次介紹AT89S51系列單片機的特點,最后
    的頭像 發表于 05-14 11:58 ?5.6w次閱讀
    <b class='flag-5'>AT89S51</b>系列單片機的特點(<b class='flag-5'>AT89S51</b>引腳功能及應用電路)

    AT89S51和插座與可調電阻及液晶顯示器的AD電路圖和PCB圖免費下載

    本文檔的主要內容詳細介紹的是AT89S51和插座與可調電阻及液晶顯示器的AD電路圖和PCB圖免費下載。
    發表于 01-06 08:00 ?0次下載
    <b class='flag-5'>AT89S51</b>和插座與可調電阻及<b class='flag-5'>液晶顯示</b>器的AD電路圖和PCB圖免費下載

    AT89C51AT89S51、STC89C51有什么區別?

    AT89C51、AT89S51、STC89C51有什么區別?
    發表于 04-14 10:59 ?9次下載

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

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

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

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

    AT89S51中文資料介紹

    電子發燒友網站提供《AT89S51中文資料介紹.pdf》資料免費下載
    發表于 02-20 09:24 ?14次下載
    主站蜘蛛池模板: 色婷婷久久合月综 | 毛片网页 | 男人j进女人j的一进一出视频 | 91婷婷色涩涩 | 天天做天天爱天天综合网 | 欧美色图 亚洲 | 永久免费的啪啪免费的网址 | 激情综合五月婷婷 | 免费在线黄视频 | 日本黄色网址大全 | 女人被两根一起进3p在线观看 | 亚洲四虎影院 | 国产三级日本三级日产三 | 手机在线你懂的 | 噜噜噜噜噜久久久久久91 | 亚洲精品久久久久午夜福 | 午夜日韩精品 | 激情五月综合 | 亚洲 欧美 另类 吹潮 | 中文字幕在线视频第一页 | 曰本毛片| freesex性woman欧美 | 久久精品国产免费看久久精品 | 欧美大胆一级视频 | 秋霞一级特黄真人毛片 | 国产精品久久久久久久久免费hd | 亚洲综合视频一区 | 黄录像欧美片在线观看 | 成人18毛片 | 免费三级网站 | xxxx 欧美| 免费能直接在线观看黄的视频 | 亚洲综合激情另类专区 | 国产精品色婷婷在线观看 | 天堂网www在线资源 天堂网www在线资源链接 | 精品国产免费人成高清 | 啪啪在线视频 | 亚洲都市激情 | 流不尽奶水的大乳h | 欧美人与禽 | 欧美成人一区二区三区在线电影 |