色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

    文章

    7484

    瀏覽量

    163767
  • 液晶顯示
    +關注

    關注

    6

    文章

    586

    瀏覽量

    40291
  • AT89S51
    +關注

    關注

    3

    文章

    229

    瀏覽量

    34081
收藏 人收藏

    評論

    相關推薦

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

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

    89C51液晶顯示設計

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

    AT89S51單片機是什么?

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

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

    AT89S51引腳圖,AT89S51單片機引腳說明及管腳定義  
    發表于 04-29 22:07 ?5.2w次閱讀
    <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 ?3.8w次閱讀
    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.4w次閱讀
    <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:22 ?20次下載

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

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

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

    基于89C51單片機的PCF8591 1602液晶顯示源程序
    發表于 05-16 09:58 ?0次下載

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

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

    AT89S51中文資料介紹

    電子發燒友網站提供《AT89S51中文資料介紹.pdf》資料免費下載
    發表于 02-20 09:24 ?13次下載
    主站蜘蛛池模板: 小柔的性放荡羞辱日记| 秋霞电影网午夜一级鲁丝片| 亚洲爱视频| 国产精品高清m3u8在线播放 | 天堂岛www天堂资源在线| WWW国产无套内射久久| 美女被爆插| 2018三级网站免费观看| 久久久精品免费视频| 亚洲一区国产| 激情综合色| 杨幂被视频在线观看| 金瓶梅 快播| 亚洲精品自在在线观看| 国内2018年午夜福利5678| 亚洲mv在线观看| 国产专区亚洲欧美另类在线| 午夜AV国产欧美亚洲高清在线| 国产大片51精品免费观看| 神马伦理2019影院不卡片| 囯产精品麻豆巨作久久| 神马伦理不卡午夜电影| 国产精品色无码AV在线观看| 午夜福利院电影| 国产香蕉九九久久精品免费| 校园刺激全黄H全肉细节文| 国产免费毛片在线观看| 亚洲国产精品日本无码网站| 韩日美无码精品无码| 亚洲在线2018最新无码| 久久国产加勒比精品无码| 越南美女内射BBWXZ| 乱爱性全过程免费视频| 99国产精品人妻无码免费| 欧美 亚洲 有码中文字幕| writeas雷狮直播| 日日噜噜噜夜夜爽爽狠狠图片| 国产av久久免费观看| 小短文H啪纯肉公交车| 果冻传媒视频在线观看完整版免费 | 国产免费69成人精品视频|