版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第6章章 MCS-51單片機(jī)的交互通道單片機(jī)的交互通道配置與接口配置與接口主要內(nèi)容: 從工程運(yùn)用角度引見了MCS-51單片機(jī)的交互通道配置與接口,主要包括人機(jī)界面中的鍵盤、顯示器、微型打印機(jī)等。引見了多種適用方案和設(shè)計(jì)技巧。重點(diǎn)在于系統(tǒng)概念的構(gòu)成、各種接口設(shè)計(jì)方案和設(shè)計(jì)技巧的掌握,熟習(xí)各種交互設(shè)備。難點(diǎn)在于運(yùn)用動(dòng)態(tài)方法進(jìn)展鍵盤和顯示的硬件及軟件設(shè)計(jì)。 人機(jī)界面人機(jī)界面: :是指人與計(jì)算機(jī)系統(tǒng)進(jìn)展信息交互的接口,包括信是指人與計(jì)算機(jī)系統(tǒng)進(jìn)展信息交互的接口,包括信息的輸入和輸出。息的輸入和輸出。6.1 MCS-516.1 MCS-51單片機(jī)與鍵盤的接口技術(shù)單片機(jī)與鍵盤的接口技術(shù) 鍵盤:?jiǎn)纹瑱C(jī)系統(tǒng)
2、中完成控制參數(shù)輸入及修正的根本輸入設(shè)備,鍵盤:?jiǎn)纹瑱C(jī)系統(tǒng)中完成控制參數(shù)輸入及修正的根本輸入設(shè)備,是人工干涉系統(tǒng)的重要手段。是人工干涉系統(tǒng)的重要手段。 鍵盤的分類:按編碼方式可分為編碼鍵盤與非編碼鍵盤。按鍵鍵盤的分類:按編碼方式可分為編碼鍵盤與非編碼鍵盤。按鍵組銜接方式可分為獨(dú)立銜接式鍵盤與矩陣銜接式鍵盤。組銜接方式可分為獨(dú)立銜接式鍵盤與矩陣銜接式鍵盤。 6.1.1 6.1.1 概述概述 鍵盤輸入的主要對(duì)象:各種按鍵或開關(guān)。鍵盤輸入的主要對(duì)象:各種按鍵或開關(guān)。 1 1獨(dú)立銜接式鍵盤獨(dú)立銜接式鍵盤 每鍵相互獨(dú)立,各自與一條每鍵相互獨(dú)立,各自與一條I/OI/O線相連,線相連,CPUCPU可直接讀取可
3、直接讀取該該I/OI/O線的高線的高/ /低電平形狀。其優(yōu)點(diǎn)是硬件、軟件構(gòu)造簡(jiǎn)單,低電平形狀。其優(yōu)點(diǎn)是硬件、軟件構(gòu)造簡(jiǎn)單,判鍵速度快,運(yùn)用方便;缺陷是占判鍵速度快,運(yùn)用方便;缺陷是占I/OI/O口線多??诰€多。 適用場(chǎng)所:多用于設(shè)置控制鍵、功能鍵。適用于鍵數(shù)少的場(chǎng)所。適用場(chǎng)所:多用于設(shè)置控制鍵、功能鍵。適用于鍵數(shù)少的場(chǎng)所。 獨(dú)立銜接式鍵盤銜接圖如右圖所示。當(dāng)沒有鍵被按下時(shí),一切的數(shù)據(jù)輸入線都為高電平;當(dāng)有恣意一個(gè)鍵被按下時(shí),與之相連的數(shù)據(jù)輸入線將變?yōu)榈碗娖?;?jīng)過相應(yīng)指令,可以判別能否有鍵按下。2. 2. 矩陣銜接式鍵盤矩陣銜接式鍵盤 鍵按矩陣陳列鍵按矩陣陳列, ,各鍵處于矩陣行各鍵處于矩陣行/
4、 /列的結(jié)點(diǎn)處列的結(jié)點(diǎn)處,CPU,CPU經(jīng)過對(duì)連經(jīng)過對(duì)連在行在行( (列列) )的的I/OI/O線送知電平的信號(hào)線送知電平的信號(hào), ,然后讀取列然后讀取列( (行行) )線的形狀信線的形狀信息。逐線掃描息。逐線掃描, ,得出鍵碼。其特點(diǎn)是鍵多時(shí)占用得出鍵碼。其特點(diǎn)是鍵多時(shí)占用I/OI/O口線少口線少, ,硬硬件資源利用合理,但判鍵速度慢。件資源利用合理,但判鍵速度慢。適用場(chǎng)所:多用于設(shè)置數(shù)字鍵,適用于鍵數(shù)多的場(chǎng)所。適用場(chǎng)所:多用于設(shè)置數(shù)字鍵,適用于鍵數(shù)多的場(chǎng)所。 4行4列矩陣式鍵盤銜接圖如右圖所示。這種鍵盤適宜采取動(dòng)態(tài)掃描的方式進(jìn)展識(shí)別。掃描方式:低電平掃描回送線必需被上拉為高電平、高電平掃描
5、回送線需被下拉為低電平。右圖中給出了低電平掃描的電路。3. 3. 薄膜開關(guān)薄膜開關(guān)特點(diǎn):不需求進(jìn)展導(dǎo)線與開關(guān)間的焊接,構(gòu)造簡(jiǎn)單、體積小、特點(diǎn):不需求進(jìn)展導(dǎo)線與開關(guān)間的焊接,構(gòu)造簡(jiǎn)單、體積小、防塵、防水、防有害氣體侵蝕、壽命長、可靠性高。防塵、防水、防有害氣體侵蝕、壽命長、可靠性高。運(yùn)用:與按鍵式鍵盤類似,多個(gè)薄膜開關(guān)也可按照獨(dú)立式或運(yùn)用:與按鍵式鍵盤類似,多個(gè)薄膜開關(guān)也可按照獨(dú)立式或矩陣式設(shè)計(jì)內(nèi)部電路,其原理與普通鍵盤一樣。矩陣式設(shè)計(jì)內(nèi)部電路,其原理與普通鍵盤一樣。 按鍵開關(guān)去抖動(dòng)問題按鍵開關(guān)去抖動(dòng)問題 * *鍵盤的抖動(dòng)時(shí)間普通為鍵盤的抖動(dòng)時(shí)間普通為5 510ms10ms,抖動(dòng)景象會(huì)引起,抖動(dòng)
6、景象會(huì)引起CPUCPU對(duì)一次鍵操作進(jìn)展多次處置,從而能夠產(chǎn)生錯(cuò)誤。對(duì)一次鍵操作進(jìn)展多次處置,從而能夠產(chǎn)生錯(cuò)誤。 硬件去抖動(dòng)硬件去抖動(dòng) 消除抖動(dòng)不良后果的方法:消除抖動(dòng)不良后果的方法:其中其中RCRC濾波電路去抖動(dòng)電路簡(jiǎn)單適用,效果較好。濾波電路去抖動(dòng)電路簡(jiǎn)單適用,效果較好。 軟件去抖動(dòng)軟件去抖動(dòng) 檢測(cè)到按鍵按下后,執(zhí)行延時(shí)檢測(cè)到按鍵按下后,執(zhí)行延時(shí)10ms10ms子程序后再確認(rèn)該鍵子程序后再確認(rèn)該鍵能否確實(shí)按下,消除抖動(dòng)影響。能否確實(shí)按下,消除抖動(dòng)影響。 1開關(guān)形狀的可靠輸入。必需消除鍵抖動(dòng)??梢圆捎糜布蛙浖煞N方法,硬件方法就是在按鍵輸入通道上添加去抖動(dòng)電路;軟件方法那么采用延遲1020m
7、s 2鍵盤形狀的監(jiān)測(cè)方法中斷方式還是查詢方式。 3鍵盤編碼方法。 4鍵盤控制程序的編制。 6.1.3 鍵盤接口 功能:對(duì)鍵盤上所按下的鍵進(jìn)展識(shí)別。 分類: 1編碼鍵盤:采用公用的編碼/譯碼器件,被按下的鍵由該器件譯碼輸出相應(yīng)的鍵碼/鍵值。其特點(diǎn)是添加了硬件開銷,編碼固定,但編程簡(jiǎn)單。適用于規(guī)模大的鍵盤。 6.1.2 6.1.2 運(yùn)用鍵盤時(shí)必需處理的問題運(yùn)用鍵盤時(shí)必需處理的問題 2非編碼鍵盤:采用軟件編/譯碼的方式,經(jīng)過掃描,對(duì)每個(gè)被按下的鍵判別輸出相應(yīng)的鍵碼/鍵值。其特點(diǎn)是不添加硬件開銷,編碼靈敏,但編程較復(fù)雜,占CPU時(shí)間。適用于小規(guī)模的鍵盤,特別是單片機(jī)系統(tǒng)。鍵盤。1鍵盤接口的任務(wù)原理 對(duì)
8、于矩陣式鍵盤,如上頁圖所示,鍵盤的行線X0X3經(jīng)過電阻接+5V,當(dāng)鍵盤上沒有鍵閉合時(shí),一切的掃描線和回送線都斷開,無論掃描線處于何種形狀,回送線都呈高電平。當(dāng)鍵盤上某一鍵閉合時(shí),那么該鍵所對(duì)應(yīng)的掃描線和回送線被短路,可以確定,變?yōu)榈碗娖降幕厮途€與掃描線相交處的鍵閉合。 CPU對(duì)鍵盤掃描的方式:程序控制的隨機(jī)方式 CPU空閑時(shí)掃描鍵盤、定時(shí)控制方式定時(shí)掃描鍵盤、中斷方式。 CPU對(duì)鍵盤上閉合鍵的鍵號(hào)確定方法:根據(jù)掃描線和回送線的形狀計(jì)算求得,或根據(jù)行線和列線的形狀查表求得。 2 2鍵輸入程序的設(shè)計(jì)方法鍵輸入程序的設(shè)計(jì)方法 1 1判別鍵盤上能否有鍵閉合;判別鍵盤上能否有鍵閉合; 2 2消除鍵的機(jī)械
9、抖動(dòng);消除鍵的機(jī)械抖動(dòng); 3 3確定閉合鍵的物理位置;確定閉合鍵的物理位置; 4 4得到閉合鍵的編號(hào);得到閉合鍵的編號(hào); 5 5確保確保CPUCPU對(duì)鍵的一次閉合只做一次處置對(duì)鍵的一次閉合只做一次處置3 3鍵盤接口方式鍵盤接口方式1 1獨(dú)立式鍵盤接口靜態(tài)方式獨(dú)立式鍵盤接口靜態(tài)方式特點(diǎn):構(gòu)造簡(jiǎn)單,每個(gè)按鍵接單片機(jī)的一條特點(diǎn):構(gòu)造簡(jiǎn)單,每個(gè)按鍵接單片機(jī)的一條I/OI/O線,經(jīng)過對(duì)輸入線,經(jīng)過對(duì)輸入線的查詢,可以識(shí)別每個(gè)按鍵的形狀。線的查詢,可以識(shí)別每個(gè)按鍵的形狀。 例題例題 在在MCS-51 MCS-51 單片機(jī)系統(tǒng)中,設(shè)計(jì)一個(gè)含單片機(jī)系統(tǒng)中,設(shè)計(jì)一個(gè)含8 8個(gè)按鍵的獨(dú)立式個(gè)按鍵的獨(dú)立式鍵盤。鍵盤
10、。解:在解:在MCS-51MCS-51中,含中,含8 8個(gè)按鍵的獨(dú)立式鍵盤的線路銜接如下頁圖個(gè)按鍵的獨(dú)立式鍵盤的線路銜接如下頁圖所示,所示,8 8個(gè)按鍵經(jīng)上拉電阻拉高后分別接到個(gè)按鍵經(jīng)上拉電阻拉高后分別接到MCS-51MCS-51單片機(jī)單片機(jī)P1P1口的口的8 8條條I/OI/O線上線上P1.0P1.0P1.7P1.7。 在無鍵按下的情況下,P1.0P1.7線上輸入均為高電平。當(dāng)有鍵按下時(shí),與被按鍵相連的I/O線將得到低電平輸入,其他位按鍵的輸入線上仍維持高電平輸入。 P1口8條I/O線經(jīng)與非門74LS30實(shí)現(xiàn)邏輯與非后,再經(jīng)過1個(gè)非門74LS04進(jìn)展信號(hào)變換,然后接至MCS-51的 引腳上,
11、可經(jīng)過中斷的方式處置鍵盤。在中斷效力程序中,先延時(shí)20 ms消除鍵抖動(dòng),再對(duì)各鍵進(jìn)展查詢,找到所按鍵,并轉(zhuǎn)到相應(yīng)的處置程序中去。 0INT CLOSE: JNB ACC.7, KEY 7; 查詢7號(hào)鍵 JNB ACC.6, KEY 6; 查詢6號(hào)鍵 JNB ACC.5, KEY5; 查詢5號(hào)鍵 JNB ACC.4, KEY4; 查詢4號(hào)鍵 JNB ACC.3, KEY 3; 查詢3號(hào)鍵 JNB ACC.2, KEY 2; 查詢2號(hào)鍵 JNB ACC.1, KEY 1; 查詢1號(hào)鍵 JNB ACC.0,KEY 0 ; 查詢0號(hào)鍵 INT0: RETI KEY 7: ; 7號(hào)鍵處置程序 KEY 7
12、1: MOV A, P1; 再讀P1口各引腳 JNB ACC.7, FUNC71; 確認(rèn)鍵能否釋放 RETI KEY 6: ; 其他鍵處置程序 D20: ; 20ms延時(shí)子程序 END 主程序如下:主程序如下:ORG 0000HLJMP MAINORG 0003H; 外部中斷外部中斷0中斷效力入口地中斷效力入口地址址LJMP INT; 轉(zhuǎn)中斷效力轉(zhuǎn)中斷效力ORG 0100H MAIN: SETB EA; 開總中斷允許開總中斷允許SETB EX0; 開開INT0中斷中斷SETB IT0; 下降沿有效下降沿有效中斷效力程序清單如下:中斷效力程序清單如下: INTI CALL D20; 延時(shí)去抖動(dòng)延
13、時(shí)去抖動(dòng)MOV P1, #0FFH; P1口送全口送全1值準(zhǔn)雙向口緣值準(zhǔn)雙向口緣由由MOV A, P1; 讀讀P1口各引腳口各引腳 CJNE A, #0FFH,CLOSE ; 驗(yàn)證能否確實(shí)驗(yàn)證能否確實(shí)有鍵閉合有鍵閉合 AJMP INT0; 無鍵按下按鍵時(shí)間無鍵按下按鍵時(shí)間過短那么退過短那么退;出中斷;出中斷2矩陣式鍵盤接口行反轉(zhuǎn)法 矩陣式鍵盤按鍵識(shí)別方法有行反轉(zhuǎn)法和掃描法等。行反轉(zhuǎn)法需求兩個(gè)雙向I/O口分別接行、列線。步驟如下: 1由行線輸出全“0,讀入列線,判有無鍵按下。 2假設(shè)有鍵按下,再將讀入的列列線輸出,讀進(jìn)展線的值。 3第一步讀進(jìn)的列線值與第二步讀進(jìn)的行線值運(yùn)算,從而得到代表此鍵的獨(dú)
14、一的特征值。 行反轉(zhuǎn)法因輸入與輸出線反過來用而得名。優(yōu)點(diǎn)是判鍵速度快,兩次即可。例題請(qǐng)為8051微處置器設(shè)計(jì)一個(gè)由4行4列鍵陣構(gòu)成的鍵盤。解:44矩陣鍵盤的線路銜接如下頁圖所示。其中P2口的低4位作為輸出線。P1口的低4位作為輸入線,輸入線經(jīng)過74LS21進(jìn)展邏輯相與后作為8051的一個(gè)外部中斷源輸入。當(dāng)有鍵按下時(shí)就將引起中斷。中斷效力程序要對(duì)所按的鍵進(jìn)展判別。 1查詢閉合鍵的位置子程序KEYR KEYR子程序用以確定每組線中哪一位為0,能否有多個(gè)0。在調(diào)用前,應(yīng)將讀某組線的數(shù)據(jù)存入累加器A中。 KEYR子程序前往時(shí),某組線中0的位置03保管在R3中。按鍵閉合引起中斷后,執(zhí)行中斷效力程序。表2
15、-5 任務(wù)存放器組選擇控制表KEYR子程序如下:子程序如下: KEYR:CJNE A, #0FEH, TESTP11; 測(cè)試測(cè)試P1.0MOV R3, #0 ; P1.0=0,闡明被按鍵的輸入線,闡明被按鍵的輸入線為為P1.0LJMP FINISH; 前往前往 TESTP11:CJNE A, #0FDH, TESTP12 ; 測(cè)試測(cè)試P1.1MOV R3, #1LJMP FINISH TESTP12:CJNE A, #0FBH, TESTP13 ; 測(cè)試測(cè)試P1.2MOV R3, #2LJMP FINISH TESTP13:CJNE A, #0F7H, FINISH; 測(cè)試測(cè)試P1.3MOV
16、R3, #3 FINISH:RET 2中斷效力程序 中斷效力程序開場(chǎng)部分應(yīng)利用軟件延時(shí)消除鍵抖動(dòng),然后再對(duì)所按的鍵做出處置。 中斷效力程序如下: ORG 1000H INT11:LCALL DELAY; 延時(shí)去抖動(dòng)MOV A, P1; 讀輸入線ANL A, #0FH; 判別能否有鍵閉合CJNE A, #0FH, TEST; 有鍵閉合,轉(zhuǎn)判別按鍵程序RETI; 無鍵閉合,前往 TEST: MOV B, A; 暫存LCALL KEYR; 調(diào)用讀取子程序MOV 40H, R3; 暫存在40H單元MOV P2, #0FFH; 輸出線寫1MOV P1, B; 輸入線寫入數(shù)據(jù)MOV A, P2; 讀輸出線
17、LCALL KEYR; 調(diào)用讀取子程序XCH A, R3SWAP AORL 40H, A; 得按鍵特征值RETI 中斷程序終了后,鍵的特征值存放在40H單元中。此鍵的輸出線號(hào)位于40H單元的高4位,其輸入線號(hào)位于低4位。以后,根據(jù)40H單元的內(nèi)容去查表,得到相應(yīng)鍵的代碼,可進(jìn)展顯示或其他處置。3去抖動(dòng)的延時(shí)子程序DELAY 利用CPU的空閑方式,經(jīng)過定時(shí)器T1實(shí)現(xiàn)延時(shí), T1必需預(yù)先置初值,以得到需求的延遲時(shí)間。設(shè)晶振頻率為6MHz,欲延時(shí)20ms,定時(shí)時(shí)間為: 216TC6/12=20103s,初值:TC=25536=63C0H。程序如下: DELAY: MOV TOMD, #11H; 方式
18、1定時(shí)MOV TL1, #0C0H; 定時(shí)器1定時(shí)初值MOV TH1, #63HSETB EA; 開中斷SETB ET1; 開定時(shí)器1中斷SETB PT1; 定時(shí)器1為高級(jí)中斷因被鍵盤中斷調(diào)用SETB TR1; 啟動(dòng)定時(shí)器ORL PCON,#1; 啟動(dòng)空閑方式,實(shí)踐CPU在此處等待CLR TR1 ; 以下四條指令只需在延時(shí)后,定時(shí)器被喚醒,才干執(zhí)行CLR PT1CLR ET1RETEND4經(jīng)過串行口擴(kuò)展鍵盤接口 MCS-51系列單片機(jī)的串行口與串/并轉(zhuǎn)換芯片配合如串入并出芯片74LS164 可以擴(kuò)展鍵盤。例題 利用MCS-51的串行口與串/并轉(zhuǎn)換芯片配合,擴(kuò)展2行8列的鍵盤接口,鍵號(hào)為015。
19、要求給出其硬件銜接和鍵盤查詢子程序。解:串口與串/并轉(zhuǎn)換芯片配合擴(kuò)展鍵盤的線路銜接如以下圖所示。 其中,P1.0和P1.1作為行線。鍵盤的編碼為: P1.0線上的8個(gè)鍵分別為00H+00H07H,P1.1線上的8個(gè)鍵分別為08H+00H07H。掃描線00H07H的詳細(xì)值存放在R4中。 程序采取查詢方式讀取鍵號(hào),并且思索了鍵的抖動(dòng)問題。 DLY1是延時(shí)子程序。 程序如下: ORG 1000H SERKEY:MOV SCON, #00H; 設(shè)置串行口 MOV A, #00H ; 鍵盤初始化,送00H到列線上 LCALL VARTO ; 發(fā)送數(shù)據(jù) CHK:JNB P1.0, CHK0; 檢查能否有鍵
20、按下 JNB P1.1, CHK0; 檢查能否有鍵按下 AJMP CHK; 無鍵按下,繼續(xù)查找 CHK0:LCALL DLY1; 調(diào)用10ms延時(shí)子程序,去抖 JNB P1.0, CHEN; 確實(shí)有鍵按下,轉(zhuǎn)CHEN JNB P1.1, CHEN AJMP CHK; 無鍵按下,繼續(xù)查找 CHEN:MOV R2, #0FEH; 首列掃描字送R2,查鍵號(hào),最低位為0 MOV R4, #00H ; 首列偏移值送R4 CHKN:MOV A, R2; 發(fā)送列掃描字 LCALL VARTO JB P1.0, CH1; 檢查P1.0有無鍵按下;假設(shè)無,轉(zhuǎn)CH1 MOV A, #0; 第一行首列值送A,00H
21、+R4 AJMP CKEY; 轉(zhuǎn)求鍵號(hào) CH1:JB P1.1, NEXT; 檢查P1.1有無鍵按下;假設(shè)無,轉(zhuǎn)NEXT MOV A, #8H; 第二行首列值送A CKEY:ADD A, R4; 求鍵號(hào),并入棧維護(hù) RET NEXT:INC R4; 指向下一列 MOV A, R2; 取出原掃描字 JNB ACC.7,KEND; 能否已檢查完8列? RL A; 8列未完,指向下一列 MOV R2, A; 列掃描字送R2 AJMP CHKN; 8列未完,檢查下一列 KEND:AJMP SERKEY; 8列查完,未查到有鍵按下,等待 VARTO:MOV SBUF, A; 發(fā)送A中數(shù)據(jù) JNB TI,
22、 $; 發(fā)送等待 CLR TI; 去除 RET DLY1:; 延時(shí)10ms子程序略 END; 終了6.2 MCS-516.2 MCS-51單片機(jī)與顯示器的接口技術(shù)單片機(jī)與顯示器的接口技術(shù) 顯示器用于實(shí)現(xiàn)單片機(jī)運(yùn)用系統(tǒng)中的數(shù)據(jù)輸出和形狀的反響。單片機(jī)系統(tǒng)中常用的顯示器有發(fā)光二極管、七段數(shù)碼顯示器、液晶顯示器等。6.2.1 LED顯示器及其接口 發(fā)光二極管簡(jiǎn)稱LEDLight Emitting Diode。LED顯示器從外觀可分為 “8字形的七段數(shù)碼管、米字形數(shù)碼管、點(diǎn)陣塊、矩形平面顯示器、數(shù)字筆劃顯示器等。1七段LED數(shù)碼顯示器 七段LED數(shù)碼管顯示器可以顯示十進(jìn)制或十六進(jìn)制數(shù)字及某些簡(jiǎn)單字符。
23、但控制簡(jiǎn)單,運(yùn)用方便,在單片機(jī)系統(tǒng)中運(yùn)用較多。其構(gòu)造如下頁圖所示。 上圖中的ag七個(gè)筆劃段及小數(shù)點(diǎn)dp均為發(fā)光二極管。數(shù)碼管顯示器根據(jù)公共端的銜接方式,可以分為共陰極數(shù)碼管將一切發(fā)光二極管的陰極連在一同和共陽極數(shù)碼管將一切發(fā)光二極管的陽極連在一同。 單片機(jī)系統(tǒng)擴(kuò)展LED數(shù)碼管時(shí)多用共陽LED。共陽數(shù)碼管每個(gè)段筆畫是用低電平(“0)點(diǎn)亮的,要求驅(qū)動(dòng)功率很小;而共陰數(shù)碼管段筆畫是用高電平(“0)點(diǎn)亮的,要求驅(qū)動(dòng)功率較大。通常每個(gè)段筆畫要串一個(gè)數(shù)百歐姆的降壓電阻。2 2LEDLED點(diǎn)陣模塊顯示器點(diǎn)陣模塊顯示器 LED LED點(diǎn)陣模塊顯示器是指由發(fā)光二極管排成一個(gè)點(diǎn)陣模塊顯示器是指由發(fā)光二極管排成一個(gè)
24、m mn n的點(diǎn)的點(diǎn)陣,每個(gè)發(fā)光二極管構(gòu)成點(diǎn)陣中的一個(gè)點(diǎn)。這種顯示器顯示的陣,每個(gè)發(fā)光二極管構(gòu)成點(diǎn)陣中的一個(gè)點(diǎn)。這種顯示器顯示的字形逼真,能顯示的字符比較多,但控制比較復(fù)雜。適用于顯字形逼真,能顯示的字符比較多,但控制比較復(fù)雜。適用于顯示漢字、圖形和表格,廣泛運(yùn)用于公共場(chǎng)所的信息發(fā)布。示漢字、圖形和表格,廣泛運(yùn)用于公共場(chǎng)所的信息發(fā)布。 七段LED字形碼如下表所示。3. LED3. LED的驅(qū)動(dòng)接口的驅(qū)動(dòng)接口 LEDLED任務(wù)時(shí)需求一定的任務(wù)電流,才干正常發(fā)光。單個(gè)任務(wù)時(shí)需求一定的任務(wù)電流,才干正常發(fā)光。單個(gè)LEDLED實(shí)實(shí)踐上是一個(gè)壓降為踐上是一個(gè)壓降為1.21.21.5V1.5V的發(fā)光二極管
25、,流過的發(fā)光二極管,流過LEDLED的電流大小的電流大小決議了它的發(fā)光強(qiáng)度,決議了它的發(fā)光強(qiáng)度,R R為限流電阻。適當(dāng)減小限流電阻可以添為限流電阻。適當(dāng)減小限流電阻可以添加加LEDLED的任務(wù)電流,使的任務(wù)電流,使LEDLED的顯示效果更好。但任務(wù)電流過大,會(huì)的顯示效果更好。但任務(wù)電流過大,會(huì)對(duì)驅(qū)動(dòng)器件、對(duì)驅(qū)動(dòng)器件、LEDLED呵斥損害。通常每個(gè)段筆畫要串一個(gè)數(shù)百歐姆呵斥損害。通常每個(gè)段筆畫要串一個(gè)數(shù)百歐姆的降壓電阻。以下圖為單個(gè)的降壓電阻。以下圖為單個(gè)LEDLED的驅(qū)動(dòng)接口電路。的驅(qū)動(dòng)接口電路。4 4LEDLED數(shù)碼管的顯示與驅(qū)動(dòng)數(shù)碼管的顯示與驅(qū)動(dòng) LED數(shù)碼管顯示器的任務(wù)方式:靜態(tài)和動(dòng)態(tài)兩
26、種顯示方式。1靜態(tài)顯示方式 靜態(tài)顯示方式的各數(shù)碼管在顯示過程中繼續(xù)得到送顯信號(hào),與各數(shù)碼管接口的I/O口線是公用的。其特點(diǎn)是顯示穩(wěn)定,無閃爍,用元器件多,占I/O線多,無須掃描。系統(tǒng)運(yùn)轉(zhuǎn)過程中,在需求更新顯示內(nèi)容時(shí),CPU才去執(zhí)行顯示更新子程序,節(jié)省CPU時(shí)間,提高CPU的任務(wù)效率,編程簡(jiǎn)單。 例題 利用在8051串行口擴(kuò)展多片串行輸入并行輸出的移位存放器74LS164作為靜態(tài)顯示器接口的方法,設(shè)計(jì)3位靜態(tài)顯示器接口,并寫出顯示更新子程序,實(shí)現(xiàn)將7FH7DH 3個(gè)單元的數(shù)值分別顯示在3位LED2LED0上。解:接口電路如圖以下圖所示。解:接口電路如圖以下圖所示。3 3個(gè)共陽極數(shù)碼管的公共端均個(gè)
27、共陽極數(shù)碼管的公共端均接接VccVcc,段碼經(jīng)過串行口,采用串,段碼經(jīng)過串行口,采用串并轉(zhuǎn)換原理,分別送出并轉(zhuǎn)換原理,分別送出3 3個(gè)數(shù)碼管的段碼先送出的段碼字節(jié)在個(gè)數(shù)碼管的段碼先送出的段碼字節(jié)在LED2LED2數(shù)碼管上顯數(shù)碼管上顯示,圖中的電阻值取示,圖中的電阻值取100500100500 。程序如下:程序如下: ORG ORG 1000H1000H DISPSER: DISPSER:MOV MOV R5, #03HR5, #03H; ; 顯示顯示3 3個(gè)字符個(gè)字符 MOV MOV R1, #7FHR1, #7FH; 7FH; 7FH7DH7DH存存放要顯示的數(shù)據(jù)放要顯示的數(shù)據(jù) DL0: D
28、L0:MOV MOV A, R1A, R1; ; 取出要顯示取出要顯示的數(shù)據(jù)的數(shù)據(jù) MOV MOV DPTR, #STABDPTR, #STAB ; ; 指向段數(shù)據(jù)指向段數(shù)據(jù)表表MOVC MOVC A, A+DPTRA, A+DPTR; ; 查表取字形數(shù)據(jù)查表取字形數(shù)據(jù)MOV MOV SBUF, ASBUF, A; ; 送出數(shù)據(jù),進(jìn)展顯送出數(shù)據(jù),進(jìn)展顯示示JNB JNB T1, $T1, $; ; 輸出完否?輸出完否?CLR CLR T1T1; ; 輸出完,清中斷標(biāo)輸出完,清中斷標(biāo)志志DEC DEC R1R1; ; 再取下一個(gè)數(shù)據(jù)再取下一個(gè)數(shù)據(jù)DJNZ DJNZ R5, DL0R5, DL0;
29、 ; 循環(huán)循環(huán)3 3次次RETRET; ; 前往前往 STAB: STAB: DB DB 0C0H, 0F9H, 0A4H, 0B0H; 0C0H, 0F9H, 0A4H, 0B0H; 段數(shù)據(jù)段數(shù)據(jù)表共陽極表共陽極DB DB ENDEND2動(dòng)態(tài)顯示方式 動(dòng)態(tài)顯示方式是指一位一位地輪番點(diǎn)亮每位顯示器,與各數(shù)碼管接口的I/O口線是共用的。其特點(diǎn)是有閃爍,用元器件少,占I/O線少,必需掃描,破費(fèi)CPU時(shí)間,編程復(fù)雜。 例題設(shè)計(jì)89S51經(jīng)過74LS273擴(kuò)展6位七段共陽極LED顯示器。 解:接口電路如下頁圖所示。在程序中經(jīng)過P0口將相應(yīng)的字形碼寫入74LS273,P2.0P2.5作為段碼輸出口, P
30、0口的端口地址為00FFH。進(jìn)展掃描時(shí),P2的低6位依次置1,依次選中了從左至右的顯示器。運(yùn)用74LS04作為段碼輸出驅(qū)動(dòng)反相驅(qū)動(dòng),所以共陰極數(shù)碼管在段數(shù)據(jù)表中的字形碼應(yīng)與共陽極數(shù)碼管的字形碼一樣。顯示器就可以顯示出6位字符。 闡明闡明:1、單片機(jī)、單片機(jī)WR引腳要與引腳要與273的的CLK銜接銜接 2、273的的CLR引腳要與引腳要與VCC銜接銜接 3、DPTR值不一定是值不一定是7FFFh,用用FFH可消除閃爍可消除閃爍6.2.2 LCD6.2.2 LCD顯示器及其接口顯示器及其接口 液晶顯示器簡(jiǎn)稱LCDLiquid Crystal Diodes是利用液晶經(jīng)過處置后可以改動(dòng)光線傳輸方向的特
31、性,到達(dá)顯示字符或者圖形的目的。其特點(diǎn)是體積小、分量輕、功耗極低、顯示內(nèi)容豐富等特點(diǎn),在單片機(jī)運(yùn)用系統(tǒng)中有著日益廣泛的運(yùn)用。 1LCD的分類及特點(diǎn) 分類:筆段式和點(diǎn)陣式可分為字符型和圖像型。 筆段式LCD顯示器:類似于LED數(shù)碼管顯示器。每個(gè)顯示器的段電極包括a, b, c, d, e, f, g七個(gè)筆劃段和一個(gè)背電極BP或COM??梢燥@示數(shù)字和簡(jiǎn)單的字符。 點(diǎn)陣式LCD顯示器:段電極與背電極呈正交帶狀分布,液晶位于正交的帶狀電極間。點(diǎn)陣式LCD的控制普通采用行掃描方式,如圖右所示為顯示字符“A的情況。2 2筆段式筆段式LCDLCD液晶顯示器的驅(qū)動(dòng)液晶顯示器的驅(qū)動(dòng) 在LCD的公共極一路為背電極
32、加上恒定的交變方波信號(hào),經(jīng)過控制段極的電壓變化,在LCD兩極間產(chǎn)生所需的零電壓或二倍幅值的交變電壓,以到達(dá)LCD亮、滅的控制。在筆段式LCD的段電極與背電極間施加周期地改動(dòng)極性的電壓通常為4 V或5 V,可使該段呈黑色。 3LCD顯示模塊LCM Liquid Crystal Display Module 在實(shí)踐運(yùn)用中,用戶很少直接設(shè)計(jì)LCD顯示器驅(qū)動(dòng)接口,普通是直接運(yùn)用公用的LCD顯示驅(qū)動(dòng)器和LCD顯示模塊LCM 。 LCM是把LCD顯示屏、背景光源、線路板和驅(qū)動(dòng)集成電路等部件構(gòu)呵斥一個(gè)整體,作為一個(gè)獨(dú)立部件運(yùn)用。其特點(diǎn)是功能較強(qiáng)、易于控制、接口簡(jiǎn)單,在單片機(jī)系統(tǒng)中運(yùn)用較多。其內(nèi)部構(gòu)造如下頁圖
33、所示。 LCM普通帶有內(nèi)部顯示RAM和字符發(fā)生器,只需輸入ASCII碼就可以進(jìn)展顯示。 LCD顯示器接口原理 1LCD的根本構(gòu)造及任務(wù)原理圖圖 液晶顯示器根本構(gòu)造液晶顯示器根本構(gòu)造液晶字符顯示屏液晶圖形點(diǎn)陣顯示屏 LCD顯示模塊LCM按顯示功能可分為:LCD段式顯示模塊、LCD字符型顯示模塊、LCD圖形顯示模塊三類。 HD44780字符顯示模塊是較常用的LCD顯示模塊,共有14個(gè)引腳,其中,8個(gè)數(shù)據(jù)引腳,3個(gè)控制引腳,3個(gè)電源引腳。每個(gè)HD44780可控制的字符可達(dá)每行80個(gè),具有驅(qū)動(dòng)1640點(diǎn)陣的才干。具有其本身的11條指令構(gòu)成的指令系統(tǒng),用戶對(duì)模塊寫入適當(dāng)?shù)目刂泼?,即可完成清屏、顯示、地
34、址設(shè)置等操作。 各引腳功能定義如下表所示。例題例題 設(shè)計(jì)設(shè)計(jì)8051單片機(jī)驅(qū)動(dòng)單片機(jī)驅(qū)動(dòng)HD44780顯示模塊的接口電路。顯示模塊的接口電路。解:解:8051單片機(jī)與單片機(jī)與HD44780顯示模塊的線路銜接如以下圖所示,顯示模塊的線路銜接如以下圖所示,8051的的P1口與口與HD44780的數(shù)據(jù)線相連,的數(shù)據(jù)線相連,HD44780的的 端信號(hào)端信號(hào)由由8051的的P3.5提供,提供,HD44780的通訊允許信號(hào)的通訊允許信號(hào)E由由8051的的P3.3提提供,供,HD44780的存放器選擇信號(hào)的存放器選擇信號(hào)RS由由8051的的P3.4提供。提供。W/R HD44780初始化的方法主要有以下兩種
35、:1利用模塊內(nèi)部的復(fù)位電路進(jìn)展初始化,完成去除顯示、功能設(shè)置、開/關(guān)顯示、設(shè)置光標(biāo)形狀及閃爍功能、方式設(shè)置。2利用軟件編程實(shí)現(xiàn)初始化。1602液晶顯示模塊接線圖16字符2行6.3 利用利用MCS-51的串行口實(shí)現(xiàn)鍵盤和顯示器接口的串行口實(shí)現(xiàn)鍵盤和顯示器接口1接口電路接口電路 運(yùn)用運(yùn)用MCS-51單片機(jī)的串行口方式單片機(jī)的串行口方式0的輸出方式,在串的輸出方式,在串行口外接移位存放器行口外接移位存放器74LS164,構(gòu)成鍵盤和顯示器接口,構(gòu)成鍵盤和顯示器接口,其硬件接口如下頁圖所示圖中只畫出三位其硬件接口如下頁圖所示圖中只畫出三位LED靜態(tài)靜態(tài)顯示和顯示和16個(gè)按鍵,用戶根據(jù)需求可以擴(kuò)展。采用靜
36、個(gè)按鍵,用戶根據(jù)需求可以擴(kuò)展。采用靜態(tài)顯示,軟件設(shè)計(jì)比較簡(jiǎn)單,節(jié)約態(tài)顯示,軟件設(shè)計(jì)比較簡(jiǎn)單,節(jié)約CPU的資源。的資源。 2 2軟件設(shè)計(jì)軟件設(shè)計(jì)顯示子程序如下:顯示子程序如下: ORG ORG 1000H1000H DSPSER: DSPSER:SETB SETB P3.3P3.3; ; 開放顯示輸開放顯示輸出出MOV MOV R7, #03HR7, #03H; ; 送出的顯示段碼個(gè)送出的顯示段碼個(gè)數(shù)數(shù)MOV MOV R0, #7FHR0, #7FH; 7FH; 7FH7DH7DH為顯示緩為顯示緩沖區(qū)沖區(qū) DSPS1: DSPS1:MOV MOV A, R0A, R0; ; 取出要顯示取出要顯示
37、的數(shù)據(jù)的數(shù)據(jù)ADD ADD A, #0DHA, #0DH; ; 加上偏移量加上偏移量MOVC MOVC A, A+PCA, A+PC; ; 查段碼表查段碼表TAB1TAB1MOV MOV SBUF, ASBUF, A; ; 經(jīng)過串行口經(jīng)過串行口將段碼送出將段碼送出 DSPS2: DSPS2:JNB TI, DSPS2JNB TI, DSPS2 ; ; 數(shù)據(jù)發(fā)送完?數(shù)據(jù)發(fā)送完?CLR TICLR TIDEC R0DEC R0; ; 指向下一個(gè)數(shù)據(jù)單元指向下一個(gè)數(shù)據(jù)單元DJNZ R7, DSPS1DJNZ R7, DSPS1 ; ; 三個(gè)顯示器能否全部顯示?三個(gè)顯示器能否全部顯示?CLR P3.3
38、CLR P3.3; ; 三個(gè)數(shù)據(jù)顯示完,封鎖送三個(gè)數(shù)據(jù)顯示完,封鎖送顯示數(shù)據(jù)通道顯示數(shù)據(jù)通道RETRET TAB1: TAB1:DBDB; ; 段碼段碼表表鍵盤掃描子程序如下:鍵盤掃描子程序如下: KEYS1:KEYS1:MOV MOV A A,#00H#00HMOV MOV SBUF, ASBUF, A; ; 掃描鍵盤全掃描鍵盤全部輸出部輸出0 0 KSY0: KSY0:JNB JNB TI, KSY0TI, KSY0; ; 數(shù)據(jù)發(fā)送完?數(shù)據(jù)發(fā)送完?CLR CLR TITI KSY1: KSY1:JNB JNB P3.4, PKS1P3.4, PKS1; ; 有鍵有鍵閉合嗎?有那么轉(zhuǎn)閉合嗎?
39、有那么轉(zhuǎn)PKS1PKS1處置處置JB JB P3.5, KSY1P3.5, KSY1; ; 第二行有鍵閉合嗎?第二行有鍵閉合嗎? PKS1:PKS1:ACALL ACALL DELAY10DELAY10; ; 調(diào)用調(diào)用延時(shí)延時(shí)10ms10ms子程序,鍵盤去抖子程序,鍵盤去抖JNB JNB P3.4, PKS2P3.4, PKS2; ; 有鍵閉合嗎?有鍵閉合嗎?JB JB P3.5, KSY1P3.5, KSY1; ; 無鍵閉合,是抖動(dòng)無鍵閉合,是抖動(dòng) PKS2:PKS2:MOV MOV R7, #08HR7, #08H; ; 不是抖動(dòng)引起的不是抖動(dòng)引起的 MOV MOV R6, #0FEH R
40、6, #0FEH ; ; 判別是哪個(gè)判別是哪個(gè)鍵按下?鍵按下? MOV MOV R3, #00HR3, #00HMOV MOV A, R6A, R6 KSY2: KSY2:MOV MOV SBUF, ASBUF, A KSY3: KSY3:JNB JNB TI, KSY3TI, KSY3; ; 等待串行口發(fā)送完等待串行口發(fā)送完CLR CLR TITIJNB JNB P3.4, PKONEP3.4, PKONE ; ; 是第一行的某鍵按是第一行的某鍵按下?下?JB JB P3.5, NEXTP3.5, NEXT; ; 是第二行的某鍵按是第二行的某鍵按下?下?MOV MOV R4, #08HR4,
41、 #08H; ; 第二行有鍵第二行有鍵按下按下AJMP AJMP PKS3PKS3 PKONE: PKONE: MOV MOV R4, #00HR4, #00H; ; 第一第一行有鍵按下行有鍵按下 PKS3:MOV SBUF, #00H; 等待鍵的釋放 KSY4:JNB TI, KSY4; CLR TI KSY5:JNB P3.4, KSY5; 是第一行的某鍵按下?JNB P3.5, KSY5MOV A, R4ADD A, R3RET NEXT:MOV A, R6; 判別下一列能否有鍵按下RL AMOV R6, AINC R3DJNZ R7, KSY2; 8列能否全部掃描完?AJMP KEYS
42、1; 掃描完成 DELAY10: ; 延時(shí)10ms子程序RET END6.3.3 利用公用芯片實(shí)現(xiàn)鍵盤和顯示器接口 鍵盤的處置和顯示的處置可由公用芯片完成,鍵盤和顯示器管理公用芯片種類較多,常用的鍵盤和顯示器管理公用芯片有Intel公司的8279芯片,可實(shí)現(xiàn)64個(gè)按鍵、 16位LED顯示器的管理。 在由單片機(jī)組成的控制系統(tǒng)中,大多數(shù)外圍電路是處于各種各樣的復(fù)雜環(huán)境中,如控制對(duì)象能夠處于大電流、高電壓的情況??刂频膱?zhí)行機(jī)構(gòu)能夠是電動(dòng)機(jī)、繼電器或電磁鐵等大功率機(jī)構(gòu)。因此,單片機(jī)不能夠和這些外部機(jī)構(gòu)直接銜接。通常必需采取兩個(gè)根本措施:一是采用隔離的方法把單片機(jī)的任務(wù)環(huán)境與外電路隔分開來;另一種是采用
43、電流接續(xù)的方法擴(kuò)展輸出電流的才干,以驅(qū)動(dòng)各種外電路。6.4.1 擴(kuò)展驅(qū)動(dòng)電流的方法1、采用晶體三極管擴(kuò)展輸出電流2、采用帶驅(qū)動(dòng)電路的邏輯門擴(kuò)展驅(qū)動(dòng)電流3、采用達(dá)林頓管作驅(qū)動(dòng)器擴(kuò)展驅(qū)動(dòng)電流 下面分別給出詳細(xì)電路圖6.4 MCS-516.4 MCS-51單片機(jī)功率驅(qū)動(dòng)接口技術(shù)單片機(jī)功率驅(qū)動(dòng)接口技術(shù)1、三極管三極管的概述半導(dǎo)體三極管也稱為晶體三極管,可以說它是電子電路中最重要的器件。它最主要的功能是電流 放大和開關(guān)作用。 三極管顧名思義具有三個(gè)電極。二極管是由一個(gè)PN構(gòu)呵斥的,而三極管由兩個(gè)PN構(gòu)呵斥,共用的一個(gè)電極成為三極管的基極用字母b表示。其他的兩個(gè)電極成為集電極用字母c表示和發(fā)射極用字母e表
44、示。由于不同的組合方式,構(gòu)成了一種是NPN型的三極管,另一種是PNP型的三極管。三極管 的種類很多,并且不同型號(hào)各有不同的用途。三極管大都是塑料封裝或金屬封裝,常見三極管的外觀如圖,大的很大,小的很小。三極管的電路符號(hào)有兩種:有一個(gè)箭頭的電極是發(fā)射極,箭頭朝外的是NPN型三極管,而箭頭朝內(nèi)的是PNP型。實(shí)踐上箭頭所指的方向是電流的方向。 電子制造中常用的三極管有9 0 系列,包括低頻小功率硅管9013NPN、9012PNP,低噪聲管9014NPN,高頻小功率管9018NPN等。它們的型號(hào)普通都標(biāo)在塑殼上,而樣子都一樣,都是TO-92規(guī)范封裝。半導(dǎo)體三極管的管腳判別半導(dǎo)體三極管的管腳判別 在安裝
45、半導(dǎo)體三極管之前,首先搞清楚三極管的管腳陳列。在安裝半導(dǎo)體三極管之前,首先搞清楚三極管的管腳陳列。一方面可以經(jīng)過查手冊(cè)獲得,另一方面也可利用電子儀器進(jìn)一方面可以經(jīng)過查手冊(cè)獲得,另一方面也可利用電子儀器進(jìn)展丈量,下面講一下利用萬用表斷定三極管管腳的方法。首展丈量,下面講一下利用萬用表斷定三極管管腳的方法。首先斷定先斷定PNP型和型和NPN型晶體管:用萬用表的型晶體管:用萬用表的R1kW或或R100W檔,用黑表筆接三極管的任一管腳,用紅表筆分檔,用黑表筆接三極管的任一管腳,用紅表筆分別接其他兩管腳。假設(shè)表針指示的兩阻值均很大,那么黑表別接其他兩管腳。假設(shè)表針指示的兩阻值均很大,那么黑表筆所接的那個(gè)
46、管腳是筆所接的那個(gè)管腳是PNP型管的基極;假設(shè)萬用表指示的兩型管的基極;假設(shè)萬用表指示的兩個(gè)阻值均很小,那么黑表筆所接的管腳是個(gè)阻值均很小,那么黑表筆所接的管腳是NPN型的基極;假型的基極;假設(shè)表針指示的阻值一個(gè)很大,一個(gè)很小,那么黑表筆所接的設(shè)表針指示的阻值一個(gè)很大,一個(gè)很小,那么黑表筆所接的管腳不是基極。需求新?lián)Q一個(gè)管腳重試,直到滿足要求為止。管腳不是基極。需求新?lián)Q一個(gè)管腳重試,直到滿足要求為止。進(jìn)一步斷定三極管集電極和發(fā)射極:首先假定一個(gè)管腳是集進(jìn)一步斷定三極管集電極和發(fā)射極:首先假定一個(gè)管腳是集電極,另一個(gè)管腳是發(fā)射極;對(duì)電極,另一個(gè)管腳是發(fā)射極;對(duì)NPN于型三極管,黑表筆接于型三極管
47、,黑表筆接假定是集電極的管腳,紅表筆接假定是發(fā)射極的管腳對(duì)于假定是集電極的管腳,紅表筆接假定是發(fā)射極的管腳對(duì)于PNP型管,萬用表的紅、黑表筆對(duì)調(diào);然后用大拇指將基型管,萬用表的紅、黑表筆對(duì)調(diào);然后用大拇指將基極和假定集電極銜接留意兩管腳不能短接,這時(shí)記錄下極和假定集電極銜接留意兩管腳不能短接,這時(shí)記錄下萬用表的丈量值;最后反過來,把原先假定的管腳對(duì)調(diào),重萬用表的丈量值;最后反過來,把原先假定的管腳對(duì)調(diào),重新記錄下萬用表的讀數(shù),兩次丈量值較小的黑表筆所接的管新記錄下萬用表的讀數(shù),兩次丈量值較小的黑表筆所接的管腳是集電極對(duì)于腳是集電極對(duì)于PNP 型管,那么紅表筆所接的是集電極。型管,那么紅表筆所接
48、的是集電極。2、邏輯門3、達(dá)林頓管ULN2019內(nèi)部邏輯電路圖例題:設(shè)計(jì)使單片機(jī)唱歌的程序;在接在單片機(jī)的P2.0上的小喇叭唱八月桂花香實(shí)驗(yàn) ;執(zhí)行結(jié)果:程序運(yùn)轉(zhuǎn)后在在單片機(jī)的P2.0上的小喇叭唱八月桂花香;本實(shí)驗(yàn)源程序如下:;*;* Date : 2019.4.20 -*;* Support Mb:c51cn163 -*;* Create by :dengdewu c51 更多例程請(qǐng)登陸網(wǎng)站-*;* 網(wǎng)站單片機(jī)學(xué)習(xí)資料同步更新,敬請(qǐng)新老朋友隨時(shí)關(guān)注 -*;* ORG 0000H LJMP START ORG 000BH ;中斷入口 INC 20H ;中斷效力程序,
49、中斷計(jì)數(shù)器加1 MOV TH0,#0D8H MOV TL0,#0EFH ;12M晶振,構(gòu)成10毫秒中斷 RETISTART: MOV SP,#50H MOV TH0,#0D8H MOV TL0,#0EFH MOV TMOD,#01H ;設(shè)定定時(shí)器任務(wù)方式 MOV IE,#82HMUSIC0: NOP MOV DPTR,#DAT ;表頭地址送DPTR MOV 20H,#00H ;中斷計(jì)數(shù)器清0 MOV B,#00H ;表序號(hào)清0MUSIC1: NOP CLR A MOVC A,A+DPTR ;查表取代碼 JZ END0 ;是00H,那么終了 CJNE A,#0FFH,MUSIC5 LJMP MU
50、SIC3MUSIC5: NOP MOV R6,A INC DPTR MOV A,B MOVC A,A+DPTR ;取節(jié)拍代碼送R7 MOV R7,A SETB TR0 ;啟動(dòng)計(jì)數(shù)MUSIC2: NOP CPL P2.0 MOV A,R6 MOV R3,A CPL A MOV P1,A ;顯示(修正者參與的顯示) CPL A LCALL DEL MOV A,R7 CJNE A,20H,MUSIC2 ;中斷計(jì)數(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 ;歌曲終了,延時(shí)1秒后繼續(xù)MUSIC6: MOV R3,#00H L
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司年度總結(jié)演講稿
- 皮膚科醫(yī)生工作心得總結(jié)
- 《筆字型鍵盤字根總》課件
- 戶外地面清洗合同范例
- 蘇教版九年級(jí)上冊(cè)勞動(dòng)技術(shù) 第28課 無線電側(cè)向與定位【課件】
- 公司對(duì)股東合同范例
- 墊資建房合同范例
- 商品買賣欠款合同范例
- 冷庫報(bào)價(jià)合同范例
- 強(qiáng)電維修施工合同范例
- 首診負(fù)責(zé)制查檢表
- 實(shí)驗(yàn)室審核檢查表(參照模板)
- 《養(yǎng)成良好習(xí)慣-鑄就精彩人生》-主題班會(huì)
- 三年級(jí)中華優(yōu)秀傳統(tǒng)文化教案
- (新版教材)教科版一年級(jí)上冊(cè)科學(xué)全冊(cè)優(yōu)秀教學(xué)課件
- 人教版九年級(jí)上冊(cè) 初三 英語Unit8SectionA1a-1c課件
- 教師網(wǎng)絡(luò)培訓(xùn)簽到表
- 《大學(xué)日語》第一冊(cè) 第8課
- 大學(xué)語文-魯迅風(fēng)波賞析-課件
- 設(shè)計(jì)概論第五章-設(shè)計(jì)的哲學(xué)-PPT課件(PPT 111頁)
- 寧波市建設(shè)工程資料統(tǒng)一用表(2022版)1 通用分冊(cè)
評(píng)論
0/150
提交評(píng)論