




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、MCS單片機交互通道配置和接口 人機界面人機界面: :是指人與計算機系統(tǒng)進行信息交互的接口,包括信息的輸入和輸出。6.1 MCS-516.1 MCS-51單片機與鍵盤的接口技術(shù)單片機與鍵盤的接口技術(shù) 鍵盤:鍵盤:單片機系統(tǒng)中完成控制參數(shù)輸入及修改的基本輸入設(shè)備,是人工干預(yù)系統(tǒng)的重要手段。 鍵盤的分類:鍵盤的分類:按編碼方式可分為編碼鍵盤與非編碼鍵盤。按鍵組連接方式可分為獨立連接式鍵盤與矩陣連接式鍵盤。 6.1.1 6.1.1 概述概述 鍵盤輸入的主要對象:鍵盤輸入的主要對象:各種按鍵或開關(guān)。 1 1獨立連接式鍵盤獨立連接式鍵盤 每鍵相互獨立,各自與一條I/O線相連,CPU可直接讀取該I/O線的
2、高/低電平狀態(tài)。其優(yōu)點是硬件、軟件結(jié)構(gòu)簡單,判鍵速度快,使用方便;缺點是占I/O口線多。 適用場合:適用場合:多用于設(shè)置控制鍵、功能鍵。適用于鍵數(shù)少的場合。 獨立連接式鍵盤連接圖如右圖所示。當(dāng)沒有鍵被按下時,所有的數(shù)據(jù)輸入線都為高電平;當(dāng)有任意一個鍵被按下時,與之相連的數(shù)據(jù)輸入線將變?yōu)榈碗娖?;通過相應(yīng)指令,可以判斷是否有鍵按下。2. 2. 矩陣連接式鍵盤矩陣連接式鍵盤 鍵按矩陣排列,各鍵處于矩陣行/列的結(jié)點處,CPU通過對連在行(列)的I/O線送已知電平的信號,然后讀取列(行)線的狀態(tài)信息。逐線掃描,得出鍵碼。其特點是鍵多時占用I/O口線少,硬件資源利用合理,但判鍵速度慢。適用場合:適用場合:
3、多用于設(shè)置數(shù)字鍵,適用于鍵數(shù)多的場合。 4行4列矩陣式鍵盤連接圖如右圖所示。這種鍵盤適合采取動態(tài)掃描的方式進行識別。掃描方式:掃描方式:低電平掃描(回送線必須被上拉為高電平)、高電平掃描(回送線需被下拉為低電平)。右圖中給出了低電平掃描的電路。3. 3. 薄膜開關(guān)薄膜開關(guān)特點:特點:不需要進行導(dǎo)線與開關(guān)間的焊接,結(jié)構(gòu)簡單、體積小、防塵、防水、防有害氣體侵蝕、壽命長、可靠性高。應(yīng)用:應(yīng)用:與按鍵式鍵盤類似,多個薄膜開關(guān)也可按照獨立式或矩陣式設(shè)計內(nèi)部電路,其原理與普通鍵盤相同。 按鍵開關(guān)去抖動問題按鍵開關(guān)去抖動問題 *鍵盤的抖動時間一般為鍵盤的抖動時間一般為5 510ms10ms,抖動現(xiàn)象會引起,
4、抖動現(xiàn)象會引起CPUCPU對一次鍵操作進行多次處理,從而可能產(chǎn)生錯誤。對一次鍵操作進行多次處理,從而可能產(chǎn)生錯誤。 硬件去抖動硬件去抖動 消除抖動不良后果的方法:消除抖動不良后果的方法:其中其中RCRC濾波電路去抖動電路簡單實用,效果較好。濾波電路去抖動電路簡單實用,效果較好。 軟件去抖動軟件去抖動 檢測到按鍵按下后,執(zhí)行延時檢測到按鍵按下后,執(zhí)行延時10ms10ms子程序后再確認(rèn)該鍵子程序后再確認(rèn)該鍵是否確實按下,消除抖動影響。是否確實按下,消除抖動影響。 (1)開關(guān)狀態(tài)的可靠輸入。必須消除鍵抖動??梢圆捎糜布蛙浖煞N方法,硬件方法就是在按鍵輸入通道上添加去抖動電路;軟件方法則采用延遲10
5、20ms (2)鍵盤狀態(tài)的監(jiān)測方法中斷方式還是查詢方式。 (3)鍵盤編碼方法。 (4)鍵盤控制程序的編制。 6.1.3 6.1.3 鍵盤接口鍵盤接口 功能:功能:對鍵盤上所按下的鍵進行識別。 分類:分類: (1)編碼鍵盤:采用專用的編碼/譯碼器件,被按下的鍵由該器件譯碼輸出相應(yīng)的鍵碼/鍵值。其特點是增加了硬件開銷,編碼固定,但編程簡單。適用于規(guī)模大的鍵盤。 6.1.2 6.1.2 使用鍵盤時必須解決的問題使用鍵盤時必須解決的問題 (2)非編碼鍵盤:采用軟件編/譯碼的方式,通過掃描,對每個被按下的鍵判別輸出相應(yīng)的鍵碼/鍵值。其特點是不增加硬件開銷,編碼靈活,但編程較復(fù)雜,占CPU時間。適用于小規(guī)
6、模的鍵盤,特別是單片機系統(tǒng)。鍵盤。1 1鍵盤接口的工作原理鍵盤接口的工作原理 對于矩陣式鍵盤,如上頁圖所示,鍵盤的行線X0X3通過電阻接+5V,當(dāng)鍵盤上沒有鍵閉合時,所有的掃描線和回送線都斷開,無論掃描線處于何種狀態(tài),回送線都呈高電平。當(dāng)鍵盤上某一鍵閉合時,則該鍵所對應(yīng)的掃描線和回送線被短路,可以確定,變?yōu)榈碗娖降幕厮途€與掃描線相交處的鍵閉合。 CPUCPU對鍵盤掃描的方式:對鍵盤掃描的方式:程序控制的隨機方式( CPU空閑時掃描鍵盤)、定時控制方式(定時掃描鍵盤)、中斷方式。 CPU對鍵盤上閉合鍵的鍵號確定方法:對鍵盤上閉合鍵的鍵號確定方法:根據(jù)掃描線和回送線的狀態(tài)計算求得,或根據(jù)行線和列線
7、的狀態(tài)查表求得。 2 2鍵輸入程序的設(shè)計方法鍵輸入程序的設(shè)計方法 (1)判斷鍵盤上是否有鍵閉合; (2)消除鍵的機械抖動; (3)確定閉合鍵的物理位置; (4)得到閉合鍵的編號; (5)確保CPU對鍵的一次閉合只做一次處理3 3鍵盤接口方式鍵盤接口方式(1)獨立式鍵盤接口(靜態(tài)方式)特點:特點:結(jié)構(gòu)簡單,每個按鍵接單片機的一條I/O線,通過對輸入線的查詢,可以識別每個按鍵的狀態(tài)。 例題例題 在MCS-51 單片機系統(tǒng)中,設(shè)計一個含8個按鍵的獨立式鍵盤。解解:在MCS-51中,含8個按鍵的獨立式鍵盤的線路連接如下頁圖所示,8個按鍵經(jīng)上拉電阻拉高后分別接到MCS-51單片機P1口的8條I/O線上(
8、P1.0P1.7)。 在無鍵按下的情況下,P1.0P1.7線上輸入均為高電平。當(dāng)有鍵按下時,與被按鍵相連的I/O線將得到低電平輸入,其他位按鍵的輸入線上仍維持高電平輸入。 P1口8條I/O線經(jīng)與非門74LS30實現(xiàn)邏輯與非后,再經(jīng)過1個非門74LS04進行信號變換,然后接至MCS-51的 引腳上,可通過中斷的方式處理鍵盤。在中斷服務(wù)程序中,先延時20 ms消除鍵抖動,再對各鍵進行查詢,找到所按鍵,并轉(zhuǎn)到相應(yīng)的處理程序中去。 0INT CLOSE: JNB ACC.7, KEY 7; 查詢7號鍵 JNB ACC.6, KEY 6; 查詢6號鍵 JNB ACC.5, KEY5; 查詢5號鍵 JNB
9、 ACC.4, KEY4; 查詢4號鍵 JNB ACC.3, KEY 3; 查詢3號鍵 JNB ACC.2, KEY 2; 查詢2號鍵 JNB ACC.1, KEY 1; 查詢1號鍵 JNB ACC.0,KEY 0 ; 查詢0號鍵 INT0: RETI KEY 7: ; 7號鍵處理程序 KEY 71: MOV A, P1; 再讀P1口各引腳 JNB ACC.7, FUNC71; 確認(rèn)鍵是否釋放 RETI KEY 6: ; 其他鍵處理程序 D20: ; 20ms延時子程序 END 主程序如下:主程序如下:ORG 0000HLJMP MAINORG 0003H; 外部中斷0中斷服務(wù)入口地址LJMP
10、 INT; 轉(zhuǎn)中斷服務(wù)ORG 0100H MAIN: SETB EA; 開總中斷允許SETB EX0; 開INT0中斷SETB IT0; 下降沿有效中斷服務(wù)程序清單如下: INTI CALL D20; 延時去抖動MOV P1, #0FFH; P1口送全1值(準(zhǔn)雙向口原因)MOV A, P1; 讀P1口各引腳 CJNE A, #0FFH,CLOSE; 驗證是否確實有鍵閉合 AJMP INT0; 無鍵按下(按鍵時間過短)則退;出中斷(2)矩陣式鍵盤接口行反轉(zhuǎn)法 矩陣式鍵盤按鍵識別方法有行反轉(zhuǎn)法和掃描法等。行反轉(zhuǎn)法需要兩個雙向I/O口分別接行、列線。步驟如下: (1)由行線輸出全“0”,讀入列線,判
11、有無鍵按下。 (2)若有鍵按下,再將讀入的列列線輸出,讀進行線的值。 (3)第一步讀進的列線值與第二步讀進的行線值運算,從而得到代表此鍵的唯一的特征值。 行反轉(zhuǎn)法因輸入與輸出線反過來用而得名。優(yōu)點是判鍵速度快,兩次即可。 例題例題 請為8051微處理器設(shè)計一個由4行4列鍵陣構(gòu)成的鍵盤。解:解:44矩陣鍵盤的線路連接如下頁圖所示。其中P2口的低4位作為輸出線。P1口的低4位作為輸入線,輸入線通過74LS21進行邏輯相與后作為8051的一個外部中斷源輸入。當(dāng)有鍵按下時就將引起中斷。中斷服務(wù)程序要對所按的鍵進行判別。 (1)查詢閉合鍵的位置子程序查詢閉合鍵的位置子程序KEYR KEYR子程序用以確定
12、每組線中哪一位為0,是否有多個0。在調(diào)用前,應(yīng)將讀某組線的數(shù)據(jù)存入累加器A中。 KEYR子程序返回時,某組線中0的位置(03)保存在R3中。按鍵閉合引起中斷后,執(zhí)行中斷服務(wù)程序。表2-5 工作寄存器組選擇控制表KEYR子程序如下:子程序如下: KEYR: CJNE A, #0FEH, TESTP11; 測試P1.0MOV R3, #0 ; P1.0=0,說明被按鍵的輸入線為P1.0LJMP FINISH; 返回 TESTP11: CJNE A, #0FDH, TESTP12 ; 測試P1.1MOV R3, #1LJMP FINISH TESTP12: CJNE A, #0FBH, TESTP1
13、3 ; 測試P1.2MOV R3, #2LJMP FINISH TESTP13: CJNE A, #0F7H, FINISH; 測試P1.3MOV R3, #3 FINISH: RET (2)中斷服務(wù)程序 中斷服務(wù)程序開始部分應(yīng)利用軟件延時消除鍵抖動,然后再對所按的鍵做出處理。 中斷服務(wù)程序如下:中斷服務(wù)程序如下: ORG 1000H INT11:LCALL DELAY; 延時去抖動MOV A, P1; 讀輸入線ANL A, #0FH; 判斷是否有鍵閉合CJNE A, #0FH, TEST; 有鍵閉合,轉(zhuǎn)判斷按鍵程序RETI; 無鍵閉合,返回 TEST: MOV B, A; 暫存LCALL K
14、EYR; 調(diào)用讀取子程序MOV 40H, R3; 暫存在40H單元MOV P2, #0FFH; 輸出線寫1MOV P1, B; 輸入線寫入數(shù)據(jù)MOV A, P2; 讀輸出線LCALL KEYR; 調(diào)用讀取子程序XCH A, R3SWAP AORL 40H, A; 得按鍵特征值RETI 中斷程序結(jié)束后,鍵的特征值存放在40H單元中。此鍵的輸出線號位于40H單元的高4位,其輸入線號位于低4位。此后,根據(jù)40H單元的內(nèi)容去查表,得到相應(yīng)鍵的代碼,可進行顯示或其他處理。(3)去抖動的延時子程序DELAY 利用CPU的空閑方式,通過定時器T1實現(xiàn)延時, T1必須預(yù)先置初值,以得到需要的延遲時間。設(shè)晶振頻
15、率為6MHz,欲延時20ms,定時時間為: (216TC)6/12=20103s,初值:TC=25536=63C0H。程序如下:程序如下: DELAY:MOV TOMD, #11H; 方式1定時MOV TL1, #0C0H; 定時器1定時初值MOV TH1, #63HSETB EA; 開中斷SETB ET1; 開定時器1中斷SETB PT1; 定時器1為高級中斷(因被鍵盤中斷調(diào)用)SETB TR1; 啟動定時器ORL PCON,#1; 啟動空閑方式,實際CPU在此處等待CLR TR1 ; 以下四條指令只有在延時后,定時器被喚醒,才能執(zhí)行CLR PT1CLR ET1RETEND(4)通過串行口擴
16、展鍵盤接口 MCS-51系列單片機的串行口與串/并轉(zhuǎn)換芯片配合(如串入并出芯片74LS164 )可以擴展鍵盤。例題例題 利用MCS-51的串行口與串/并轉(zhuǎn)換芯片配合,擴展2行8列的鍵盤接口,鍵號為015。要求給出其硬件連接和鍵盤查詢子程序。解解:串口與串/并轉(zhuǎn)換芯片配合擴展鍵盤的線路連接如下圖所示。 其中,P1.0和P1.1作為行線。鍵盤的編碼為: P1.0線上的8個鍵分別為00H+(00H07H),P1.1線上的8個鍵分別為08H+(00H07H)。掃描線(00H07H)的具體值存放在R4中。 程序采取查詢方式讀取鍵號,并且考慮了鍵的抖動問題。 DLY1是延時子程序。 程序如下:程序如下:
17、ORG 1000H SERKEY:MOV SCON, #00H; 設(shè)置串行口 MOV A, #00H ; 鍵盤初始化,送00H到列線上 LCALL VARTO ; 發(fā)送數(shù)據(jù) CHK:JNB P1.0, CHK0; 檢查是否有鍵按下 JNB P1.1, CHK0; 檢查是否有鍵按下 AJMP CHK; 無鍵按下,繼續(xù)查找 CHK0:LCALL DLY1; 調(diào)用10ms延時子程序,去抖 JNB P1.0, CHEN; 確實有鍵按下,轉(zhuǎn)CHEN JNB P1.1, CHEN AJMP CHK; 無鍵按下,繼續(xù)查找 CHEN:MOV R2, #0FEH; 首列掃描字送R2,查鍵號,最低位為0 MOV
18、R4, #00H ; 首列偏移值送R4 CHKN:MOV A, R2; 發(fā)送列掃描字 LCALL VARTO JB P1.0, CH1; 檢查P1.0有無鍵按下;若無,轉(zhuǎn)CH1 MOV A, #0; 第一行首列值送A,00H+(R4) AJMP CKEY; 轉(zhuǎn)求鍵號 CH1:JB P1.1, NEXT; 檢查P1.1有無鍵按下;若無,轉(zhuǎn)NEXT MOV A, #8H; 第二行首列值送A CKEY:ADD A, R4; 求鍵號,并入棧保護 RET NEXT:INC R4; 指向下一列 MOV A, R2; 取出原掃描字 JNB ACC.7,KEND; 是否已檢查完8列? RL A; 8列未完,指
19、向下一列 MOV R2, A; 列掃描字送R2 AJMP CHKN; 8列未完,檢查下一列 KEND:AJMP SERKEY; 8列查完,未查到有鍵按下,等待 VARTO:MOV SBUF, A; 發(fā)送A中數(shù)據(jù) JNB TI, $; 發(fā)送等待 CLR TI; 清除 RET DLY1:; 延時10ms子程序(略) END; 結(jié)束6.2 MCS-516.2 MCS-51單片機與顯示器的接口技術(shù)單片機與顯示器的接口技術(shù) 顯示器用于實現(xiàn)單片機應(yīng)用系統(tǒng)中的數(shù)據(jù)輸出和狀態(tài)的反饋。單片機系統(tǒng)中常用的顯示器有發(fā)光二極管、七段數(shù)碼顯示器、液晶顯示器等。6.2.1 LED6.2.1 LED顯示器及其接口顯示器及其
20、接口 發(fā)光二極管簡稱LED(Light Emitting Diode)。LED顯示器從外觀可分為 “8”字形的七段數(shù)碼管、米字形數(shù)碼管、點陣塊、矩形平面顯示器、數(shù)字筆劃顯示器等。1 1七段七段LEDLED數(shù)碼顯示器數(shù)碼顯示器 七段LED數(shù)碼管顯示器能夠顯示十進制或十六進制數(shù)字及某些簡單字符。但控制簡單,使用方便,在單片機系統(tǒng)中應(yīng)用較多。其結(jié)構(gòu)如下頁圖所示。 上圖中的ag七個筆劃(段)及小數(shù)點dp均為發(fā)光二極管。數(shù)碼管顯示器根據(jù)公共端的連接方式,可以分為共陰極數(shù)碼管(將所有發(fā)光二極管的陰極連在一起)和共陽極數(shù)碼管(將所有發(fā)光二極管的陽極連在一起)。 單片機系統(tǒng)擴展LED數(shù)碼管時多用共陽LED。共
21、陽數(shù)碼管每個段筆畫是用低電平(“0”)點亮的,要求驅(qū)動功率很??;而共陰數(shù)碼管段筆畫是用高電平(“0”)點亮的,要求驅(qū)動功率較大。通常每個段筆畫要串一個數(shù)百歐姆的降壓電阻。2 2LEDLED點陣模塊顯示器點陣模塊顯示器 LED點陣模塊顯示器是指由發(fā)光二極管排成一個mn的點陣,每個發(fā)光二極管構(gòu)成點陣中的一個點。這種顯示器顯示的字形逼真,能顯示的字符比較多,但控制比較復(fù)雜。適用于顯示漢字、圖形和表格,廣泛應(yīng)用于公共場合的信息發(fā)布。 七段LED字形碼如下表所示。3. LED3. LED的驅(qū)動接口的驅(qū)動接口 LED工作時需要一定的工作電流,才能正常發(fā)光。單個LED實際上是一個壓降為1.21.5V的發(fā)光二
22、極管,流過LED的電流大小決定了它的發(fā)光強度,R為限流電阻。適當(dāng)減小限流電阻可以增加LED的工作電流,使LED的顯示效果更好。但工作電流過大,會對驅(qū)動器件、LED造成損害。通常每個段筆畫要串一個數(shù)百歐姆的降壓電阻。下圖為單個LED的驅(qū)動接口電路。4 4LEDLED數(shù)碼管的顯示與驅(qū)動數(shù)碼管的顯示與驅(qū)動 LED數(shù)碼管顯示器的工作方式:靜態(tài)和動態(tài)兩種顯示方式。(1 1)靜態(tài)顯示方式)靜態(tài)顯示方式 靜態(tài)顯示方式的各數(shù)碼管在顯示過程中持續(xù)得到送顯信號,與各數(shù)碼管接口的I/O口線是專用的。其特點是顯示穩(wěn)定,無閃爍,用元器件多,占I/O線多,無須掃描。系統(tǒng)運行過程中,在需要更新顯示內(nèi)容時,CPU才去執(zhí)行顯示
23、更新子程序,節(jié)省CPU時間,提高CPU的工作效率,編程簡單。 例題例題 利用在8051串行口擴展多片串行輸入并行輸出的移位寄存器74LS164作為靜態(tài)顯示器接口的方法,設(shè)計3位靜態(tài)顯示器接口,并寫出顯示更新子程序,實現(xiàn)將7FH7DH 3個單元的數(shù)值分別顯示在3位LED2LED0上。解:解:接口電路如圖下圖所示。3個共陽極數(shù)碼管的公共端均接Vcc,段碼通過串行口,采用串并轉(zhuǎn)換原理,分別送出3個數(shù)碼管的段碼(先送出的段碼字節(jié)在LED2數(shù)碼管上顯示),圖中的電阻值取100500。程序如下:程序如下: ORG 1000H DISPSER:MOV R5, #03H; 顯示3個字符 MOV R1, #7F
24、H; 7FH7DH存放要顯示的數(shù)據(jù) DL0:MOV A, R1; 取出要顯示的數(shù)據(jù) MOV DPTR, #STAB; 指向段數(shù)據(jù)表MOVC A, A+DPTR; 查表取字形數(shù)據(jù)MOV SBUF, A; 送出數(shù)據(jù),進行顯示JNB T1, $; 輸出完否?CLR T1; 輸出完,清中斷標(biāo)志DEC R1; 再取下一個數(shù)據(jù)DJNZ R5, DL0; 循環(huán)3次RET; 返回 STAB:DB 0C0H, 0F9H, 0A4H, 0B0H; 段數(shù)據(jù)表(共陽極)DB END(2 2)動態(tài)顯示方式)動態(tài)顯示方式 動態(tài)顯示方式是指一位一位地輪流點亮每位顯示器,與各數(shù)碼管接口的I/O口線是共用的。其特點是有閃爍,用
25、元器件少,占I/O線少,必須掃描,花費CPU時間,編程復(fù)雜。 例題例題設(shè)計89S51通過74LS273擴展6位七段共陽極LED顯示器。 解解:接口電路如下頁圖所示。在程序中通過P0口將相應(yīng)的字形碼寫入74LS273,P2.0P2.5作為段碼輸出口, P0口的端口地址為00FFH。進行掃描時,P2的低6位依次置1,依次選中了從左至右的顯示器。使用74LS04作為段碼輸出驅(qū)動(反相驅(qū)動),所以共陰極數(shù)碼管在段數(shù)據(jù)表中的字形碼應(yīng)與共陽極數(shù)碼管的字形碼相同。顯示器就可以顯示出6位字符。 說明說明:1、單片機、單片機WR引腳要與引腳要與273的的CLK連接連接 2、273的的CLR引腳要與引腳要與VCC
26、連接連接 3、DPTR值不一定是值不一定是7FFFh,用用FFH可消除閃爍可消除閃爍6.2.2 LCD6.2.2 LCD顯示器及其接口顯示器及其接口 液晶顯示器簡稱LCD(Liquid Crystal Diodes)是利用液晶經(jīng)過處理后能夠改變光線傳輸方向的特性,達到顯示字符或者圖形的目的。其特點是體積小、重量輕、功耗極低、顯示內(nèi)容豐富等特點,在單片機應(yīng)用系統(tǒng)中有著日益廣泛的應(yīng)用。 1LCD的分類及特點的分類及特點 分類:分類:筆段式和點陣式(可分為字符型和圖像型)。 筆段式LCD顯示器:類似于LED數(shù)碼管顯示器。每個顯示器的段電極包括a, b, c, d, e, f, g七個筆劃(段)和一個
27、背電極BP(或COM)。可以顯示數(shù)字和簡單的字符。 點陣式LCD顯示器:段電極與背電極呈正交帶狀分布,液晶位于正交的帶狀電極間。點陣式LCD的控制一般采用行掃描方式,如圖右所示為顯示字符“A”的情況。2 2筆段式筆段式LCDLCD液晶顯示器的驅(qū)動液晶顯示器的驅(qū)動 在LCD的公共極(一路為背電極)加上恒定的交變方波信號,通過控制段極的電壓變化,在LCD兩極間產(chǎn)生所需的零電壓或二倍幅值的交變電壓,以達到LCD亮、滅的控制。在筆段式LCD的段電極與背電極間施加周期地改變極性的電壓(通常為4 V或5 V),可使該段呈黑色。 3LCD顯示模塊顯示模塊LCM (Liquid Crystal Display
28、 Module) 在實際應(yīng)用中,用戶很少直接設(shè)計LCD顯示器驅(qū)動接口,一般是直接使用專用的LCD顯示驅(qū)動器和LCD顯示模塊LCM 。 LCM是把LCD顯示屏、背景光源、線路板和驅(qū)動集成電路等部件構(gòu)造成一個整體,作為一個獨立部件使用。其特點是功能較強、易于控制、接口簡單,在單片機系統(tǒng)中應(yīng)用較多。其內(nèi)部結(jié)構(gòu)如下頁圖所示。 LCM一般帶有內(nèi)部顯示RAM和字符發(fā)生器,只要輸入ASCII碼就可以進行顯示。 LCD顯示器接口原理 1LCD的基本結(jié)構(gòu)及工作原理圖圖 液晶顯示器基本結(jié)構(gòu)液晶顯示器基本結(jié)構(gòu)液晶字符顯示屏液晶圖形點陣顯示屏 LCD顯示模塊LCM按顯示功能可分為:LCD段式顯示模塊、LCD字符型顯示
29、模塊、LCD圖形顯示模塊三類。 HD44780字符顯示模塊是較常用的LCD顯示模塊,共有14個引腳,其中,8個數(shù)據(jù)引腳,3個控制引腳,3個電源引腳。每個HD44780可控制的字符可達每行80個,具有驅(qū)動1640點陣的能力。具有其自身的11條指令構(gòu)成的指令系統(tǒng),用戶對模塊寫入適當(dāng)?shù)目刂泼?,即可完成清屏、顯示、地址設(shè)置等操作。 各引腳功能定義如下表所示。例題例題 設(shè)計8051單片機驅(qū)動HD44780顯示模塊的接口電路。解解:8051單片機與HD44780顯示模塊的線路連接如下圖所示,8051的P1口與HD44780的數(shù)據(jù)線相連,HD44780的 端信號由8051的P3.5提供,HD44780的通
30、信允許信號E由8051的P3.3提供,HD44780的寄存器選擇信號RS由8051的P3.4提供。W/R HD44780初始化的方法主要有以下兩種:(1)利用模塊內(nèi)部的復(fù)位電路進行初始化,完成清除顯示、功能設(shè)置、開/關(guān)顯示、設(shè)置光標(biāo)狀態(tài)及閃爍功能、方式設(shè)置。(2)利用軟件編程實現(xiàn)初始化。1602液晶顯示模塊接線圖(16字符2行)6.3 利用利用MCS-51的串行口實現(xiàn)鍵盤和顯示器接口的串行口實現(xiàn)鍵盤和顯示器接口1 1接口電路接口電路 應(yīng)用MCS-51單片機的串行口方式0的輸出方式,在串行口外接移位寄存器74LS164,構(gòu)成鍵盤和顯示器接口,其硬件接口如下頁圖所示(圖中只畫出三位LED靜態(tài)顯示和
31、16個按鍵,用戶根據(jù)需要可以擴展)。采用靜態(tài)顯示,軟件設(shè)計比較簡單,節(jié)約CPU的資源。 2 2軟件設(shè)計軟件設(shè)計顯示子程序如下:顯示子程序如下: ORG 1000H DSPSER:SETB P3.3; 開放顯示輸出MOV R7, #03H; 送出的顯示段碼個數(shù)MOV R0, #7FH; 7FH7DH為顯示緩沖區(qū) DSPS1:MOV A, R0; 取出要顯示的數(shù)據(jù)ADD A, #0DH; 加上偏移量MOVC A, A+PC; 查段碼表TAB1MOV SBUF, A; 經(jīng)過串行口將段碼送出 DSPS2:JNB TI, DSPS2; 數(shù)據(jù)發(fā)送完?CLR TIDEC R0; 指向下一個數(shù)據(jù)單元DJNZ
32、R7, DSPS1; 三個顯示器是否全部顯示?CLR P3.3; 三個數(shù)據(jù)顯示完,關(guān)閉送顯示數(shù)據(jù)通道RET TAB1: DB; 段碼表鍵盤掃描子程序如下:鍵盤掃描子程序如下: KEYS1:MOV A,#00HMOV SBUF, A; 掃描鍵盤全部輸出0 KSY0:JNB TI, KSY0; 數(shù)據(jù)發(fā)送完?CLR TI KSY1:JNB P3.4, PKS1; 有鍵閉合嗎?有則轉(zhuǎn)PKS1處理JB P3.5, KSY1; 第二行有鍵閉合嗎? PKS1:ACALL DELAY10; 調(diào)用延時10ms子程序,鍵盤去抖JNB P3.4, PKS2; 有鍵閉合嗎?JB P3.5, KSY1; 無鍵閉合,是抖
33、動 PKS2:MOV R7, #08H; 不是抖動引起的 MOV R6, #0FEH ; 判斷是哪個鍵按下? MOV R3, #00HMOV A, R6 KSY2:MOV SBUF, A KSY3:JNB TI, KSY3; 等待串行口發(fā)送完CLR TIJNB P3.4, PKONE; 是第一行的某鍵按下?JB P3.5, NEXT; 是第二行的某鍵按下?MOV R4, #08H; 第二行有鍵按下AJMP PKS3 PKONE:MOV R4, #00H; 第一行有鍵按下 PKS3:MOV SBUF, #00H; 等待鍵的釋放 KSY4:JNB TI, KSY4; CLR TI KSY5:JNB
34、 P3.4, KSY5; 是第一行的某鍵按下?JNB P3.5, KSY5MOV A, R4ADD A, R3RET NEXT:MOV A, R6; 判斷下一列是否有鍵按下RL AMOV R6, AINC R3DJNZ R7, KSY2; 8列是否全部掃描完?AJMP KEYS1; 掃描完成 DELAY10: ; 延時10ms子程序RET END6.3.3 6.3.3 利用專用芯片實現(xiàn)鍵盤和顯示器接口利用專用芯片實現(xiàn)鍵盤和顯示器接口 鍵盤的處理和顯示的處理可由專用芯片完成,鍵盤和顯示器管理專用芯片種類較多,常用的鍵盤和顯示器管理專用芯片有Intel公司的8279芯片,可實現(xiàn)64個按鍵、 16位
35、LED顯示器的管理。 在由單片機組成的控制系統(tǒng)中,大多數(shù)外圍電路是處于各種各樣的復(fù)雜環(huán)境中,如控制對象可能處于大電流、高電壓的情況。控制的執(zhí)行機構(gòu)可能是電動機、繼電器或電磁鐵等大功率機構(gòu)。因此,單片機不可能和這些外部機構(gòu)直接連接。通常必須采取兩個基本措施:一是采用隔離的方法把單片機的工作環(huán)境與外電路隔離開來;另一種是采用電流接續(xù)的辦法擴大輸出電流的能力,以驅(qū)動各種外電路。6.4.1 6.4.1 擴大驅(qū)動電流的方法擴大驅(qū)動電流的方法1 1、采用晶體三極管擴大輸出電流、采用晶體三極管擴大輸出電流2 2、采用帶驅(qū)動電路的邏輯門擴大驅(qū)動電流、采用帶驅(qū)動電路的邏輯門擴大驅(qū)動電流3 3、采用達林頓管作驅(qū)動
36、器擴大驅(qū)動電流、采用達林頓管作驅(qū)動器擴大驅(qū)動電流 下面分別給出具體電路圖下面分別給出具體電路圖6.4 MCS-516.4 MCS-51單片機功率驅(qū)動接口技術(shù)單片機功率驅(qū)動接口技術(shù)1、三極管三極管的概述半導(dǎo)體三極管也稱為晶體三極管,可以說它是電子電路中最重要的器件。它最主要的功能是電流 放大和開關(guān)作用。 三極管顧名思義具有三個電極。二極管是由一個PN結(jié)構(gòu)成的,而三極管由兩個PN結(jié)構(gòu)成,共用的一個電極成為三極管的基極(用字母b表示)。其他的兩個電極成為集電極(用字母c表示)和發(fā)射極(用字母e表示)。由于不同的組合方式,形成了一種是NPN型的三極管,另一種是PNP型的三極管。三極管 的種類很多,并且
37、不同型號各有不同的用途。三極管大都是塑料封裝或金屬封裝,常見三極管的外觀如圖,大的很大,小的很小。三極管的電路符號有兩種:有一個箭頭的電極是發(fā)射極,箭頭朝外的是NPN型三極管,而箭頭朝內(nèi)的是PNP型。實際上箭頭所指的方向是電流的方向。 電子制作中常用的三極管有9 0 系列,包括低頻小功率硅管9013(NPN)、9012(PNP),低噪聲管9014(NPN),高頻小功率管9018(NPN)等。它們的型號一般都標(biāo)在塑殼上,而樣子都一樣,都是TO-92標(biāo)準(zhǔn)封裝。半導(dǎo)體三極管的管腳判別半導(dǎo)體三極管的管腳判別 在安裝半導(dǎo)體三極管之前,首先搞清楚三極管的管腳排列。一方面可以通過查手冊獲得,另一方面也可利用
38、電子儀器進行測量,下面講一下利用萬用表判定三極管管腳的方法。首先判定PNP型和NPN型晶體管:用萬用表的R1kW(或R100W)檔,用黑表筆接三極管的任一管腳,用紅表筆分別接其他兩管腳。若表針指示的兩阻值均很大,那么黑表筆所接的那個管腳是PNP型管的基極;如果萬用表指示的兩個阻值均很小,那么黑表筆所接的管腳是NPN型的基極;如果表針指示的阻值一個很大,一個很小,那么黑表筆所接的管腳不是基極。需要新?lián)Q一個管腳重試,直到滿足要求為止。進一步判定三極管集電極和發(fā)射極:首先假定一個管腳是集電極,另一個管腳是發(fā)射極;對NPN于型三極管,黑表筆接假定是集電極的管腳,紅表筆接假定是發(fā)射極的管腳(對于PNP型
39、管,萬用表的紅、黑表筆對調(diào));然后用大拇指將基極和假定集電極連接(注意兩管腳不能短接),這時記錄下萬用表的測量值;最后反過來,把原先假定的管腳對調(diào),重新記錄下萬用表的讀數(shù),兩次測量值較小的黑表筆所接的管腳是集電極(對于PNP 型管,則紅表筆所接的是集電極)。2、邏輯門3、達林頓管ULN2003內(nèi)部邏輯電路圖例題:設(shè)計使單片機唱歌的程序;在接在單片機的P2.0上的小喇叭唱八月桂花香實驗 ;執(zhí)行結(jié)果:程序運行后在在單片機的P2.0上的小喇叭唱八月桂花香;本實驗源程序如下:;*;* Date : 2004.4.20 -*;* Support MbE-mail:c51cn1
40、63 -*;* Create by :dengdewu :/ c51 更多例程請登陸網(wǎng)站-*;* 網(wǎng)站單片機學(xué)習(xí)資料同步更新,敬請新老朋友隨時關(guān)注 -*;* ORG 0000H LJMP START ORG 000BH ;中斷入口 INC 20H ;中斷服務(wù)程序,中斷計數(shù)器加1 MOV TH0,#0D8H MOV TL0,#0EFH ;12M晶振,形成10毫秒中斷 RETISTART: MOV SP,#50H MOV TH0,#0D8H MOV TL0,#0EFH MOV TMOD,#01H ;設(shè)定定時器工作方式 MOV IE,#82HMUSIC0: NOP MOV DPTR,#DAT ;表頭
41、地址送DPTR MOV 20H,#00H ;中斷計數(shù)器清0 MOV B,#00H ;表序號清0MUSIC1: NOP CLR A MOVC A,A+DPTR ;查表取代碼 JZ END0 ;是00H,則結(jié)束 CJNE A,#0FFH,MUSIC5 LJMP MUSIC3MUSIC5: NOP MOV R6,A INC DPTR MOV A,B MOVC A,A+DPTR ;取節(jié)拍代碼送R7 MOV R7,A SETB TR0 ;啟動計數(shù)MUSIC2: NOP CPL P2.0 MOV A,R6 MOV R3,A CPL A MOV P1,A ;顯示(修改者加入的顯示) CPL A LCALL
42、DEL MOV A,R7 CJNE A,20H,MUSIC2 ;中斷計數(shù)器(20H)=R7否? ;不等,則繼續(xù)循環(huán) MOV 20H,#00H ;等于,則取下一代碼 INC DPTR LJMP MUSIC1 MUSIC3: NOP CLR TR0 ;休止100毫秒 MOV R2,#0DHMUSIC4: NOP MOV R3,#0FFH LCALL DEL DJNZ R2,MUSIC4 INC DPTR LJMP MUSIC1END0: MOV R2,#64H ;歌曲結(jié)束,延時1秒后繼續(xù)MUSIC6: MOV R3,#00H LCALL DEL DJNZ R2,MUSIC6 LJMP MUSIC0DEL: ;延時子程序 NOP DEL3: MOV R4,#05HDEL4: NOP DJNZ R4,DEL4 NOP DJNZ R3,DEL3 RETDAT: ;數(shù)據(jù)表格存放在ROM中。DB 18H, 30H, 1CH, 10
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年哮喘病人的護理查房
- 工地建設(shè)基礎(chǔ)知識培訓(xùn)課件
- 2025年醫(yī)院安全(不良)事件分析報告
- 2025年手術(shù)室跌倒的應(yīng)急預(yù)案腳本
- 2025年天車工(二級)安全生產(chǎn)考試試卷
- 2025年四川地區(qū)事業(yè)單位招聘考試衛(wèi)生類醫(yī)學(xué)影像專業(yè)知識試卷
- 2025年探傷工(操作員)考試試卷:基礎(chǔ)知識
- 2025年物流行業(yè)事業(yè)單位招聘考試綜合試卷(物流類)-物流企業(yè)物流裝備研發(fā)與試題
- 2025年事業(yè)單位招聘考試綜合類專業(yè)知識試卷(教育康復(fù)與特殊教育)
- 《概率初步單元小結(jié)(第二課時)》課件
- 2025年住培結(jié)業(yè)考試題庫及答案
- 寫字樓租賃合同法律風(fēng)險及防范指南
- DB42∕T 2151-2023 應(yīng)急物資儲備庫建設(shè)規(guī)范
- 養(yǎng)老機構(gòu)醫(yī)養(yǎng)結(jié)合交流合作總結(jié)范文
- 分包招采培訓(xùn)課件
- 神經(jīng)刺激器行業(yè)深度調(diào)研及發(fā)展項目商業(yè)計劃書
- 公司全員銷售管理辦法
- 工貿(mào)行業(yè)重大事故隱患判定標(biāo)準(zhǔn)安全試題及答案
- 2025年全國新高考I卷高考全國一卷真題語文試卷(真題+答案)
- 課程思政教學(xué)課件
- 2025至2030中國建筑防腐行業(yè)發(fā)展趨勢與前景分析報告
評論
0/150
提交評論