在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于AT89S51液晶顯示系統(tǒng)的設(shè)計(jì)步驟介紹

電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2018-08-29 00:50 ? 次閱讀

引言

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

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

本系統(tǒng)中,主控芯片選用Atmel 公司生產(chǎn)的AT89S51.該芯片具有4k 字節(jié)可編程FLASH 存儲(chǔ)器,支持串行、并行下載程序ISP 在線編程,且價(jià)格低廉,執(zhí)行速度快。液晶顯示屏采用點(diǎn)陣字符型液晶顯示模塊LCD162,LCD162 采用標(biāo)準(zhǔn)的16 腳接口,可以顯示2 行32 個(gè)字、每行顯示16 個(gè)ASCII字符,并且可以自定義圖形,只需要寫入相對(duì)應(yīng)字符的ASCII 碼就可以顯示。

2 硬件電路設(shè)計(jì)

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

圖1 系統(tǒng)硬件電路

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

V0為液晶顯示器對(duì)比度調(diào)整端,通過一個(gè)10 kΩ的電位器R9為V0提供可調(diào)的液晶驅(qū)動(dòng)電壓,實(shí)現(xiàn)顯示對(duì)比度的調(diào)節(jié)。

本系統(tǒng)需要將微機(jī)鍵盤鍵入的字符顯示在液晶屏上,因此利用51 單片機(jī)的異步串行通信接口與計(jì)算機(jī)進(jìn)行串行通信,再由單片機(jī)控制液晶顯示模塊。計(jì)算機(jī)有一個(gè)串行通訊端口RS-232, 其邏輯電平用正負(fù)電壓表示,且信號(hào)使用負(fù)邏輯,邏輯0 的電壓范圍是+5~+15V, 邏輯1 的電壓范圍是-5~-15V.而51 單片機(jī)的輸出信號(hào)實(shí)際并不符合RS-232 的標(biāo)準(zhǔn),其串行通信管腳上的電壓為TTL 標(biāo)準(zhǔn),即0~5V 之間的兩個(gè)狀態(tài)。因此,51 單片機(jī)與MODEM 連接時(shí),中間必須插入一個(gè)電平和邏輯轉(zhuǎn)換環(huán)節(jié)。這里利用MAX232 芯片實(shí)現(xiàn)TTL電平和RS-232 電平之間的轉(zhuǎn)換任務(wù)。

3 軟件設(shè)計(jì)與開發(fā)

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

3.1 液晶顯示

LCD162 液晶模塊內(nèi)部有一個(gè)字符發(fā)生器CGRAM,存儲(chǔ)了160 個(gè)不同點(diǎn)陣字符圖形,每個(gè)字符有一個(gè)固定代碼,通過標(biāo)準(zhǔn)字庫(kù)表查找其對(duì)應(yīng)代碼即可。顯示字符時(shí)需要先送地址(寫命令),然后再送字符(寫數(shù)據(jù))。如果要顯示字符庫(kù)外的字符,則需要利用CGRAM 編制顯示。本系統(tǒng)液晶顯示模塊包括LCD 的初始化、光標(biāo)定位、顯示字符等模塊,其程序流程圖如圖2 所示。

圖2 液晶顯示控制主程序

初始化時(shí)需要設(shè)置初始狀態(tài)、顯示光標(biāo)、清屏、顯示模式等,這里設(shè)置LCD162 為8 位數(shù)據(jù),5×7 字符點(diǎn)陣,兩行顯示,即將P0 口寫入38H.LCD162 有寫命令、讀狀態(tài)、寫數(shù)據(jù)和讀數(shù)據(jù)4 種操作,4 種操作由P1.5,P1.6,P1.7 的狀態(tài)確定。在進(jìn)行寫命令、寫數(shù)據(jù)和讀數(shù)據(jù)3 種操作前需先進(jìn)行讀狀態(tài)操作,通過查詢方式查詢忙標(biāo)志,當(dāng)忙標(biāo)志為0 時(shí)才可以進(jìn)行其他3 類操作。送顯示字符時(shí),需將顯示數(shù)據(jù)寫在相應(yīng)的DDRAM 地址中,用以確定顯示字符的顯示位置。以下是忙碌狀態(tài)判斷子程序和寫數(shù)據(jù)子程序,其子程序流程如圖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 為高電平時(shí),可以讀狀態(tài)

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

CLR E

NOP

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

NOP

JB LCD.7,CHECK_BF

RET

;寫數(shù)據(jù)子程序:

WR_DATA:

SETB RS ;RS=1,選擇數(shù)據(jù)寄存器

CLR RW

CLR E

ACALL CHECK_BF

MOV LCD,A ;將數(shù)據(jù)送入P0,

NOP ;給硬件反應(yīng)時(shí)間

NOP

NOP

NOP

SETB E

NOP

NOP

NOP

NOP

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

執(zhí)行命令

RET

圖3 判忙碌子程序

圖4 寫數(shù)據(jù)子程序

3.2 單片機(jī)與PC 的串口通訊

單片機(jī)的串行數(shù)據(jù)發(fā)送端TXD 和串行數(shù)據(jù)接收端RXD 分別與MAX232 的T1 和R1 相連。設(shè)置時(shí)應(yīng)與PC 機(jī)的串口設(shè)置相對(duì)應(yīng)。本系統(tǒng)單片機(jī)串行口采用工作方式1,波特率設(shè)置為9 600,由定時(shí)器T1 產(chǎn)生。通信開始時(shí)由PC 機(jī)發(fā)出握手信號(hào),單片機(jī)收到握手信號(hào)后再向PC 機(jī)發(fā)回響應(yīng)信號(hào),PC機(jī)收到響應(yīng)信號(hào),經(jīng)驗(yàn)證正確后表示串口通信成功。

3.3 PC 機(jī)串行通信

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

下面的程序是實(shí)現(xiàn)通訊的代碼。其中Label1 控件用于串口通訊成功時(shí)的提示標(biāo)簽。

Private Sub MSComm1_OnComm()' 串口設(shè)置

Dim Buffer As Variant

Dim Hexbuffer() As Byte

If MSComm1.PortOpen = True Then

Select Case MSComm1.CommEvent

Case comEvReceive ' 有接受事件發(fā)生

MSComm1.InputLen = 0

MSComm1.InputMode = comInputModeBinary

' 數(shù)據(jù)收發(fā)采用二進(jìn)制

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 窗體界面中還設(shè)置了左右移動(dòng)兩個(gè)按鈕,通過添加兩個(gè)定時(shí)器timer1 和timer2,在定時(shí)器的timer 事件里更改控件的位置屬性,從而實(shí)現(xiàn)字符的在窗體上的移動(dòng)。圖5 為通過虛擬串口和Proteus 軟件仿真效果。圖5 中,左圖為VB 窗體界面,右圖是液晶顯示仿真圖。在窗體文本框控件中輸入字符,點(diǎn)擊發(fā)送按鈕后可以在液晶顯示屏中進(jìn)行顯示,點(diǎn)擊左右移按鈕,液晶顯示屏的內(nèi)容也可以同時(shí)進(jìn)行移動(dòng)。

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

4 結(jié)論

本系統(tǒng)以計(jì)算機(jī)作為主機(jī),單片機(jī)作為從機(jī),實(shí)現(xiàn)了計(jì)算機(jī)和單片機(jī)的串行通訊,并能夠通過鍵盤向計(jì)算機(jī)輸入字符顯示在液晶顯示屏上。系統(tǒng)結(jié)構(gòu)設(shè)計(jì)簡(jiǎn)單,具有一定實(shí)用性。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7514

    瀏覽量

    164004
  • 液晶顯示
    +關(guān)注

    關(guān)注

    6

    文章

    588

    瀏覽量

    40343
  • AT89S51
    +關(guān)注

    關(guān)注

    3

    文章

    229

    瀏覽量

    34102
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    圖形點(diǎn)陣式液晶顯示模塊與51單片機(jī)的接口設(shè)計(jì)

    AT89S51的硬件接口電路和軟件編程方法。采用點(diǎn)陣式液晶顯示模塊,使硬件結(jié)構(gòu)簡(jiǎn)單,軟件易于維護(hù)和擴(kuò)展,實(shí)現(xiàn)了交互式菜單顯示和圖文并茂的人機(jī)界面效果。
    發(fā)表于 03-02 13:49

    89C51液晶顯示設(shè)計(jì)

    89C51液晶顯示設(shè)計(jì)
    發(fā)表于 05-30 11:31

    at89s51 pdf英文資料

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

    AT89S51單片機(jī)是什么?

    AT89S51單片機(jī)是什么? AT89S51是什么?  書上和網(wǎng)絡(luò)教程上可都是8051,89C51等 !沒聽說過有 89S51  ?!   &n
    發(fā)表于 03-30 13:22 ?1723次閱讀

    AT89S51引腳圖,AT89S51單片機(jī)引腳說明及管腳定義

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

    基于AT89S51實(shí)現(xiàn)機(jī)車故障顯示屏測(cè)試儀硬件與軟件設(shè)計(jì)

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

    AT89S51特點(diǎn)及其液晶顯示原理與接口電路的設(shè)計(jì)

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

    AT89C51AT89S51有何不同_AT89C51AT89S51的區(qū)別

    本文對(duì)AT89C51AT89S51的引腳及功能等方面進(jìn)行了詳細(xì)的介紹,并對(duì)AT89C51AT89S51進(jìn)行了區(qū)別分析。
    發(fā)表于 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>的區(qū)別

    AT89S51系列單片機(jī)的特點(diǎn)(AT89S51引腳功能及應(yīng)用電路)

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

    AT89S51和插座與可調(diào)電阻及液晶顯示器的AD電路圖和PCB圖免費(fèi)下載

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

    AT89C51AT89S51、STC89C51有什么區(qū)別?

    AT89C51AT89S51、STC89C51有什么區(qū)別?
    發(fā)表于 04-14 10:59 ?9次下載

    基于AT89C51單片機(jī)160128液晶顯示當(dāng)前壓力Proteus仿真及程序

    基于AT89C51單片機(jī)160128液晶顯示當(dāng)前壓力Proteus仿真及程序
    發(fā)表于 05-04 16:09 ?8次下載

    基于89C51單片機(jī)的1602液晶顯示的計(jì)算器源程序

    基于89C51單片機(jī)的1602液晶顯示的計(jì)算器源程序
    發(fā)表于 05-16 10:22 ?21次下載

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

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

    AT89S51中文資料介紹

    電子發(fā)燒友網(wǎng)站提供《AT89S51中文資料介紹.pdf》資料免費(fèi)下載
    發(fā)表于 02-20 09:24 ?13次下載
    主站蜘蛛池模板: 精品国产自在现线看久久| 亚洲一本视频| 人人干人人上| 美女被艹视频网站| 亚洲人成77777在线观看网| 国产亚洲精品免费| 在线www| 婷婷丁香色| 日本暴力喉深到呕吐hd| 免费一级特黄| 电影天堂bt| 天天操天天干天天爱| 不卡中文字幕在线| 在线视频精品视频| 俄罗斯毛片基地| 1024人成网站色| 日韩手机看片| 亚洲成成品网站有线| 日本一卡二卡3卡四卡网站精品| 在线激情网址| 色综合色| 国产综合久久久久影院| 亚洲日本黄色| 成年人午夜影院| 欧美色图一区二区| 特级一级全黄毛片免费| 久九色| 天天爽夜夜爽人人爽曰喷水| 高清午夜毛片| 精品热99| 日韩欧美国产电影| 国产乱人视频在线看| 天天操天天艹| 22eee在线播放成人免费视频 | 黄色网址你懂的| 亚洲夜夜操| 午夜色a大片在线观看免费| 高h乱肉辣文辣书阁| 欧美在线一级视频| 在线免费看高清视频大全| www.夜夜|