第10章_AT89S51單片機(jī)與輸入、輸出外部設(shè)備的接口_第1頁
第10章_AT89S51單片機(jī)與輸入、輸出外部設(shè)備的接口_第2頁
第10章_AT89S51單片機(jī)與輸入、輸出外部設(shè)備的接口_第3頁
第10章_AT89S51單片機(jī)與輸入、輸出外部設(shè)備的接口_第4頁
第10章_AT89S51單片機(jī)與輸入、輸出外部設(shè)備的接口_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第1010章章 AT89S51AT89S51單片機(jī)與輸入單片機(jī)與輸入/ /輸出外輸出外部設(shè)備的接口部設(shè)備的接口10.1 LED數(shù)碼管靜態(tài)和動(dòng)態(tài)顯示接口技術(shù)數(shù)碼管靜態(tài)和動(dòng)態(tài)顯示接口技術(shù)10.2 矩陣鍵盤及接口技術(shù)矩陣鍵盤及接口技術(shù)10.3 LCD液晶顯示接口技術(shù)液晶顯示接口技術(shù)本章重點(diǎn)本章重點(diǎn):1.LED數(shù)碼管數(shù)碼管動(dòng)態(tài)顯示動(dòng)態(tài)顯示接口技術(shù)接口技術(shù)2.矩陣鍵盤矩陣鍵盤及其接口技術(shù)及其接口技術(shù)3.1602LCD液晶顯示接口技術(shù)液晶顯示接口技術(shù)10.1.1 10.1.1 一位一位LEDLED數(shù)碼管的顯示原理及接口程序數(shù)碼管的顯示原理及接口程序10.1 LED10.1 LED數(shù)碼管的顯示原理及接口設(shè)

2、計(jì)數(shù)碼管的顯示原理及接口設(shè)計(jì)共陽極共陽極a ab bc cd dg ge ef fh h共陰極共陰極a ab bc cd dg ge ef fh h接高電平點(diǎn)亮接高電平點(diǎn)亮接低電平點(diǎn)亮接低電平點(diǎn)亮接高電平接高電平接地接地a a b bc cd de ef fg gh ha af fg gh ha aa ab bc cd de ef fg gh hf fg gh h八段八段LEDLED數(shù)碼管數(shù)碼管段碼表段碼表(分析,理解)(分析,理解)字形字形0123456789黑黑共陽共陽0C00F90A40B09992820F880900FF共陰共陰3F065B4F666D7D077F6F00TAB: DB

3、 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;0-9共陽共陽段碼表段碼表TAB1:DB 03FH,006H,05BH,04FH,66H,6DH,7DH,07H,7FH,6FH ;0-9共陰共陰段碼表段碼表(常用常用)h g f e d c b a 接接I/OI/O口口 高位高位低位低位 回顧前面講過的一位數(shù)碼管顯示程序?;仡櫱懊嬷v過的一位數(shù)碼管顯示程序。MAIN: ;初始化語句初始化語句L1:LCALLDISPLAY ;反復(fù)調(diào)用顯示程序反復(fù)調(diào)用顯示程序SJMPL1DISPLAY:MOVA,R4MOVDPTR,#TABLE1MOVCA,A+DPTR

4、MOVP2,ARETINTTIMER0: ;在中斷服務(wù)程序?qū)崿F(xiàn)在中斷服務(wù)程序?qū)崿F(xiàn) ; 顯示數(shù)值(存放在顯示數(shù)值(存放在R4 ;中)每隔中)每隔 1s加一。加一。TABLE1: DB C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H,0FFH ;段碼表;段碼表10.1.2 10.1.2 多位多位LEDLED數(shù)碼管顯示原理及接口程序數(shù)碼管顯示原理及接口程序LEDLED數(shù)碼管有數(shù)碼管有靜態(tài)顯示靜態(tài)顯示和和動(dòng)態(tài)顯示動(dòng)態(tài)顯示兩種顯示方式。兩種顯示方式。1 1、靜態(tài)顯示、靜態(tài)顯示靜態(tài)顯示是指各位數(shù)碼管靜態(tài)顯示是指各位數(shù)碼管同時(shí)同時(shí)處于顯示狀態(tài)。處于顯示狀態(tài)。

5、連接方法連接方法: : 所有所有LEDLED數(shù)碼管的數(shù)碼管的位選線位選線均連到均連到+Vcc+Vcc(或(或GNDGND), ,每位每位LEDLED數(shù)碼管的數(shù)碼管的8 8根段選線分別接到一個(gè)根段選線分別接到一個(gè)8 8位并行位并行I/OI/O口上口上, ,從該從該I/OI/O口送出相應(yīng)的段碼顯口送出相應(yīng)的段碼顯示字型。示字型。 圖圖10-410-4 LED LED數(shù)碼管數(shù)碼管靜態(tài)顯示電路靜態(tài)顯示電路abcdefgdpabcdefgdpabcdefgdpabcdefgdp+5V/GNDI/O口(口(4)I/O口(口(3)I/O口(口(2)I/O口(口(1)2 2、動(dòng)態(tài)顯示、動(dòng)態(tài)顯示( (常用常用)

6、 ) 動(dòng)態(tài)顯示是指單片機(jī)采用動(dòng)態(tài)顯示是指單片機(jī)采用“掃描掃描”方式控制各個(gè)數(shù)碼管輪流顯示,方式控制各個(gè)數(shù)碼管輪流顯示,任何時(shí)刻任何時(shí)刻只有一個(gè)只有一個(gè)LEDLED數(shù)碼管處于顯示狀態(tài)。數(shù)碼管處于顯示狀態(tài)。連接方法連接方法: : 所有所有LEDLED的的段碼線段碼線共同連接在一起共用一個(gè)共同連接在一起共用一個(gè)8 8位位I/OI/O口口, ,而每個(gè)而每個(gè)LEDLED的的位選線位選線分別由一根相應(yīng)的分別由一根相應(yīng)的I/OI/O口線控制口線控制. . 顯示方式:顯示方式:動(dòng)態(tài)顯示采用動(dòng)態(tài)顯示采用逐位掃描逐位掃描顯示方式,即顯示方式,即每一個(gè)時(shí)刻只選通其中一位每一個(gè)時(shí)刻只選通其中一位數(shù)碼管數(shù)碼管,并,并從

7、從段碼線端口段碼線端口送出該位數(shù)碼管的段碼送出該位數(shù)碼管的段碼, ,然后然后保持一段保持一段延時(shí)時(shí)延時(shí)時(shí)間間。然后選通下一位數(shù)碼管然后選通下一位數(shù)碼管, ,直到所有數(shù)碼管掃描完直到所有數(shù)碼管掃描完. . 圖圖10-510-5 LED LED數(shù)碼管數(shù)碼管動(dòng)態(tài)顯示電路動(dòng)態(tài)顯示電路abcdefgdpabcdefgdpabcdefgdpabcdefgdpCOM3COM2COM2COM1I/O(1)D0D1D2D3I/O(2)動(dòng)態(tài)顯示原理:動(dòng)態(tài)顯示原理: 動(dòng)態(tài)顯示是利用人眼的視覺暫留效應(yīng),即人眼看到的畫面會(huì)在人動(dòng)態(tài)顯示是利用人眼的視覺暫留效應(yīng),即人眼看到的畫面會(huì)在人的眼里停留約一段時(shí)間的眼里停留約一段時(shí)

8、間, ,臨界閃爍頻率為臨界閃爍頻率為24H24H,所以電影在,所以電影在1 1秒中拍攝秒中拍攝2424張照片張照片, ,在播放時(shí)在播放時(shí), ,里面的事物總是移動(dòng)的。里面的事物總是移動(dòng)的。而而1/24Hz=0.046s=46ms,1/24Hz=0.046s=46ms,我們?nèi)∥覀內(nèi)?6ms46ms16ms46ms,可以達(dá)到?jīng)]有閃爍的要求。,可以達(dá)到?jīng)]有閃爍的要求。 動(dòng)態(tài)顯示要注意兩個(gè)問題動(dòng)態(tài)顯示要注意兩個(gè)問題: :1.1.段碼通常通過查表指令段碼通常通過查表指令MOVCMOVC來求得來求得. .先送段碼,再送位選信號(hào)。先送段碼,再送位選信號(hào)。2.2.每位數(shù)碼管顯示時(shí)間每位數(shù)碼管顯示時(shí)間不能太短也不

9、能太長(zhǎng)不能太短也不能太長(zhǎng)。3.3.換位顯示換位顯示時(shí)通常要時(shí)通常要加一些軟件代碼使所有的加一些軟件代碼使所有的LEDLED全滅全滅. .( (防止產(chǎn)生鬼影防止產(chǎn)生鬼影) )靜態(tài)顯示和動(dòng)態(tài)顯示特點(diǎn)比較靜態(tài)顯示和動(dòng)態(tài)顯示特點(diǎn)比較: :1 1、靜態(tài)顯示:原理簡(jiǎn)單,編程較容易;顯示亮度強(qiáng),、靜態(tài)顯示:原理簡(jiǎn)單,編程較容易;顯示亮度強(qiáng),無閃爍;占用無閃爍;占用I/OI/O資源較多。資源較多。2 2、動(dòng)態(tài)顯示:原理較復(fù)雜,編程較復(fù)雜;、動(dòng)態(tài)顯示:原理較復(fù)雜,編程較復(fù)雜;有閃爍有閃爍;使用的元器件較;使用的元器件較少少, ,占占I/OI/O資源少。資源少。四位四位LED數(shù)碼管動(dòng)態(tài)顯示子程序數(shù)碼管動(dòng)態(tài)顯示子程

10、序DISPLAY:LOOP3:MOVR4,#30 ;持續(xù)顯示約持續(xù)顯示約0.5sLOOP2:MOVR2,#4 ;顯示顯示4位數(shù)碼管位數(shù)碼管MOVR3,#8H ;對(duì)應(yīng)第一個(gè)數(shù)碼管的位碼值對(duì)應(yīng)第一個(gè)數(shù)碼管的位碼值CLRA LOOP1:PUSHACC ;每次顯示一位數(shù)碼管每次顯示一位數(shù)碼管MOVDPTR,#TAB1 ;賦顯示數(shù)值表格起始地址賦顯示數(shù)值表格起始地址MOVCA,A+DPTR ;查找待顯示數(shù)值查找待顯示數(shù)值MOVDPTR,#TAB2 ;賦段碼表格起始地址賦段碼表格起始地址MOVCA,A+DPTR ;查找顯示數(shù)值相對(duì)應(yīng)段碼查找顯示數(shù)值相對(duì)應(yīng)段碼MOVP0,A ;段碼通過段碼通過P0端口輸出端

11、口輸出MOVA,R3MOVP2,A ;位碼通過位碼通過P2端口輸出端口輸出MOVA,R3RRAMOVR3,A ;為下一次輸出做準(zhǔn)備為下一次輸出做準(zhǔn)備LCALLDELAY4MSPOPACCINCA;為查找下一個(gè)顯示值做準(zhǔn)備為查找下一個(gè)顯示值做準(zhǔn)備MOVP2,#0H ;防止鬼影防止鬼影DJNZR2,LOOP1;顯示一屏顯示一屏DJNZR4,LOOP2RET;將;將要顯示的數(shù)字及段碼要顯示的數(shù)字及段碼做成表格供程序查詢。做成表格供程序查詢。TAB1:DB 2,0,1,2 ;要顯示的數(shù)字要顯示的數(shù)字TAB2:DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H

12、,090H,00H;段碼表段碼表10.2 10.2 鍵盤鍵盤(Keyboard)(Keyboard)接口原理接口原理q按鍵的特點(diǎn)及工作原理按鍵的特點(diǎn)及工作原理q獨(dú)立式獨(dú)立式按鍵按鍵q矩陣式矩陣式按鍵按鍵10.2.1 10.2.1 按鍵輸入所要解決的問題按鍵輸入所要解決的問題1.鍵輸入特點(diǎn)鍵輸入特點(diǎn): (1)按鍵的接通與斷開)按鍵的接通與斷開,產(chǎn)生兩種產(chǎn)生兩種相反相反的邏輯狀態(tài)(的邏輯狀態(tài)(低電平低電平“0”與與高電平高電平“1”). (2)按鍵閉合和斷開瞬間均會(huì)出現(xiàn)按鍵閉合和斷開瞬間均會(huì)出現(xiàn)一連串抖動(dòng)一連串抖動(dòng), 當(dāng)按鍵當(dāng)按鍵按下時(shí)會(huì)按下時(shí)會(huì)產(chǎn)生產(chǎn)生前沿抖動(dòng)前沿抖動(dòng),當(dāng)按鍵當(dāng)按鍵彈起時(shí)會(huì)產(chǎn)生彈

13、起時(shí)會(huì)產(chǎn)生后沿抖動(dòng)后沿抖動(dòng). 抖動(dòng)時(shí)間抖動(dòng)時(shí)間一般為一般為510ms。 (3)解決抖動(dòng)通常采用)解決抖動(dòng)通常采用軟件延時(shí)軟件延時(shí)方案,即方案,即延時(shí)延時(shí)10ms20ms后再后再次判斷。次判斷。2.編寫鍵盤程序四步編寫鍵盤程序四步(1)判斷是否有鍵閉合(加入去抖動(dòng))判斷是否有鍵閉合(加入去抖動(dòng))(2)識(shí)別按鍵(求鍵值)識(shí)別按鍵(求鍵值)(3)等待按鍵的釋放等待按鍵的釋放(4)由鍵值找到相應(yīng)處理程序入口由鍵值找到相應(yīng)處理程序入口 1.1.獨(dú)立式獨(dú)立式按鍵按鍵特點(diǎn)特點(diǎn): :一線一鍵一線一鍵, ,按鍵識(shí)別按鍵識(shí)別( (編程編程) )簡(jiǎn)單簡(jiǎn)單;但占用較多;但占用較多口線口線, ,適合適合8 8鍵以下使用

14、鍵以下使用. .10.2.2 10.2.2 鍵盤的工作原理鍵盤的工作原理識(shí)別某一鍵是否按下識(shí)別某一鍵是否按下的的子程序子程序:KEYIN:MOVP1,#0FFH ;P1口寫入口寫入1,設(shè)置,設(shè)置P1口為輸入狀態(tài)口為輸入狀態(tài)MOVA,P1 ;讀入讀入8個(gè)按鍵的狀態(tài)個(gè)按鍵的狀態(tài)CJNEA,#0FFH,QUDOU ;有鍵按下,去抖動(dòng)有鍵按下,去抖動(dòng)LJMPRETURN ;無鍵按下,返回?zé)o鍵按下,返回QUDOU:MOV R3,A ;8個(gè)按鍵的狀態(tài)送個(gè)按鍵的狀態(tài)送R3保存保存LCALL DELAY10 ;調(diào)用延時(shí)子程序,軟件去鍵抖動(dòng)調(diào)用延時(shí)子程序,軟件去鍵抖動(dòng)MOVA,P1 ;再一次讀入再一次讀入8個(gè)按

15、鍵的狀態(tài)個(gè)按鍵的狀態(tài)CJNEA,R3,RETURN ;兩次鍵值比較,沒有按鍵按下則返回兩次鍵值比較,沒有按鍵按下則返回KEY0: MOVC,P1.0 ; 讀讀P1.0的按鍵狀態(tài)的按鍵狀態(tài)JCKEY1 ;該鍵未按下,跳該鍵未按下,跳KEY1,判下一個(gè)鍵,判下一個(gè)鍵LJMPPKEY0 ;該鍵按下,跳該鍵按下,跳PKEY0處理處理KEY1: MOVC,P1.1 ;讀讀P1.1的按鍵狀態(tài)的按鍵狀態(tài)JCKEY2 ; 該鍵未按下,跳該鍵未按下,跳KEY2,判下一個(gè)鍵,判下一個(gè)鍵LJMPPKEY1 ;該鍵按下,跳該鍵按下,跳PKEY1處理處理KEY2: MOVC,P1.2;讀讀P1.2的按鍵狀態(tài)的按鍵狀態(tài)J

16、CKEY3; 該鍵未按下,跳該鍵未按下,跳KEY3,判下一個(gè)鍵,判下一個(gè)鍵LJMPPKEY2;該鍵按下,跳該鍵按下,跳PKEY2處理處理KEY3: MOVC,P1.3;讀讀P1.3的按鍵狀態(tài)的按鍵狀態(tài)KEY7: MOVC,P1.7;讀讀P1.7的按鍵狀態(tài)的按鍵狀態(tài)JCRETURN; 該鍵未按下,跳該鍵未按下,跳RETURN處處LJMPPKEY7;該鍵按下,跳該鍵按下,跳PKEY7處理處理RETURN:RET ;子程序返回子程序返回2.2.矩陣式矩陣式按鍵按鍵特點(diǎn)特點(diǎn): :編程較為復(fù)雜編程較為復(fù)雜, ,節(jié)省口資源節(jié)省口資源, ,8 8鍵以上使用。鍵以上使用。思考思考:(1 1)如何判斷矩陣鍵盤是

17、否按下?如何判斷矩陣鍵盤是否按下?(2 2)如何識(shí)別鍵值?)如何識(shí)別鍵值?矩陣鍵盤掃描子程序一般包括以下五個(gè)方面矩陣鍵盤掃描子程序一般包括以下五個(gè)方面: :1.1.判別判別有無按鍵按下(加入去抖動(dòng))有無按鍵按下(加入去抖動(dòng));2.2.掃描獲取掃描獲取閉合鍵的閉合鍵的行、列值行、列值;3.3.用計(jì)算法或查表法得到用計(jì)算法或查表法得到鍵值鍵值;4.4.判斷閉合鍵判斷閉合鍵釋放否釋放否, ,如沒釋放則繼續(xù)等待;如沒釋放則繼續(xù)等待;5.5.由由鍵值鍵值找到相應(yīng)處理程序入口找到相應(yīng)處理程序入口. .1.1.掃描法掃描法 第一步,識(shí)別鍵盤第一步,識(shí)別鍵盤有無鍵按下有無鍵按下。 先把先把所有列線均所有列線均

18、置為置為低電平低電平,然后,然后檢查各行線電平是否都為高檢查各行線電平是否都為高電平電平。如果不全為高電平,說明有鍵按下,否則說明無鍵按下。如果不全為高電平,說明有鍵按下,否則說明無鍵按下。 第二步,識(shí)別出第二步,識(shí)別出哪個(gè)按鍵被按下哪個(gè)按鍵被按下。 采用采用掃描法掃描法,在某一時(shí)刻,在某一時(shí)刻只讓只讓1 1條列線條列線處于處于低電平低電平,其余所有,其余所有列線處于高電平,依次掃描。找到相應(yīng)按鍵后,根據(jù)該鍵所在的行列線處于高電平,依次掃描。找到相應(yīng)按鍵后,根據(jù)該鍵所在的行和列,求出相應(yīng)鍵值。和列,求出相應(yīng)鍵值。 鍵鍵號(hào)號(hào)= =行首鍵號(hào)行首鍵號(hào)(0(0、4 4、8 8、12)+12)+列號(hào)列號(hào)

19、(0(0、1 1、2 2、3)3)解決要思考的兩個(gè)問題可以采用解決要思考的兩個(gè)問題可以采用掃描法掃描法或或線反轉(zhuǎn)法線反轉(zhuǎn)法2.2.線反轉(zhuǎn)法線反轉(zhuǎn)法 只需經(jīng)過兩步便能獲得按鍵所在的行列值。只需經(jīng)過兩步便能獲得按鍵所在的行列值。 第一步,讓行線作輸入線,列線作輸出線,并使列線全輸出低第一步,讓行線作輸入線,列線作輸出線,并使列線全輸出低電平,則行線中電平由高變低的行即為按鍵所在行。電平,則行線中電平由高變低的行即為按鍵所在行。 第二步,再讓列線作輸入線,行線作輸出線,并使行線全輸出第二步,再讓列線作輸入線,行線作輸出線,并使行線全輸出低電平,則列線中電平由高變低的列即為按鍵所在列。低電平,則列線中

20、電平由高變低的列即為按鍵所在列。 找到按鍵后,根據(jù)按鍵所在行和列,求出相應(yīng)鍵值。找到按鍵后,根據(jù)按鍵所在行和列,求出相應(yīng)鍵值。 鍵號(hào)鍵號(hào)= =行首鍵號(hào)行首鍵號(hào)(0(0、4 4、8 8、12)+12)+列號(hào)列號(hào)(0(0、1 1、2 2、3)3)選取原則選取原則: :既要保證及時(shí)響應(yīng),又不要多占用單片機(jī)的工作時(shí)間。既要保證及時(shí)響應(yīng),又不要多占用單片機(jī)的工作時(shí)間。通常有查詢、定時(shí)掃描和中斷掃描三種工作方式。通常有查詢、定時(shí)掃描和中斷掃描三種工作方式。1.1.查詢查詢 查詢方式是利用單片機(jī)空閑時(shí),反復(fù)掃描鍵盤,以響應(yīng)鍵盤查詢方式是利用單片機(jī)空閑時(shí),反復(fù)掃描鍵盤,以響應(yīng)鍵盤的輸入請(qǐng)求。的輸入請(qǐng)求。2.2

21、.定時(shí)掃描定時(shí)掃描 定時(shí)掃描方式就是定時(shí)掃描方式就是每隔一段時(shí)間對(duì)鍵盤掃描一次每隔一段時(shí)間對(duì)鍵盤掃描一次, ,它利用單它利用單片機(jī)內(nèi)部的片機(jī)內(nèi)部的定時(shí)器定時(shí)器產(chǎn)生一定時(shí)間產(chǎn)生一定時(shí)間( (例如例如10ms)10ms)的定時(shí)的定時(shí), ,當(dāng)定時(shí)時(shí)間當(dāng)定時(shí)時(shí)間到就產(chǎn)生定時(shí)器溢出中斷。到就產(chǎn)生定時(shí)器溢出中斷。CPUCPU響應(yīng)中斷后對(duì)鍵盤進(jìn)行掃描響應(yīng)中斷后對(duì)鍵盤進(jìn)行掃描, ,并在并在有鍵按下時(shí)識(shí)別出該鍵有鍵按下時(shí)識(shí)別出該鍵, ,再執(zhí)行該鍵的功能程序再執(zhí)行該鍵的功能程序. .10.2.3 10.2.3 鍵盤的工作方式鍵盤的工作方式3.3.中斷中斷掃描方式掃描方式 為提高為提高CPUCPU工作效率工作效率,

22、 ,可采用中斷掃描工作方式??刹捎弥袛鄴呙韫ぷ鞣绞?。 工作過程如下工作過程如下: : 當(dāng)無鍵按下時(shí)當(dāng)無鍵按下時(shí), ,不觸發(fā)中斷,不觸發(fā)中斷,CPUCPU處理自己的工作;處理自己的工作; 當(dāng)當(dāng)有鍵按下時(shí)有鍵按下時(shí), ,產(chǎn)生中斷請(qǐng)求產(chǎn)生中斷請(qǐng)求,CPU,CPU轉(zhuǎn)去執(zhí)行鍵盤掃描子程序轉(zhuǎn)去執(zhí)行鍵盤掃描子程序, ,并識(shí)別鍵號(hào)。并識(shí)別鍵號(hào)。P1.0P1.1P1.3P1.2P1.4P1.5P1.6P1.7INT08031&Vcc10.3 AT89S5110.3 AT89S51單片機(jī)與液晶顯示器(單片機(jī)與液晶顯示器(LCDLCD)的接口)的接口要解決兩個(gè)問題:要解決兩個(gè)問題:(1 1)如何在)如何在L

23、CDLCD的指定位置顯示出指定的字符?的指定位置顯示出指定的字符?(2 2)如何在)如何在LCDLCD的指定位置顯示字符串?的指定位置顯示字符串?bAShenzhen Polytechnic(1)(2)10.3.1 LCD顯示器的特點(diǎn)及分類顯示器的特點(diǎn)及分類1 1、特點(diǎn):被動(dòng)發(fā)光,、特點(diǎn):被動(dòng)發(fā)光,省電,抗干擾能力強(qiáng)省電,抗干擾能力強(qiáng);2 2、分類:分成字段型、分類:分成字段型、點(diǎn)陣字符型點(diǎn)陣字符型和點(diǎn)陣圖形型;和點(diǎn)陣圖形型;點(diǎn)陣字符型點(diǎn)陣字符型只能顯示只能顯示ASCIIASCII碼字符,通常按照顯示字符的行碼字符,通常按照顯示字符的行數(shù)或液晶點(diǎn)陣的行列出來命名;數(shù)或液晶點(diǎn)陣的行列出來命名;3

24、 3、將、將LCDLCD控制器、驅(qū)動(dòng)器、控制器、驅(qū)動(dòng)器、RAMRAM、ROMROM和和LCDLCD顯示器用顯示器用PCBPCB連接連接到一起,稱為到一起,稱為L(zhǎng)CDLCD顯示模塊(顯示模塊(LCMLCM););4 4、控制、控制LCDLCD顯示器顯示字符或圖形,是通過控制相應(yīng)的顯示器顯示字符或圖形,是通過控制相應(yīng)的LCDLCD控制器和驅(qū)動(dòng)器以及讀寫控制器和驅(qū)動(dòng)器以及讀寫LCDLCD內(nèi)部存儲(chǔ)器來實(shí)現(xiàn)的;內(nèi)部存儲(chǔ)器來實(shí)現(xiàn)的;5 5、LCMLCM的引腳共的引腳共1616條條(包括(包括8 8條數(shù)據(jù)線、條數(shù)據(jù)線、3 3條控制線和條控制線和3 3條電條電源線和源線和2 2條地線)。條地線)。6 6、LC

25、MLCM引腳功能介紹引腳功能介紹清屏。清屏。功能:清除屏幕顯示,并給地址計(jì)數(shù)器功能:清除屏幕顯示,并給地址計(jì)數(shù)器ACAC置置“0”0”。返回。返回。功能:置功能:置DDRAMDDRAM(顯示數(shù)據(jù)(顯示數(shù)據(jù)RAMRAM)及顯示)及顯示RAMRAM的地址為的地址為“0”0”,顯示返回到原始位置。,顯示返回到原始位置。輸入方式設(shè)置輸入方式設(shè)置。功能:設(shè)置光標(biāo)的移動(dòng)方向,并指定整體。功能:設(shè)置光標(biāo)的移動(dòng)方向,并指定整體顯示是否移動(dòng)。其中:顯示是否移動(dòng)。其中:I/D=1I/D=1,為增量方式;,為增量方式;I/D=0I/D=0,為減量,為減量方式;如方式;如S=1S=1,表示移位;如,表示移位;如S=0

26、S=0,表示不移位。,表示不移位。10.3.2 一些常用的一些常用的LCD顯示控制命令顯示控制命令顯示開關(guān)控制。顯示開關(guān)控制。功能:功能:D D位位(DB2)(DB2)控制控制整體顯示的開與關(guān)整體顯示的開與關(guān),D=1(,D=1(開顯示開顯示),D=0(),D=0(關(guān)顯示關(guān)顯示) );C C位位(DB1)(DB1)控制控制光標(biāo)的開與關(guān)光標(biāo)的開與關(guān),C=1(,C=1(光標(biāo)開光標(biāo)開),C=0(),C=0(光標(biāo)關(guān)光標(biāo)關(guān)) );B B位位(DB0)(DB0)控制控制光標(biāo)處字符閃爍光標(biāo)處字符閃爍,B=1(,B=1(字符閃爍字符閃爍),B=0(),B=0(字符不閃爍字符不閃爍).).光標(biāo)移位。光標(biāo)移位。功能

27、:移動(dòng)光標(biāo)或整體顯示,功能:移動(dòng)光標(biāo)或整體顯示,DDRAMDDRAM中內(nèi)容不變。其中:中內(nèi)容不變。其中:S/C=1(S/C=1(顯示移位顯示移位),S/C=0(),S/C=0(光標(biāo)移位光標(biāo)移位););R/L=1(R/L=1(向右移位向右移位),R/L=0(),R/L=0(向左移位向左移位) )。功能設(shè)置功能設(shè)置。功能:功能:DLDL位設(shè)置接口數(shù)據(jù)位數(shù)位設(shè)置接口數(shù)據(jù)位數(shù),DL=1(8,DL=1(8位數(shù)據(jù)接口位數(shù)據(jù)接口),DL=0(4),DL=0(4位數(shù)據(jù)接口位數(shù)據(jù)接口););N N位設(shè)置顯示行數(shù)位設(shè)置顯示行數(shù),N=0(,N=0(單行顯示單行顯示),N=1(),N=1(雙行顯示雙行顯示););F

28、F位設(shè)置字型大小位設(shè)置字型大小,F=1(5,F=1(5 1010點(diǎn)陣點(diǎn)陣),F=0(5),F=0(5 7 7點(diǎn)陣點(diǎn)陣) )。CGRAMCGRAM(自定義字符(自定義字符RAMRAM)地址設(shè)置。)地址設(shè)置。功能:設(shè)置功能:設(shè)置CGRAMCGRAM的地址,地址范圍為的地址,地址范圍為0 06363。DDRAMDDRAM(數(shù)據(jù)顯示存儲(chǔ)器)地址設(shè)置(數(shù)據(jù)顯示存儲(chǔ)器)地址設(shè)置。功能:設(shè)置功能:設(shè)置DDRAMDDRAM的地址,地址范圍為的地址,地址范圍為0 0127127。讀忙標(biāo)志讀忙標(biāo)志BFBF及地址計(jì)數(shù)器。及地址計(jì)數(shù)器。功能:功能:BFBF位為忙標(biāo)志位為忙標(biāo)志.BF=1(.BF=1(表示忙表示忙, ,

29、此時(shí)此時(shí)LCMLCM不能接收命令和不能接收命令和數(shù)據(jù)數(shù)據(jù)),BF=0(),BF=0(表示表示LCMLCM不忙,可接收命令和數(shù)據(jù)不忙,可接收命令和數(shù)據(jù)) )。ACAC位為地址計(jì)數(shù)器的值位為地址計(jì)數(shù)器的值, ,范圍為范圍為0 0127127。 從從CGRAM/DDRAMCGRAM/DDRAM中讀數(shù)據(jù)中讀數(shù)據(jù)。功能:從功能:從CGRAMCGRAM或或DDRAMDDRAM中讀出數(shù)據(jù),應(yīng)與中讀出數(shù)據(jù),應(yīng)與CGRAMCGRAM或或DDRAMDDRAM地址地址設(shè)置命令結(jié)合使用。設(shè)置命令結(jié)合使用。 向向CGRAM/DDRAMCGRAM/DDRAM寫數(shù)據(jù)。寫數(shù)據(jù)。功能:將數(shù)據(jù)寫入功能:將數(shù)據(jù)寫入CGRAMCGR

30、AM或或DDRAMDDRAM中,應(yīng)與中,應(yīng)與CGRAMCGRAM或或DDRAMDDRAM地址地址設(shè)置命令結(jié)合使用。設(shè)置命令結(jié)合使用。(3 3)有關(guān)說明)有關(guān)說明 顯示位與顯示位與DDRAMDDRAM地址的對(duì)應(yīng)關(guān)系地址的對(duì)應(yīng)關(guān)系要把顯示數(shù)據(jù)顯示在某個(gè)位置,則要把顯示數(shù)據(jù)寫在相應(yīng)要把顯示數(shù)據(jù)顯示在某個(gè)位置,則要把顯示數(shù)據(jù)寫在相應(yīng)的的DDRAMDDRAM地址中。地址中。需要注意的是:需要注意的是:光標(biāo)定位,寫入一個(gè)顯示字符后,光標(biāo)定位,寫入一個(gè)顯示字符后,DDRAMDDRAM地址會(huì)自動(dòng)加地址會(huì)自動(dòng)加1 1或減或減1 1,加或減由輸入方式字設(shè)置;加或減由輸入方式字設(shè)置;第第1 1行行DDRAMDDRA

31、M地址與第地址與第2 2行行DDRAMDDRAM地址并不連續(xù)地址并不連續(xù);往往10H20H10H20H或或50H67H50H67H寫字符時(shí),不能顯示寫字符時(shí),不能顯示,必須通過移,必須通過移位操作將他們移入可顯示區(qū)域方可正常顯示。位操作將他們移入可顯示區(qū)域方可正常顯示。row12345141516line100H 01H 02H 03H 04H0dH 0eH 0fHline240H 41H 42H 43H 44H4dH 4eH 4fH80H81H82H83H84H8dH8eH8fH0c0H0c1H0c2H0c3H0c4H0cdH0ceH0cfH標(biāo)準(zhǔn)字符庫表標(biāo)準(zhǔn)字符庫表(字符(字符庫內(nèi)容、字符碼

32、和字型庫內(nèi)容、字符碼和字型對(duì)應(yīng)關(guān)系表)對(duì)應(yīng)關(guān)系表) 可以看出,可以看出,LCMLCM顯顯示的數(shù)字和字母的代碼示的數(shù)字和字母的代碼值,恰好與值,恰好與ASCIIASCII碼表碼表中的數(shù)字和字母相同。中的數(shù)字和字母相同。所以,在顯示數(shù)字和字所以,在顯示數(shù)字和字母時(shí),只需要向母時(shí),只需要向LCMLCM送送入相應(yīng)的入相應(yīng)的ASCIIASCII碼即可碼即可。(。(重要,理解重要,理解)字符碼(字符碼(DDRAM DATADDRAM DATA)、)、CGRAMCGRAM地址與自定義點(diǎn)陣數(shù)據(jù)地址與自定義點(diǎn)陣數(shù)據(jù)(CGRAMCGRAM數(shù)據(jù))關(guān)系表。數(shù)據(jù))關(guān)系表。10.4.3 AT89S5110.4.3 AT8

33、9S51單片機(jī)與單片機(jī)與LCDLCD的接口及軟件編程的接口及軟件編程1.1.程序設(shè)計(jì)步驟:程序設(shè)計(jì)步驟:(1 1)功能設(shè)置(調(diào)用)功能設(shè)置(調(diào)用LCDLCD初始化程序,依次初始化程序,依次寫命令寫命令字,字,如:寫清屏命令字、寫如:寫清屏命令字、寫DDRAMDDRAM光標(biāo)定位光標(biāo)定位地址命令字)地址命令字)(2 2)顯示數(shù)據(jù)(調(diào)用)顯示數(shù)據(jù)(調(diào)用寫數(shù)據(jù)寫數(shù)據(jù)子程序)子程序)(3 3)讀入狀態(tài)字(調(diào)用)讀入狀態(tài)字(調(diào)用讀狀態(tài)讀狀態(tài)子程序)子程序)2.AT89S512.AT89S51單片機(jī)與單片機(jī)與LCDLCD模塊(模塊(LCMLCM)接口電路分成)接口電路分成總線型和總線型和非總線型非總線型兩種

34、。兩種。(1 1)總線型接口電路。)總線型接口電路。例例1 1:編寫程序在:編寫程序在LCDLCD第一行顯示第一行顯示“CS&SCS&S”,第第二行顯示二行顯示“9292”。START:MOV DPTR,#8000H ;命令口;命令口地址送地址送DPTRDPTRMOV A,#01H;清屏并置;清屏并置ACAC為為0 0MOVX DPTR,A;輸出命令;輸出命令A(yù)CALL F_BUSY;等待直至;等待直至LCMLCM不忙不忙MOV A,#30H;功能設(shè)置,;功能設(shè)置,8 8位接口,位接口,; 2; 2行顯示,行顯示, 5 57 7點(diǎn)陣點(diǎn)陣MOVX DPTR,AACALL F_BU

35、SYMOV A,#0EH ;開顯示及光標(biāo),不閃爍;開顯示及光標(biāo),不閃爍MOVX DPTR,AACALL F_BUSYMOV A,#06H ;內(nèi)容顯示,;內(nèi)容顯示,AC為增量為增量MOVX DPTR,AACALL F_BUSYMOV DPTR,#0C000H ;數(shù)據(jù)口地址送;數(shù)據(jù)口地址送DPTRMOV A,#43H ;C的的ASCII碼為碼為43HMOVX DPTR,A ;第一行第一位顯示;第一行第一位顯示CACALL F_BUSYMOV A,#53H;S的的ASCII碼為碼為53HMOVX DPTR,A;顯示;顯示CSACALL F_BUSYMOV A,#26H ;&的的ASCII碼為

36、碼為26HMOVX DPTR,A;顯示;顯示CS&ACALL F_BUSYMOV A,#53HMOVX DPTR,A;顯示;顯示CS&SACALL F_BUSYMOV DPTR,#8000H ;指向命令口;指向命令口MOV A,#0C0H;置;置DDRAM地址為地址為40HMOVX DPTR,A;第二行首顯示光標(biāo);第二行首顯示光標(biāo)ACALL F_BUSYMOV DPTR,#C000H;指向數(shù)據(jù)口;指向數(shù)據(jù)口MOV A,#39H;9的的ASCII碼為碼為39HMOVX DPTR,A;顯示;顯示9ACALL F_BUSYMOV A,#32H;2的的ASCII碼為碼為32HMOVX

37、DPTR,A;顯示;顯示92判定判定“忙忙”標(biāo)志標(biāo)志子程序子程序F_BUSY:F_BUSY: PUSHDPH;保護(hù)現(xiàn)場(chǎng);保護(hù)現(xiàn)場(chǎng)PUSHDPLPUSHPSWPUSHACCLOOP: MOVDPTR,#8000HMOVX A,DPTRJBACC.7,LOOP;忙,繼續(xù)等待;忙,繼續(xù)等待POPACC;不忙,恢復(fù)現(xiàn)場(chǎng)返回;不忙,恢復(fù)現(xiàn)場(chǎng)返回POPPSWPOPDPLPOPDPHRET數(shù)據(jù)線:數(shù)據(jù)線:DB7DB0接單片機(jī)的接單片機(jī)的P1.7 P1.0控制端:控制端: RS P3.0 R/W P3.1 E P3.2(2 2)非總線型接口電路)非總線型接口電路附:點(diǎn)陣圖形型附:點(diǎn)陣圖形型12864LCD的特

38、點(diǎn)和使用方法的特點(diǎn)和使用方法包括以下要點(diǎn):包括以下要點(diǎn):一、一、12864LCD的特點(diǎn);的特點(diǎn);二、顯示位與內(nèi)部二、顯示位與內(nèi)部RAM地址的對(duì)應(yīng)關(guān)系;地址的對(duì)應(yīng)關(guān)系;三、引腳名稱及作用;三、引腳名稱及作用;四、命令格式及功能說明。四、命令格式及功能說明。一、一、12864LCD的特點(diǎn)的特點(diǎn)1、內(nèi)部顯示控制芯片包括、內(nèi)部顯示控制芯片包括KS0108、T6963C等等;等等;2、12864LCD包括包括128(寬)(寬)*64(高)個(gè)像素點(diǎn),(高)個(gè)像素點(diǎn),內(nèi)部?jī)?nèi)部RAM為為64*64位。位。LCD屏上一個(gè)點(diǎn)的亮、暗狀屏上一個(gè)點(diǎn)的亮、暗狀態(tài),對(duì)應(yīng)內(nèi)部態(tài),對(duì)應(yīng)內(nèi)部RAM的一位數(shù)據(jù)的高、低電平,且的一位數(shù)據(jù)的高、低電平,且顯示分左右兩屏控制;顯示分左右兩屏控制;3、內(nèi)部、內(nèi)部RAM縱向上分成縱向上分成64列(列(063),橫向上分),橫向上分成成8頁(頁(07)。設(shè)置了頁地址和列地址,就唯一確。設(shè)置了頁地址和列地址,就唯一確定了內(nèi)部定了內(nèi)部RAM的一個(gè)單元;的一個(gè)單元;4、字節(jié)數(shù)據(jù)存放在、字節(jié)數(shù)據(jù)存放在RAM單元是以單元是以字節(jié)倒序字節(jié)倒序形式存形式存放的(低位在上,高位在下)。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論