LCD1602與MCS-51單片機(jī)的接口_第1頁(yè)
LCD1602與MCS-51單片機(jī)的接口_第2頁(yè)
LCD1602與MCS-51單片機(jī)的接口_第3頁(yè)
LCD1602與MCS-51單片機(jī)的接口_第4頁(yè)
LCD1602與MCS-51單片機(jī)的接口_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

LCD1602與MCS-51單片機(jī)的接口液晶顯示器〔LCD〕具有工作電壓低、微功耗、顯示信息量大和接口方便等優(yōu)點(diǎn),現(xiàn)在已被廣泛應(yīng)用于計(jì)算機(jī)和數(shù)字式儀表等領(lǐng)域,成為測(cè)量結(jié)果顯示和人機(jī)對(duì)話的重要工具。液晶顯示器按其功能可分為三類:筆段式液晶顯示器、字符點(diǎn)陣式液晶顯示器和圖形點(diǎn)陣式液晶顯示器。前兩種可顯示數(shù)字、字符和符號(hào)等,而圖形點(diǎn)陣式液晶顯示器還可以顯示漢字和任意圖形,到達(dá)圖文并茂的效果,其應(yīng)用越來(lái)越廣泛。本節(jié)將以RT-1602C液晶顯示模塊為例,介紹液晶顯示器的結(jié)構(gòu)和功能,討論其與MCS-51單片機(jī)的硬件接口電路及軟件編程方法。LCD1602概述LCD1602是216字符型液晶顯示模塊,可以顯示兩行,每行16個(gè)字符,采用5×7點(diǎn)陣顯示,工作電壓4.5~5.5V,工作電流2.0mA(5.0V),其控制器采用HD44780液晶芯片〔市面上字符液晶顯示器的控制器絕大多數(shù)都是基于HD44780液晶芯片,它們的控制原理是完全相同的〕。LCD1602可采用標(biāo)準(zhǔn)的14引腳接口或16引腳接口,多出來(lái)的2條引腳是背光源正極BLA(15腳)和背光源負(fù)極BLK(16腳),其外觀形狀如圖7.1所示。(a)正面(b)反面圖7.1RT-1602C的外觀(a)圖是LCD1602的正面,(b)圖LCD1602的反面。標(biāo)準(zhǔn)的16引腳接口如下:第1腳:VSS,電源地。第2腳:VDD,+5V電源。第3腳:VEE,液晶顯示比照度調(diào)整輸入端。接正電源時(shí)比照度最弱,接地時(shí)比照度最高。使用時(shí)通常通過(guò)一個(gè)10K的電位器來(lái)調(diào)整比照度。器。第5腳:R/,讀/寫(xiě)選擇端,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作。當(dāng)RS和R/共同為低電平時(shí),可以寫(xiě)入指令或者顯示地址;當(dāng)RS為低電平、R/為高電平時(shí),可以讀忙信號(hào);當(dāng)RS為高電平、R/為低電平時(shí),可以寫(xiě)入數(shù)據(jù)。第6腳:E,使能端,當(dāng)E為高電平時(shí)讀取液晶模塊的信息,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行寫(xiě)操作。第7~14腳:D0~D7,為8位雙向數(shù)據(jù)線。第15腳:BLA,背光源正極。第16腳:BLK,背光源負(fù)極。LCD1602的內(nèi)部結(jié)構(gòu)液晶顯示模塊LCD1602的內(nèi)部結(jié)構(gòu)可以分成三局部:一為L(zhǎng)CD控制器,二為L(zhǎng)CD驅(qū)動(dòng)器,三為L(zhǎng)CD顯示裝備,如圖7.2所示。圖7.2RT-1602C的內(nèi)部結(jié)構(gòu)控制器采用HD44780,驅(qū)動(dòng)器采用HD44100。HD44780是集控制器、驅(qū)動(dòng)器于一體,專用于字符顯示控制驅(qū)動(dòng)的集成電路。HD44100是作擴(kuò)展顯示字符位的。HD44780是字符型液晶顯示控制器的代表電路。HD44780集成電路的特點(diǎn)如下。(1)可選擇5×7或5×10點(diǎn)陣字符。(2)HD44780不僅可作為控制器,而且還具有驅(qū)動(dòng)16×40點(diǎn)陣液晶像素的能力,并且HD44780的驅(qū)動(dòng)能力可通過(guò)外接驅(qū)動(dòng)器擴(kuò)展360列驅(qū)動(dòng)。HD44780可控制的字符高達(dá)每行80個(gè)字,也就是580=400點(diǎn),HD44780內(nèi)藏有16路行驅(qū)動(dòng)器和40路列驅(qū)動(dòng)器,所以HD44780本身就具有驅(qū)動(dòng)16×40點(diǎn)陣LCD的能力(即單行16個(gè)字符或兩行8個(gè)字符)。如果在外部加一HD44100再擴(kuò)展40路/列驅(qū)動(dòng),那么可驅(qū)動(dòng)16×2LCD。(3)HD44780的顯示緩沖區(qū)DDRAM、字符發(fā)生存儲(chǔ)器ROM及用戶自定義的字符發(fā)生器CGRAM全部?jī)?nèi)藏在芯片內(nèi)。HD44780有80個(gè)字節(jié)的顯示緩沖區(qū),分兩行,地址分別為00H~27H,40H~67H,它們實(shí)際顯示位置的排列順序跟LCD的型號(hào)有關(guān),LCD1602的顯示地址與實(shí)際顯示位置的關(guān)系,如圖7.3所示。圖7.3RT-1602C的顯示地址與實(shí)際顯示位置的關(guān)系圖HD44780內(nèi)藏的字符發(fā)生存儲(chǔ)器(ROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,如圖7.4所示。圖7.4點(diǎn)陣字符圖形這些字符有阿拉伯?dāng)?shù)字、英文字母的大小寫(xiě)、常用的符號(hào)和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼。如數(shù)字“1”的代碼是00110001B(31H),又如大寫(xiě)的英文字母“A〞的代碼是01000001B(41H),可以看出英文字母的代碼與ASCII編碼相同。要在LCD的某個(gè)位置顯示符號(hào),只需將顯示的符號(hào)的ASCII碼存入DDRAM的對(duì)應(yīng)位置。如在LCD1602的第一行第二列顯示“1”,只須將“1”的ASCII碼31H存入DDRAM的01單元;在LCD1602的第二行第三列顯示“(4)HD44780具有8位數(shù)據(jù)和4位數(shù)據(jù)傳輸兩種方式,可與4/8位CPU相連。(5)HD44780具有簡(jiǎn)單而功能較強(qiáng)的指令集,可實(shí)現(xiàn)字符移動(dòng)、閃爍等顯示功能。HD44780的指令格式與指令功能HD44780控制器內(nèi)有多個(gè)存放器,通過(guò)RS和R/引腳共同決定選擇哪一個(gè)存放器,選擇情況如表7.1所示。表7.1HD44870內(nèi)部存放器選擇表RSR/存放器及操作00指令存放器寫(xiě)入01忙標(biāo)志和地址計(jì)數(shù)器讀出10數(shù)據(jù)存放器寫(xiě)入11數(shù)據(jù)存放器讀出總共有11條指令,它們的格式和功能如下。1) 清屏命令格式:RSR/D7D6D5D4D3D2D1D00000000001功能:去除屏幕,將顯示緩沖區(qū)DDRAM的內(nèi)容全部寫(xiě)入空格(ASCII20H)。光標(biāo)復(fù)位,回到顯示器的左上角。地址計(jì)數(shù)器AC清零。2) 光標(biāo)復(fù)位命令格式:RSR/D7D6D5D4D3D2D1D00000000010功能:光標(biāo)復(fù)位,回到顯示器的左上角。地址計(jì)數(shù)器AC清零。顯示緩沖區(qū)DDRAM的內(nèi)容不變。3) 輸入方式設(shè)置命令格式:RSR/D7D6D5D4D3D2D1D000000001I/DS功能:設(shè)定當(dāng)寫(xiě)入一個(gè)字節(jié)后,光標(biāo)的移動(dòng)方向以及后面的內(nèi)容是否移動(dòng)。當(dāng)I/D=1時(shí),光標(biāo)從左向右移動(dòng);I/D=0時(shí),光標(biāo)從右向左移動(dòng)。當(dāng)S=1時(shí),內(nèi)容移動(dòng),S=0時(shí),內(nèi)容不移動(dòng)。4) 顯示開(kāi)關(guān)控制命令格式:RSR/D7D6D5D4D3D2D1D00000001DCB功能:控制顯示的開(kāi)關(guān),當(dāng)D=1時(shí)顯示,D=0時(shí)不顯示。控制光標(biāo)開(kāi)關(guān),當(dāng)C=1時(shí)光標(biāo)顯示,C=0時(shí)光標(biāo)不顯示??刂谱址欠耖W爍,當(dāng)B=1時(shí)字符閃爍,B=0時(shí)字符不閃爍。5) 光標(biāo)移位命令格式:RSR/D7D6D5D4D3D2D1D0000001S/CR/L**功能:移動(dòng)光標(biāo)或整個(gè)顯示字幕移位。當(dāng)S/C=1時(shí)整個(gè)顯示字幕移位,當(dāng)S/C=0時(shí)只光標(biāo)移位。當(dāng)R/L=1時(shí)光標(biāo)右移,R/L=0時(shí)光標(biāo)左移。6) 功能設(shè)置命令格式:RSR/D7D6D5D4D3D2D1D000001DLNF**功能:設(shè)置數(shù)據(jù)位數(shù),當(dāng)DL=1時(shí)數(shù)據(jù)位為8位,DL=0時(shí)數(shù)據(jù)位為4位。設(shè)置顯示行數(shù),當(dāng)N=1時(shí)雙行顯示,N=0時(shí)單行顯示。設(shè)置字形大小,當(dāng)F=1時(shí)為5×10點(diǎn)陣,F(xiàn)=0時(shí)為5×7點(diǎn)陣。7) 設(shè)置字庫(kù)CGRAM地址命令格式:RSR/D7D6D5D4D3D2D1D00001CGRAM的地址功能:設(shè)置用戶自定義CGRAM的地址,對(duì)用戶自定義CGRAM訪問(wèn)時(shí),要先設(shè)定CGRAM的地址,地址范疇為0~63。8) 顯示緩沖區(qū)DDRAM地址設(shè)置命令格式:RSR/D7D6D5D4D3D2D1D0001DDRAM的地址功能:設(shè)置當(dāng)前顯示緩沖區(qū)DDRAM的地址,對(duì)DDRAM訪問(wèn)時(shí),要先設(shè)定DDRAM的地址,地址范疇為0~127。9) 讀忙標(biāo)志及地址計(jì)數(shù)器AC命令格式:RSR/D7D6D5D4D3D2D1D001BFAC的值功能:讀忙標(biāo)志及地址計(jì)數(shù)器AC命令。當(dāng)BF=1時(shí)表示忙,這時(shí)不能接收命令和數(shù)據(jù);當(dāng)BF=0時(shí)表示不忙。低7位為讀出的AC的地址,值為0~127。10)寫(xiě)DDRAM或CGRAM命令格式:RSR/D7D6D5D4D3D2D1D010寫(xiě)入的數(shù)據(jù)功能:向DDRAM或CGRAM當(dāng)前位置中寫(xiě)入數(shù)據(jù),寫(xiě)入后地址指針自動(dòng)移動(dòng)到下一個(gè)位置。對(duì)DDRAM或CGRAM寫(xiě)入數(shù)據(jù)之前須設(shè)定DDRAM或CGRAM的地址。11)讀DDRAM或CGRAM命令格式:RSR/D7D6D5D4D3D2D1D011讀出的數(shù)據(jù)功能:從DDRAM或CGRAM當(dāng)前位置中讀出數(shù)據(jù)。當(dāng)DDRAM或CGRAM讀出數(shù)據(jù)時(shí),須先設(shè)定DDRAM或CGRAM的地址。LCD1602的編程與接口LCD顯示器在使用之前須根據(jù)具體配置情況初始化,初始化可在復(fù)位后完成,LCD1602初始化過(guò)程一般如下:(1)清屏。去除屏幕,將顯示緩沖區(qū)DDRAM的內(nèi)容全部寫(xiě)入空格(ASCII20H)。光標(biāo)復(fù)位,回到顯示器的左上角。地址計(jì)數(shù)器AC清零。(2)功能設(shè)置。設(shè)置數(shù)據(jù)位數(shù),根據(jù)LCD1602與處理器的連接選擇(LCD1602與51單片機(jī)連接時(shí)一般選擇8位),設(shè)置顯示行數(shù)(LCD1602為雙行顯示)。設(shè)置字形大小(LCD1602為5×7點(diǎn)陣)。(3)開(kāi)/關(guān)顯示設(shè)置。控制光標(biāo)顯示、字符是否閃爍等。(4)輸入方式設(shè)置。設(shè)定光標(biāo)的移動(dòng)方向以及后面的內(nèi)容是否移動(dòng)。初始化后就可用LCD進(jìn)行顯示,顯示時(shí)應(yīng)根據(jù)顯示的位置先定位,即設(shè)置當(dāng)前顯示緩沖區(qū)DDRAM的地址,再向當(dāng)前顯示緩沖區(qū)寫(xiě)入要顯示的內(nèi)容,如果連續(xù)顯示,那么可連續(xù)寫(xiě)入顯示的內(nèi)容。由于LCD是外部設(shè)備,處理速度比CPU的速度慢,向LCD寫(xiě)入命令到完成功能須要一定的時(shí)間,在這個(gè)過(guò)程中,LCD處于忙狀態(tài),不能向LCD寫(xiě)入新的內(nèi)容。LCD是否處于忙狀態(tài)可通過(guò)讀忙標(biāo)志命令來(lái)了解。另外,由于LCD執(zhí)行命令的時(shí)間根本固定,而且比擬短,因此也可以通過(guò)延時(shí)等待命令完成后再寫(xiě)入下一個(gè)命令。圖7.5是LCD1602與8051單片機(jī)的接口圖,圖中LCD1602的數(shù)據(jù)線與8051的P2口相連,RS與8051的P1.7相連,R/與8051的P1.6相連,E端與8051的P1.5相連。編程在LCD顯示器的第1行、第1列開(kāi)始顯示“HOW〞,第2行、第5列開(kāi)始顯示“AREYOU!〞。圖7.5LCD1602與8051單片機(jī)的接口圖匯編語(yǔ)言程序:RSBITP1.7RWBITP1.6EBITP1.5ORG00HAJMPSTARTORG50H ;主程序START: MOVSP,#50HACALLINIT MOVA,#10000000B ;寫(xiě)入顯示緩沖區(qū)起始地址為第1行第1列ACALLWC51R MOVA,#'H' ;第1行第1列顯示字母'H' ACALLWC51DDR MOVA,#'O' ;第1行第2列顯示字母"O" ACALLWC51DDR MOVA,#'W' ;第1行第3列顯示字母'W' ACALLWC51DDR MOVA,#11000100B ;寫(xiě)入顯示緩沖區(qū)起始地址為第2行第5列 ACALLWC51R MOVA,#'A' ;第2行第5列顯示字母'A' ACALLWC51DDR MOVA,#'R' ;第2行第6列顯示字母'R' ACALLWC51DDR MOVA,#'E' ;第2行第7列顯示字母'E'ACALLWC51DDR MOVA,#'' ;第2行第8列顯示字母'' ACALLWC51DDR MOVA,#'Y' ;第2行第9列顯示字母'Y' ACALLWC51DDR MOVA,#'O' ;第2行第10列顯示字母'O'ACALLWC51DDR MOVA,#'U' ;第2行第11列顯示字母'U' ACALLWC51DDR MOVA,#'!' ;第2行第12列顯示字母'!' ACALLWC51DDRLOOP: AJMPLOOP ;初始化子程序INIT: MOVA,#00000001H ;清屏 ACALLWC51R MOVA,#00111000B ;使用8位數(shù)據(jù),顯示兩行,使用5×7的字型LCALLWC51R MOVA,#00001100B ;顯示器開(kāi),光標(biāo)關(guān),字符不閃爍LCALLWC51R MOVA,#00000110B ;字符不動(dòng),光標(biāo)自動(dòng)右移一格LCALLWC51RRET ;檢查忙子程序 F_BUSY:PUSHACC ;保護(hù)現(xiàn)場(chǎng) MOVP2,#0FFHCLRRSSETBRWWAIT: CLRESETBEJBP2.7,WAIT ;忙,等待POPACC ;不忙,恢復(fù)現(xiàn)場(chǎng)RET ;寫(xiě)入命令子程序WC51R: ACALLF_BUSYCLRECLRRSCLRRWSETBEMOVP2,ACCCLRERET ;寫(xiě)入數(shù)據(jù)子程序WC51DDR:ACALLF_BUSYCLRESETBRSCLRRWSETBEMOVP2,ACCCLRERETENDC語(yǔ)言編程:#include<reg51.h>#defineucharunsignedcharsbitRS=P1^7;sbitRW=P1^6;sbitE=P1^5;voidinit(void);voidwc51r(uchari);voidwc51ddr(uchari);voidfbusy(void);//主函數(shù)voidmain(){SP=0x50;init();wc51r(0x80);//寫(xiě)入顯示緩沖區(qū)起始地址為第1行第1列wc51ddr(’H’);//第1行第1列顯示字母’H’wc51ddr(’O’);//第1行第2列顯示字母’O’wc51ddr(’W’

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論