




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第第6 6章章 mcs-51mcs-51單片機的交互通道單片機的交互通道配置與接口配置與接口主要內容: 從工程應用角度介紹了mcs-51單片機的交互通道配置與接口,主要包括人機界面中的鍵盤、顯示器、微型打印機等。介紹了多種實用方案和設計技巧。重點在于系統(tǒng)概念的形成、各種接口設計方案和設計技巧的掌握,熟悉各種交互設備。難點在于使用動態(tài)方法進行鍵盤和顯示的硬件及軟件設計。 人機界面人機界面: :是指人與計算機系統(tǒng)進行信息交互的接口,包括信息的輸入和輸出。6.1 mcs-516.1 mcs-51單片機與鍵盤的接口技術單片機與鍵盤的接口技術 鍵盤:鍵盤:單片機系統(tǒng)中完成控制參數輸入及修改的基本輸入設備
2、,是人工干預系統(tǒng)的重要手段。 鍵盤的分類:鍵盤的分類:按編碼方式可分為編碼鍵盤與非編碼鍵盤。按鍵組連接方式可分為獨立連接式鍵盤與矩陣連接式鍵盤。 6.1.1 6.1.1 概述概述 鍵盤輸入的主要對象:鍵盤輸入的主要對象:各種按鍵或開關。 1 1獨立連接式鍵盤獨立連接式鍵盤 每鍵相互獨立,各自與一條i/o線相連,cpu可直接讀取該i/o線的高/低電平狀態(tài)。其優(yōu)點是硬件、軟件結構簡單,判鍵速度快,使用方便;缺點是占i/o口線多。 適用場合:適用場合:多用于設置控制鍵、功能鍵。適用于鍵數少的場合。 獨立連接式鍵盤連接圖如右圖所示。當沒有鍵被按下時,所有的數據輸入線都為高電平;當有任意一個鍵被按下時,
3、與之相連的數據輸入線將變?yōu)榈碗娖剑煌ㄟ^相應指令,可以判斷是否有鍵按下。2. 2. 矩陣連接式鍵盤矩陣連接式鍵盤 鍵按矩陣排列,各鍵處于矩陣行/列的結點處,cpu通過對連在行(列)的i/o線送已知電平的信號,然后讀取列(行)線的狀態(tài)信息。逐線掃描,得出鍵碼。其特點是鍵多時占用i/o口線少,硬件資源利用合理,但判鍵速度慢。適用場合:適用場合:多用于設置數字鍵,適用于鍵數多的場合。 4行4列矩陣式鍵盤連接圖如右圖所示。這種鍵盤適合采取動態(tài)掃描的方式進行識別。掃描方式:掃描方式:低電平掃描(回送線必須被上拉為高電平)、高電平掃描(回送線需被下拉為低電平)。右圖中給出了低電平掃描的電路。3. 3. 薄膜
4、開關薄膜開關特點:特點:不需要進行導線與開關間的焊接,結構簡單、體積小、防塵、防水、防有害氣體侵蝕、壽命長、可靠性高。應用:應用:與按鍵式鍵盤類似,多個薄膜開關也可按照獨立式或矩陣式設計內部電路,其原理與普通鍵盤相同。 按鍵開關去抖動問題按鍵開關去抖動問題 *鍵盤的抖動時間一般為鍵盤的抖動時間一般為5 510ms10ms,抖動現象會引起,抖動現象會引起cpucpu對一次鍵操作進行多次處理,從而可能產生錯誤。對一次鍵操作進行多次處理,從而可能產生錯誤。 硬件去抖動硬件去抖動 消除抖動不良后果的方法:消除抖動不良后果的方法:其中其中rcrc濾波電路去抖動電路簡單實用,效果較好。濾波電路去抖動電路簡
5、單實用,效果較好。 軟件去抖動軟件去抖動 檢測到按鍵按下后,執(zhí)行延時檢測到按鍵按下后,執(zhí)行延時10ms10ms子程序后再確認該鍵子程序后再確認該鍵是否確實按下,消除抖動影響。是否確實按下,消除抖動影響。 (1)開關狀態(tài)的可靠輸入。必須消除鍵抖動。可以采用硬件和軟件兩種方法,硬件方法就是在按鍵輸入通道上添加去抖動電路;軟件方法則采用延遲1020ms (2)鍵盤狀態(tài)的監(jiān)測方法中斷方式還是查詢方式。 (3)鍵盤編碼方法。 (4)鍵盤控制程序的編制。 6.1.3 6.1.3 鍵盤接口鍵盤接口 功能:功能:對鍵盤上所按下的鍵進行識別。 分類:分類: (1)編碼鍵盤:采用專用的編碼/譯碼器件,被按下的鍵由
6、該器件譯碼輸出相應的鍵碼/鍵值。其特點是增加了硬件開銷,編碼固定,但編程簡單。適用于規(guī)模大的鍵盤。 6.1.2 6.1.2 使用鍵盤時必須解決的問題使用鍵盤時必須解決的問題 (2)非編碼鍵盤:采用軟件編/譯碼的方式,通過掃描,對每個被按下的鍵判別輸出相應的鍵碼/鍵值。其特點是不增加硬件開銷,編碼靈活,但編程較復雜,占cpu時間。適用于小規(guī)模的鍵盤,特別是單片機系統(tǒng)。鍵盤。1 1鍵盤接口的工作原理鍵盤接口的工作原理 對于矩陣式鍵盤,如上頁圖所示,鍵盤的行線x0x3通過電阻接+5v,當鍵盤上沒有鍵閉合時,所有的掃描線和回送線都斷開,無論掃描線處于何種狀態(tài),回送線都呈高電平。當鍵盤上某一鍵閉合時,則
7、該鍵所對應的掃描線和回送線被短路,可以確定,變?yōu)榈碗娖降幕厮途€與掃描線相交處的鍵閉合。 cpucpu對鍵盤掃描的方式:對鍵盤掃描的方式:程序控制的隨機方式( cpu空閑時掃描鍵盤)、定時控制方式(定時掃描鍵盤)、中斷方式。 cpu對鍵盤上閉合鍵的鍵號確定方法:對鍵盤上閉合鍵的鍵號確定方法:根據掃描線和回送線的狀態(tài)計算求得,或根據行線和列線的狀態(tài)查表求得。 2 2鍵輸入程序的設計方法鍵輸入程序的設計方法 (1)判斷鍵盤上是否有鍵閉合; (2)消除鍵的機械抖動; (3)確定閉合鍵的物理位置; (4)得到閉合鍵的編號; (5)確保cpu對鍵的一次閉合只做一次處理3 3鍵盤接口方式鍵盤接口方式(1)獨
8、立式鍵盤接口(靜態(tài)方式)特點:特點:結構簡單,每個按鍵接單片機的一條i/o線,通過對輸入線的查詢,可以識別每個按鍵的狀態(tài)。 例題例題 在mcs-51 單片機系統(tǒng)中,設計一個含8個按鍵的獨立式鍵盤。解解:在mcs-51中,含8個按鍵的獨立式鍵盤的線路連接如下頁圖所示,8個按鍵經上拉電阻拉高后分別接到mcs-51單片機p1口的8條i/o線上(p1.0p1.7)。 在無鍵按下的情況下,p1.0p1.7線上輸入均為高電平。當有鍵按下時,與被按鍵相連的i/o線將得到低電平輸入,其他位按鍵的輸入線上仍維持高電平輸入。 p1口8條i/o線經與非門74ls30實現邏輯與非后,再經過1個非門74ls04進行信號
9、變換,然后接至mcs-51的 引腳上,可通過中斷的方式處理鍵盤。在中斷服務程序中,先延時20 ms消除鍵抖動,再對各鍵進行查詢,找到所按鍵,并轉到相應的處理程序中去。 0int close: jnb acc.7, key 7; 查詢7號鍵 jnb acc.6, key 6; 查詢6號鍵 jnb acc.5, key5; 查詢5號鍵 jnb 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
10、 7: ; 7號鍵處理程序 key 71: mov a, p1; 再讀p1口各引腳 jnb acc.7, func71; 確認鍵是否釋放 reti key 6: ; 其他鍵處理程序 d20: ; 20ms延時子程序 end 主程序如下:主程序如下:org 0000hljmp mainorg 0003h; 外部中斷0中斷服務入口地址ljmp int; 轉中斷服務org 0100h main: setb ea; 開總中斷允許setb ex0; 開int0中斷setb it0; 下降沿有效中斷服務程序清單如下: inti call d20; 延時去抖動mov p1, #0ffh; p1口送全1值(準
11、雙向口原因)mov a, p1; 讀p1口各引腳 cjne a, #0ffh,close; 驗證是否確實有鍵閉合 ajmp int0; 無鍵按下(按鍵時間過短)則退;出中斷(2)矩陣式鍵盤接口行反轉法 矩陣式鍵盤按鍵識別方法有行反轉法和掃描法等。行反轉法需要兩個雙向i/o口分別接行、列線。步驟如下: (1)由行線輸出全“0”,讀入列線,判有無鍵按下。 (2)若有鍵按下,再將讀入的列列線輸出,讀進行線的值。 (3)第一步讀進的列線值與第二步讀進的行線值運算,從而得到代表此鍵的唯一的特征值。 行反轉法因輸入與輸出線反過來用而得名。優(yōu)點是判鍵速度快,兩次即可。 例題例題 請為8051微處理器設計一個
12、由4行4列鍵陣構成的鍵盤。解:解:44矩陣鍵盤的線路連接如下頁圖所示。其中p2口的低4位作為輸出線。p1口的低4位作為輸入線,輸入線通過74ls21進行邏輯相與后作為8051的一個外部中斷源輸入。當有鍵按下時就將引起中斷。中斷服務程序要對所按的鍵進行判別。 (1)查詢閉合鍵的位置子程序查詢閉合鍵的位置子程序keyr keyr子程序用以確定每組線中哪一位為0,是否有多個0。在調用前,應將讀某組線的數據存入累加器a中。 keyr子程序返回時,某組線中0的位置(03)保存在r3中。按鍵閉合引起中斷后,執(zhí)行中斷服務程序。表2-5 工作寄存器組選擇控制表keyr子程序如下:子程序如下: keyr: cj
13、ne 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, testp13 ; 測試p1.2mov r3, #2ljmp finish testp13: cjne a, #0f7h, finish; 測試p1.3mov r3, #3 finish: ret (2)中斷服務程序 中斷服務程序開始部分應利用軟件延時消除鍵抖動,然后再對
14、所按的鍵做出處理。 中斷服務程序如下:中斷服務程序如下: org 1000h int11:lcall delay; 延時去抖動mov a, p1; 讀輸入線anl a, #0fh; 判斷是否有鍵閉合cjne a, #0fh, test; 有鍵閉合,轉判斷按鍵程序reti; 無鍵閉合,返回 test: mov b, a; 暫存lcall keyr; 調用讀取子程序mov 40h, r3; 暫存在40h單元mov p2, #0ffh; 輸出線寫1mov p1, b; 輸入線寫入數據mov a, p2; 讀輸出線lcall keyr; 調用讀取子程序xch a, r3swap aorl 40h, a
15、; 得按鍵特征值reti 中斷程序結束后,鍵的特征值存放在40h單元中。此鍵的輸出線號位于40h單元的高4位,其輸入線號位于低4位。此后,根據40h單元的內容去查表,得到相應鍵的代碼,可進行顯示或其他處理。(3)去抖動的延時子程序delay 利用cpu的空閑方式,通過定時器t1實現延時, t1必須預先置初值,以得到需要的延遲時間。設晶振頻率為6mhz,欲延時20ms,定時時間為: (216tc)6/12=20103s,初值:tc=25536=63c0h。程序如下:程序如下: delay:mov tomd, #11h; 方式1定時mov tl1, #0c0h; 定時器1定時初值mov th1,
16、#63hsetb ea; 開中斷setb et1; 開定時器1中斷setb pt1; 定時器1為高級中斷(因被鍵盤中斷調用)setb tr1; 啟動定時器orl pcon,#1; 啟動空閑方式,實際cpu在此處等待clr tr1 ; 以下四條指令只有在延時后,定時器被喚醒,才能執(zhí)行clr pt1clr et1retend(4)通過串行口擴展鍵盤接口 mcs-51系列單片機的串行口與串/并轉換芯片配合(如串入并出芯片74ls164 )可以擴展鍵盤。例題例題 利用mcs-51的串行口與串/并轉換芯片配合,擴展2行8列的鍵盤接口,鍵號為015。要求給出其硬件連接和鍵盤查詢子程序。解解:串口與串/并轉
17、換芯片配合擴展鍵盤的線路連接如下圖所示。 其中,p1.0和p1.1作為行線。鍵盤的編碼為: p1.0線上的8個鍵分別為00h+(00h07h),p1.1線上的8個鍵分別為08h+(00h07h)。掃描線(00h07h)的具體值存放在r4中。 程序采取查詢方式讀取鍵號,并且考慮了鍵的抖動問題。 dly1是延時子程序。 程序如下:程序如下: org 1000h serkey:mov scon, #00h; 設置串行口 mov a, #00h ; 鍵盤初始化,送00h到列線上 lcall varto ; 發(fā)送數據 chk:jnb p1.0, chk0; 檢查是否有鍵按下 jnb p1.1, chk0
18、; 檢查是否有鍵按下 ajmp chk; 無鍵按下,繼續(xù)查找 chk0:lcall dly1; 調用10ms延時子程序,去抖 jnb p1.0, chen; 確實有鍵按下,轉chen jnb p1.1, chen ajmp chk; 無鍵按下,繼續(xù)查找 chen:mov r2, #0feh; 首列掃描字送r2,查鍵號,最低位為0 mov r4, #00h ; 首列偏移值送r4 chkn:mov a, r2; 發(fā)送列掃描字 lcall varto jb p1.0, ch1; 檢查p1.0有無鍵按下;若無,轉ch1 mov a, #0; 第一行首列值送a,00h+(r4) ajmp ckey; 轉
19、求鍵號 ch1:jb p1.1, next; 檢查p1.1有無鍵按下;若無,轉next mov a, #8h; 第二行首列值送a ckey:add a, r4; 求鍵號,并入棧保護 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中數據 jnb ti, $; 發(fā)送等待 clr ti;
20、清除 ret dly1:; 延時10ms子程序(略) end; 結束6.2 mcs-516.2 mcs-51單片機與顯示器的接口技術單片機與顯示器的接口技術 顯示器用于實現單片機應用系統(tǒng)中的數據輸出和狀態(tài)的反饋。單片機系統(tǒng)中常用的顯示器有發(fā)光二極管、七段數碼顯示器、液晶顯示器等。6.2.1 led6.2.1 led顯示器及其接口顯示器及其接口 發(fā)光二極管簡稱led(light emitting diode)。led顯示器從外觀可分為 “8”字形的七段數碼管、米字形數碼管、點陣塊、矩形平面顯示器、數字筆劃顯示器等。1 1七段七段ledled數碼顯示器數碼顯示器 七段led數碼管顯示器能夠顯示十進
21、制或十六進制數字及某些簡單字符。但控制簡單,使用方便,在單片機系統(tǒng)中應用較多。其結構如下頁圖所示。 上圖中的ag七個筆劃(段)及小數點dp均為發(fā)光二極管。數碼管顯示器根據公共端的連接方式,可以分為共陰極數碼管(將所有發(fā)光二極管的陰極連在一起)和共陽極數碼管(將所有發(fā)光二極管的陽極連在一起)。 單片機系統(tǒng)擴展led數碼管時多用共陽led。共陽數碼管每個段筆畫是用低電平(“0”)點亮的,要求驅動功率很??;而共陰數碼管段筆畫是用高電平(“0”)點亮的,要求驅動功率較大。通常每個段筆畫要串一個數百歐姆的降壓電阻。2 2ledled點陣模塊顯示器點陣模塊顯示器 led點陣模塊顯示器是指由發(fā)光二極管排成一
22、個mn的點陣,每個發(fā)光二極管構成點陣中的一個點。這種顯示器顯示的字形逼真,能顯示的字符比較多,但控制比較復雜。適用于顯示漢字、圖形和表格,廣泛應用于公共場合的信息發(fā)布。 七段led字形碼如下表所示。3. led3. led的驅動接口的驅動接口 led工作時需要一定的工作電流,才能正常發(fā)光。單個led實際上是一個壓降為1.21.5v的發(fā)光二極管,流過led的電流大小決定了它的發(fā)光強度,r為限流電阻。適當減小限流電阻可以增加led的工作電流,使led的顯示效果更好。但工作電流過大,會對驅動器件、led造成損害。通常每個段筆畫要串一個數百歐姆的降壓電阻。下圖為單個led的驅動接口電路。4 4ledl
23、ed數碼管的顯示與驅動數碼管的顯示與驅動 led數碼管顯示器的工作方式:靜態(tài)和動態(tài)兩種顯示方式。(1 1)靜態(tài)顯示方式)靜態(tài)顯示方式 靜態(tài)顯示方式的各數碼管在顯示過程中持續(xù)得到送顯信號,與各數碼管接口的i/o口線是專用的。其特點是顯示穩(wěn)定,無閃爍,用元器件多,占i/o線多,無須掃描。系統(tǒng)運行過程中,在需要更新顯示內容時,cpu才去執(zhí)行顯示更新子程序,節(jié)省cpu時間,提高cpu的工作效率,編程簡單。 例題例題 利用在8051串行口擴展多片串行輸入并行輸出的移位寄存器74ls164作為靜態(tài)顯示器接口的方法,設計3位靜態(tài)顯示器接口,并寫出顯示更新子程序,實現將7fh7dh 3個單元的數值分別顯示在3
24、位led2led0上。解:解:接口電路如圖下圖所示。3個共陽極數碼管的公共端均接vcc,段碼通過串行口,采用串并轉換原理,分別送出3個數碼管的段碼(先送出的段碼字節(jié)在led2數碼管上顯示),圖中的電阻值取100500。程序如下:程序如下: org 1000h dispser:mov r5, #03h; 顯示3個字符 mov r1, #7fh; 7fh7dh存放要顯示的數據 dl0:mov a, r1; 取出要顯示的數據 mov dptr, #stab; 指向段數據表movc a, a+dptr; 查表取字形數據mov sbuf, a; 送出數據,進行顯示jnb t1, $; 輸出完否?clr
25、t1; 輸出完,清中斷標志dec r1; 再取下一個數據djnz r5, dl0; 循環(huán)3次ret; 返回 stab:db 0c0h, 0f9h, 0a4h, 0b0h; 段數據表(共陽極)db end(2 2)動態(tài)顯示方式)動態(tài)顯示方式 動態(tài)顯示方式是指一位一位地輪流點亮每位顯示器,與各數碼管接口的i/o口線是共用的。其特點是有閃爍,用元器件少,占i/o線少,必須掃描,花費cpu時間,編程復雜。 例題例題設計89s51通過74ls273擴展6位七段共陽極led顯示器。 解解:接口電路如下頁圖所示。在程序中通過p0口將相應的字形碼寫入74ls273,p2.0p2.5作為段碼輸出口, p0口的端
26、口地址為00ffh。進行掃描時,p2的低6位依次置1,依次選中了從左至右的顯示器。使用74ls04作為段碼輸出驅動(反相驅動),所以共陰極數碼管在段數據表中的字形碼應與共陽極數碼管的字形碼相同。顯示器就可以顯示出6位字符。 說明說明:1、單片機、單片機wr引腳要與引腳要與273的的clk連接連接 2、273的的clr引腳要與引腳要與vcc連接連接 3、dptr值不一定是值不一定是7fffh,用用ffh可消除閃爍可消除閃爍6.2.2 lcd6.2.2 lcd顯示器及其接口顯示器及其接口 液晶顯示器簡稱lcd(liquid crystal diodes)是利用液晶經過處理后能夠改變光線傳輸方向的特
27、性,達到顯示字符或者圖形的目的。其特點是體積小、重量輕、功耗極低、顯示內容豐富等特點,在單片機應用系統(tǒng)中有著日益廣泛的應用。 1lcd的分類及特點的分類及特點 分類:分類:筆段式和點陣式(可分為字符型和圖像型)。 筆段式lcd顯示器:類似于led數碼管顯示器。每個顯示器的段電極包括a, b, c, d, e, f, g七個筆劃(段)和一個背電極bp(或com)。可以顯示數字和簡單的字符。 點陣式lcd顯示器:段電極與背電極呈正交帶狀分布,液晶位于正交的帶狀電極間。點陣式lcd的控制一般采用行掃描方式,如圖右所示為顯示字符“a”的情況。2 2筆段式筆段式lcdlcd液晶顯示器的驅動液晶顯示器的驅
28、動 在lcd的公共極(一路為背電極)加上恒定的交變方波信號,通過控制段極的電壓變化,在lcd兩極間產生所需的零電壓或二倍幅值的交變電壓,以達到lcd亮、滅的控制。在筆段式lcd的段電極與背電極間施加周期地改變極性的電壓(通常為4 v或5 v),可使該段呈黑色。 3lcd顯示模塊顯示模塊lcm (liquid crystal display module) 在實際應用中,用戶很少直接設計lcd顯示器驅動接口,一般是直接使用專用的lcd顯示驅動器和lcd顯示模塊lcm 。 lcm是把lcd顯示屏、背景光源、線路板和驅動集成電路等部件構造成一個整體,作為一個獨立部件使用。其特點是功能較強、易于控制、
29、接口簡單,在單片機系統(tǒng)中應用較多。其內部結構如下頁圖所示。 lcm一般帶有內部顯示ram和字符發(fā)生器,只要輸入ascii碼就可以進行顯示。 lcd顯示器接口原理 1lcd的基本結構及工作原理圖圖 液晶顯示器基本結構液晶顯示器基本結構液晶字符顯示屏液晶圖形點陣顯示屏 lcd顯示模塊lcm按顯示功能可分為:lcd段式顯示模塊、lcd字符型顯示模塊、lcd圖形顯示模塊三類。 hd44780字符顯示模塊是較常用的lcd顯示模塊,共有14個引腳,其中,8個數據引腳,3個控制引腳,3個電源引腳。每個hd44780可控制的字符可達每行80個,具有驅動1640點陣的能力。具有其自身的11條指令構成的指令系統(tǒng),
30、用戶對模塊寫入適當的控制命令,即可完成清屏、顯示、地址設置等操作。 各引腳功能定義如下表所示。例題例題 設計8051單片機驅動hd44780顯示模塊的接口電路。解解:8051單片機與hd44780顯示模塊的線路連接如下圖所示,8051的p1口與hd44780的數據線相連,hd44780的 端信號由8051的p3.5提供,hd44780的通信允許信號e由8051的p3.3提供,hd44780的寄存器選擇信號rs由8051的p3.4提供。w/r hd44780初始化的方法主要有以下兩種:(1)利用模塊內部的復位電路進行初始化,完成清除顯示、功能設置、開/關顯示、設置光標狀態(tài)及閃爍功能、方式設置。(
31、2)利用軟件編程實現初始化。1602液晶顯示模塊接線圖(16字符2行)6.3 利用利用mcs-51的串行口實現鍵盤和顯示器接口的串行口實現鍵盤和顯示器接口1 1接口電路接口電路 應用mcs-51單片機的串行口方式0的輸出方式,在串行口外接移位寄存器74ls164,構成鍵盤和顯示器接口,其硬件接口如下頁圖所示(圖中只畫出三位led靜態(tài)顯示和16個按鍵,用戶根據需要可以擴展)。采用靜態(tài)顯示,軟件設計比較簡單,節(jié)約cpu的資源。 2 2軟件設計軟件設計顯示子程序如下:顯示子程序如下: org 1000h dspser:setb p3.3; 開放顯示輸出mov r7, #03h; 送出的顯示段碼個數m
32、ov r0, #7fh; 7fh7dh為顯示緩沖區(qū) dsps1:mov a, r0; 取出要顯示的數據add a, #0dh; 加上偏移量movc a, a+pc; 查段碼表tab1mov sbuf, a; 經過串行口將段碼送出 dsps2:jnb ti, dsps2; 數據發(fā)送完?clr tidec r0; 指向下一個數據單元djnz r7, dsps1; 三個顯示器是否全部顯示?clr p3.3; 三個數據顯示完,關閉送顯示數據通道ret tab1: db; 段碼表鍵盤掃描子程序如下:鍵盤掃描子程序如下: keys1:mov a,#00hmov sbuf, a; 掃描鍵盤全部輸出0 ksy
33、0:jnb ti, ksy0; 數據發(fā)送完?clr ti ksy1:jnb p3.4, pks1; 有鍵閉合嗎?有則轉pks1處理jb p3.5, ksy1; 第二行有鍵閉合嗎? pks1:acall delay10; 調用延時10ms子程序,鍵盤去抖jnb p3.4, pks2; 有鍵閉合嗎?jb p3.5, ksy1; 無鍵閉合,是抖動 pks2:mov r7, #08h; 不是抖動引起的 mov r6, #0feh ; 判斷是哪個鍵按下? mov r3, #00hmov a, r6 ksy2:mov sbuf, a ksy3:jnb ti, ksy3; 等待串行口發(fā)送完clr tijnb
34、 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 p3.4, ksy5; 是第一行的某鍵按下?jnb p3.5, ksy5mov a, r4add a, r3ret next:mov a, r6; 判斷下一列是否有鍵按下rl amov r6, ainc r3djnz r7, ksy2; 8列是否全部掃描完?
35、ajmp keys1; 掃描完成 delay10: ; 延時10ms子程序ret end6.3.3 6.3.3 利用專用芯片實現鍵盤和顯示器接口利用專用芯片實現鍵盤和顯示器接口 鍵盤的處理和顯示的處理可由專用芯片完成,鍵盤和顯示器管理專用芯片種類較多,常用的鍵盤和顯示器管理專用芯片有intel公司的8279芯片,可實現64個按鍵、 16位led顯示器的管理。 在由單片機組成的控制系統(tǒng)中,大多數外圍電路是處于各種各樣的復雜環(huán)境中,如控制對象可能處于大電流、高電壓的情況??刂频膱?zhí)行機構可能是電動機、繼電器或電磁鐵等大功率機構。因此,單片機不可能和這些外部機構直接連接。通常必須采取兩個基本措施:一是
36、采用隔離的方法把單片機的工作環(huán)境與外電路隔離開來;另一種是采用電流接續(xù)的辦法擴大輸出電流的能力,以驅動各種外電路。6.4.1 6.4.1 擴大驅動電流的方法擴大驅動電流的方法1 1、采用晶體三極管擴大輸出電流、采用晶體三極管擴大輸出電流2 2、采用帶驅動電路的邏輯門擴大驅動電流、采用帶驅動電路的邏輯門擴大驅動電流3 3、采用達林頓管作驅動器擴大驅動電流、采用達林頓管作驅動器擴大驅動電流 下面分別給出具體電路圖下面分別給出具體電路圖6.4 mcs-516.4 mcs-51單片機功率驅動接口技術單片機功率驅動接口技術1、三極管三極管的概述半導體三極管也稱為晶體三極管,可以說它是電子電路中最重要的器
37、件。它最主要的功能是電流 放大和開關作用。 三極管顧名思義具有三個電極。二極管是由一個pn結構成的,而三極管由兩個pn結構成,共用的一個電極成為三極管的基極(用字母b表示)。其他的兩個電極成為集電極(用字母c表示)和發(fā)射極(用字母e表示)。由于不同的組合方式,形成了一種是npn型的三極管,另一種是pnp型的三極管。三極管 的種類很多,并且不同型號各有不同的用途。三極管大都是塑料封裝或金屬封裝,常見三極管的外觀如圖,大的很大,小的很小。三極管的電路符號有兩種:有一個箭頭的電極是發(fā)射極,箭頭朝外的是npn型三極管,而箭頭朝內的是pnp型。實際上箭頭所指的方向是電流的方向。 電子制作中常用的三極管有
38、9 0 系列,包括低頻小功率硅管9013(npn)、9012(pnp),低噪聲管9014(npn),高頻小功率管9018(npn)等。它們的型號一般都標在塑殼上,而樣子都一樣,都是to-92標準封裝。半導體三極管的管腳判別半導體三極管的管腳判別 在安裝半導體三極管之前,首先搞清楚三極管的管腳排列。一方面可以通過查手冊獲得,另一方面也可利用電子儀器進行測量,下面講一下利用萬用表判定三極管管腳的方法。首先判定pnp型和npn型晶體管:用萬用表的r1kw(或r100w)檔,用黑表筆接三極管的任一管腳,用紅表筆分別接其他兩管腳。若表針指示的兩阻值均很大,那么黑表筆所接的那個管腳是pnp型管的基極;如果
39、萬用表指示的兩個阻值均很小,那么黑表筆所接的管腳是npn型的基極;如果表針指示的阻值一個很大,一個很小,那么黑表筆所接的管腳不是基極。需要新?lián)Q一個管腳重試,直到滿足要求為止。進一步判定三極管集電極和發(fā)射極:首先假定一個管腳是集電極,另一個管腳是發(fā)射極;對npn于型三極管,黑表筆接假定是集電極的管腳,紅表筆接假定是發(fā)射極的管腳(對于pnp型管,萬用表的紅、黑表筆對調);然后用大拇指將基極和假定集電極連接(注意兩管腳不能短接),這時記錄下萬用表的測量值;最后反過來,把原先假定的管腳對調,重新記錄下萬用表的讀數,兩次測量值較小的黑表筆所接的管腳是集電極(對于pnp 型管,則紅表筆所接的是集電極)。2
40、、邏輯門3、達林頓管uln2003內部邏輯電路圖例題:設計使單片機唱歌的程序;在接在單片機的p2.0上的小喇叭唱八月桂花香實驗 ;執(zhí)行結果:程序運行后在在單片機的p2.0上的小喇叭唱八月桂花香;本實驗源程序如下:;*;* date : 2004.4.20 -*;* support mbe-mail: -*;* create by :dengdewu http:/ 更多例程請登陸網站-*;* 網站單片機學習資料同步更新,敬請新老朋友隨時關注 -*;* org 0000h ljmp start org 000bh ;中斷入口 inc 20h ;中斷服務程序,中斷計數器加
41、1 mov th0,#0d8h mov tl0,#0efh ;12m晶振,形成10毫秒中斷 retistart: mov sp,#50h mov th0,#0d8h mov tl0,#0efh mov tmod,#01h ;設定定時器工作方式 mov ie,#82hmusic0: nop mov dptr,#dat ;表頭地址送dptr mov 20h,#00h ;中斷計數器清0 mov b,#00h ;表序號清0music1: nop clr a movc a,a+dptr ;查表取代碼 jz end0 ;是00h,則結束 cjne a,#0ffh,music5 ljmp music3mus
42、ic5: nop mov r6,a inc dptr mov a,b movc a,a+dptr ;取節(jié)拍代碼送r7 mov r7,a setb tr0 ;啟動計數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 ;中斷計數器(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 ;歌曲結束,延時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: ;數據表格存放在rom中。db 18h, 30h, 1ch, 10h,20h, 40h, 1ch,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 出口寵物食品合同范本
- 倉庫租賃 配送合同范本
- 主力商家合同范本
- 2025年超大型特厚板軋機項目建議書
- 第六課 友誼之樹常青 教學設計-2024-2025學年統(tǒng)編版道德與法治七年級上冊
- 包裝買賣合同范本
- 北京合伙合同范本咨詢
- 《認識面積》(教學設計)-2023-2024學年三年級下冊數學人教版
- 信用擔保借款合同范本你
- 制造珠寶生產訂單合同范本
- TPU材料項目可行性研究報告寫作參考范文
- 第二編 債權總論
- 試用期考核合格證明表
- 常見八種疾病
- 膠粘劑基礎知識及產品詳解(課堂PPT)
- 完整版三措兩案范文
- 鐵路總公司近期處理的七起突出質量問題的通報
- 常用洪水預報模型介紹
- 援外項目鋼結構運輸包裝作業(yè)指導書(共13頁)
- 髖關節(jié)置換術男性患者留置尿管最佳時機探析和對策
- [爆笑小品校園劇本7人]爆笑小品校園劇本
評論
0/150
提交評論