版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第第3 3章章 智能儀器人機接口智能儀器人機接口 3.1 鍵盤與接口鍵盤與接口 3.2 led顯示及接口顯示及接口 3.3 鍵盤鍵盤/led顯示器接口設(shè)計顯示器接口設(shè)計 3.4 crt顯示及接口顯示及接口 3.5 微型打印機及接口微型打印機及接口 第第3 3章章 智能儀器人機接口智能儀器人機接口 人機交互功能即用戶與儀器交換信息的功能。人機交互功能即用戶與儀器交換信息的功能。 這個功能有兩方面的含義:一是用戶對智能儀這個功能有兩方面的含義:一是用戶對智能儀 器進行狀態(tài)干預(yù)和數(shù)據(jù)輸入;二是智能儀器向用戶報器進行狀態(tài)干預(yù)和數(shù)據(jù)輸入;二是智能儀器向用戶報 告運行狀態(tài)與處理結(jié)果。告運行狀態(tài)與處理結(jié)果。
2、 實現(xiàn)智能儀器人實現(xiàn)智能儀器人機交互功能的部件有鍵盤、機交互功能的部件有鍵盤、 顯示器和打印機等,這些部件同智能儀器主體電路的顯示器和打印機等,這些部件同智能儀器主體電路的 連接是由人機接口電路來完成的連接是由人機接口電路來完成的. 人機接口技術(shù)是智能儀器設(shè)計的關(guān)鍵技術(shù)之一。人機接口技術(shù)是智能儀器設(shè)計的關(guān)鍵技術(shù)之一。 3.1 鍵盤與接口鍵盤與接口 含硬件與軟件兩部分。硬件指鍵盤的組織,即鍵盤結(jié)構(gòu)及含硬件與軟件兩部分。硬件指鍵盤的組織,即鍵盤結(jié)構(gòu)及 其與主機的連接方式;軟件是指對按鍵操作的識別與分析,稱其與主機的連接方式;軟件是指對按鍵操作的識別與分析,稱 為鍵盤管理程序。為鍵盤管理程序。 鍵盤
3、與接口的任務(wù)大體可分為下列幾項:鍵盤與接口的任務(wù)大體可分為下列幾項: (1) 識鍵:識鍵: 判斷是否有鍵按下。若有,則進行譯碼;若無,判斷是否有鍵按下。若有,則進行譯碼;若無, 則等待或轉(zhuǎn)做別的工作。則等待或轉(zhuǎn)做別的工作。 (2) 譯鍵:譯鍵: 識別出哪一個鍵被按下并求出被按下鍵的鍵值。識別出哪一個鍵被按下并求出被按下鍵的鍵值。 (3) 鍵值分析:鍵值分析: 根據(jù)鍵值,找出對應(yīng)處理程序的入口并執(zhí)根據(jù)鍵值,找出對應(yīng)處理程序的入口并執(zhí) 行之。行之。 本節(jié)側(cè)重討論本節(jié)側(cè)重討論 (1)和和(2)兩項工作,兩項工作, 下一節(jié)側(cè)重討論鍵值分下一節(jié)側(cè)重討論鍵值分 析方法。析方法。 (1)和和(2)兩項工作通
4、常合稱為掃描。兩項工作通常合稱為掃描。 3.1 鍵盤與接口鍵盤與接口 3.1.1 鍵盤輸入基礎(chǔ)知識鍵盤輸入基礎(chǔ)知識 一、一、 鍵盤的組織鍵盤的組織 鍵盤按其工作原理可分為編碼式鍵盤和非編碼式鍵盤。鍵盤按其工作原理可分為編碼式鍵盤和非編碼式鍵盤。 編碼式鍵盤由按鍵鍵盤和專用鍵盤編碼器兩部分構(gòu)成。當(dāng)鍵編碼式鍵盤由按鍵鍵盤和專用鍵盤編碼器兩部分構(gòu)成。當(dāng)鍵 盤中某一按鍵被按下時,鍵盤編碼器會自動產(chǎn)生對應(yīng)的按鍵代盤中某一按鍵被按下時,鍵盤編碼器會自動產(chǎn)生對應(yīng)的按鍵代 碼,碼, 并輸出選通脈沖信號與并輸出選通脈沖信號與cpu 進行信息聯(lián)絡(luò)。進行信息聯(lián)絡(luò)。 非編碼鍵盤不含編碼器,當(dāng)某鍵按下時,鍵盤只送出一個
5、簡非編碼鍵盤不含編碼器,當(dāng)某鍵按下時,鍵盤只送出一個簡 單的閉合信號,單的閉合信號, 對應(yīng)按鍵代碼的確定必須借助于軟件來完成。對應(yīng)按鍵代碼的確定必須借助于軟件來完成。 顯然,非編碼鍵盤的軟件是比較復(fù)雜的,并且要占用較多的顯然,非編碼鍵盤的軟件是比較復(fù)雜的,并且要占用較多的 cpu時間。但非編碼鍵盤可以任意組合、成本低、使用靈活,時間。但非編碼鍵盤可以任意組合、成本低、使用靈活, 因而智能儀器大多采用非編碼式鍵盤。因而智能儀器大多采用非編碼式鍵盤。 3.1.1 鍵盤輸入基礎(chǔ)知識鍵盤輸入基礎(chǔ)知識 一、一、 鍵盤的組織鍵盤的組織 非編碼鍵盤有獨立式鍵盤、矩陣式鍵盤和交互式鍵盤之分。非編碼鍵盤有獨立式
6、鍵盤、矩陣式鍵盤和交互式鍵盤之分。 獨立式鍵盤結(jié)構(gòu)的特點是一鍵一線,即每一個按鍵單獨占用獨立式鍵盤結(jié)構(gòu)的特點是一鍵一線,即每一個按鍵單獨占用 一根檢測線與主機相連,一根檢測線與主機相連, 矩陣式鍵盤結(jié)構(gòu)的特點是把檢測線分成兩組,一組為行線,矩陣式鍵盤結(jié)構(gòu)的特點是把檢測線分成兩組,一組為行線, 另一組為列線,按鍵放在行線和列線的交叉點上。另一組為列線,按鍵放在行線和列線的交叉點上。mn矩陣鍵矩陣鍵 盤與主機連接只需要盤與主機連接只需要m+n條線,顯然,當(dāng)需要的按鍵數(shù)目大于條線,顯然,當(dāng)需要的按鍵數(shù)目大于8 時,一般都采用矩陣式鍵盤。時,一般都采用矩陣式鍵盤。 交互式鍵盤結(jié)構(gòu)的特點是,任意兩檢測線
7、之間均可以放置一交互式鍵盤結(jié)構(gòu)的特點是,任意兩檢測線之間均可以放置一 個按鍵。很顯然,交互式鍵盤結(jié)構(gòu)所占用的檢測線比矩陣式還個按鍵。很顯然,交互式鍵盤結(jié)構(gòu)所占用的檢測線比矩陣式還 要少,但是這種鍵盤所使用的檢測線必須是具有位控功能的雙要少,但是這種鍵盤所使用的檢測線必須是具有位控功能的雙 向向i/o端口線。端口線。 3.1.1 鍵盤輸入基礎(chǔ)知識鍵盤輸入基礎(chǔ)知識 一、一、 鍵盤的組織鍵盤的組織 編程掃描工作方式、中斷工作方式和定時掃描工作方式。編程掃描工作方式、中斷工作方式和定時掃描工作方式。 (1) 編程掃描工作方式:也稱查詢方式。編程掃描工作方式:也稱查詢方式。 (2) 中斷工作方式:中斷工
8、作方式: (3) 定時掃描工作方式:定時掃描工作方式: 二、二、 鍵盤的工作方式鍵盤的工作方式 二、二、 鍵盤的工作方式鍵盤的工作方式 (1) 編程掃描工作方式:編程掃描工作方式: 該方式也稱查詢方式,它是利用該方式也稱查詢方式,它是利用 cpu在完成其他工作的空余調(diào)用鍵盤掃描程序,以響應(yīng)鍵輸入在完成其他工作的空余調(diào)用鍵盤掃描程序,以響應(yīng)鍵輸入 的要求。當(dāng)?shù)囊蟆.?dāng)cpu在運行其他程序時,它就不會再響應(yīng)鍵輸入要在運行其他程序時,它就不會再響應(yīng)鍵輸入要 求,因此,采用該方式編程時,求,因此,采用該方式編程時, 應(yīng)考慮程序是否能對用戶的每應(yīng)考慮程序是否能對用戶的每 次按鍵都會做出及時的響應(yīng)。次按鍵
9、都會做出及時的響應(yīng)。 (2) 中斷工作方式:中斷工作方式: 當(dāng)鍵盤中有按鍵按下時,硬件會產(chǎn)生當(dāng)鍵盤中有按鍵按下時,硬件會產(chǎn)生 中斷申請信號,中斷申請信號,cpu響應(yīng)中斷申請后對鍵盤進行掃描,并轉(zhuǎn)入響應(yīng)中斷申請后對鍵盤進行掃描,并轉(zhuǎn)入 與按下鍵相應(yīng)的鍵功能處理程序。優(yōu)點:由于在無鍵按下時不與按下鍵相應(yīng)的鍵功能處理程序。優(yōu)點:由于在無鍵按下時不 進行鍵掃描,進行鍵掃描,cpu工作效率高,并能確保對用戶的每次按鍵操工作效率高,并能確保對用戶的每次按鍵操 作做出迅速的響應(yīng)。作做出迅速的響應(yīng)。 (3) 定時掃描工作方式:定時掃描工作方式: 利用專門定時器產(chǎn)生定時中斷申利用專門定時器產(chǎn)生定時中斷申 請信號
10、。由于每次按鍵的持續(xù)時間一般不小于請信號。由于每次按鍵的持續(xù)時間一般不小于100ms,為了不,為了不 漏檢,定時中斷的周期一般應(yīng)小于漏檢,定時中斷的周期一般應(yīng)小于100ms 。 三、三、 鍵抖動及消除鍵抖動及消除 當(dāng)按鍵被按下或釋放時,按鍵觸點的彈性會產(chǎn)生一種抖動當(dāng)按鍵被按下或釋放時,按鍵觸點的彈性會產(chǎn)生一種抖動 現(xiàn)象。即當(dāng)按鍵按下時,觸點不會迅速可靠地接通;當(dāng)按鍵釋現(xiàn)象。即當(dāng)按鍵按下時,觸點不會迅速可靠地接通;當(dāng)按鍵釋 放時,觸點也不會立即斷開,而是要經(jīng)過一段時間的抖動才能放時,觸點也不會立即斷開,而是要經(jīng)過一段時間的抖動才能 穩(wěn)定下來。抖動時間視按鍵材料不同一般為穩(wěn)定下來。抖動時間視按鍵材
11、料不同一般為5ms10ms。 鍵抖動可能導(dǎo)致計算機將一次按鍵操作識別為多次操作,為鍵抖動可能導(dǎo)致計算機將一次按鍵操作識別為多次操作,為 克服這種由鍵抖動所致的誤判,常采用如下措施:克服這種由鍵抖動所致的誤判,常采用如下措施: (1) 硬件電路消除法:利用硬件電路消除法:利用rs觸發(fā)器來吸收按鍵的抖動如圖觸發(fā)器來吸收按鍵的抖動如圖 所示。一旦有按鍵按下時,觸發(fā)器就立即翻轉(zhuǎn),觸點的抖動便所示。一旦有按鍵按下時,觸發(fā)器就立即翻轉(zhuǎn),觸點的抖動便 不會再對輸出產(chǎn)生影響,按鍵釋放時亦然。不會再對輸出產(chǎn)生影響,按鍵釋放時亦然。 (2) 軟件延時法:當(dāng)判定按鍵按下時,用軟件延時軟件延時法:當(dāng)判定按鍵按下時,用
12、軟件延時10ms 20ms,等待按鍵穩(wěn)定后重新再判一次,以躲過觸點抖動期。,等待按鍵穩(wěn)定后重新再判一次,以躲過觸點抖動期。 四、四、 鍵連擊的處理鍵連擊的處理 當(dāng)按下某按鍵時,對應(yīng)的功能分析程序會得以執(zhí)行。如果當(dāng)按下某按鍵時,對應(yīng)的功能分析程序會得以執(zhí)行。如果 在操作者釋放按鍵之前,對應(yīng)的功能得以多次執(zhí)行,如同操作在操作者釋放按鍵之前,對應(yīng)的功能得以多次執(zhí)行,如同操作 者在連續(xù)不斷操作該鍵一樣,這種現(xiàn)象就稱為連擊。者在連續(xù)不斷操作該鍵一樣,這種現(xiàn)象就稱為連擊。 連擊現(xiàn)象可用圖(a)所示流 程圖的軟件方法來解決, 把連擊現(xiàn)象加以合理利用, 有時會給操作者帶來方便。例 如在某些簡易儀器沒安排09
13、數(shù)字按鍵,而合理利用連擊現(xiàn) 象,只設(shè)置一只調(diào)整按鍵,采 用加1(或減1 )的方法來調(diào)整 有關(guān)參數(shù)。具體實現(xiàn)軟件流程 圖如圖(b)所示, 五、五、 無鎖鍵、自鎖鍵及互鎖鍵無鎖鍵、自鎖鍵及互鎖鍵 無鎖鍵即按鍵。當(dāng)鍵按下時,按鍵的兩個觸頭接通;松開無鎖鍵即按鍵。當(dāng)鍵按下時,按鍵的兩個觸頭接通;松開 時,兩個觸頭斷開,恢復(fù)開路。無鎖鍵在邏輯上等效于單穩(wěn)態(tài)。時,兩個觸頭斷開,恢復(fù)開路。無鎖鍵在邏輯上等效于單穩(wěn)態(tài)。 自鎖鍵在邏輯上等效于雙穩(wěn)態(tài)。當(dāng)?shù)谝淮伟聪聲r自鎖鍵在邏輯上等效于雙穩(wěn)態(tài)。當(dāng)?shù)谝淮伟聪聲r(包括松開包括松開 后后),其按鍵兩個觸頭接通;第二次按下及松開后,兩個觸頭又,其按鍵兩個觸頭接通;第二次按
14、下及松開后,兩個觸頭又 斷開,不斷地按此規(guī)律動作。自鎖鍵常用在儀器二選一選擇開斷開,不斷地按此規(guī)律動作。自鎖鍵常用在儀器二選一選擇開 關(guān)等場合,例如,交關(guān)等場合,例如,交/直流耦合選擇等。直流耦合選擇等。 互鎖鍵是指一組具有互鎖關(guān)系的按鍵開關(guān)。當(dāng)這一組按鍵互鎖鍵是指一組具有互鎖關(guān)系的按鍵開關(guān)。當(dāng)這一組按鍵 開關(guān)之一被選擇時開關(guān)之一被選擇時(即對應(yīng)的開關(guān)接通即對應(yīng)的開關(guān)接通),與該鍵有互鎖關(guān)系的其,與該鍵有互鎖關(guān)系的其 他鍵都將斷開?;蛘哒f,具有互鎖關(guān)系的這組按鍵,某時刻最他鍵都將斷開。或者說,具有互鎖關(guān)系的這組按鍵,某時刻最 多只能有一個鍵被選擇?;ユi鍵在儀器中的應(yīng)用場合也較多,多只能有一個鍵
15、被選擇?;ユi鍵在儀器中的應(yīng)用場合也較多, 例如,某儀器具有例如,某儀器具有5擋量程,則對應(yīng)這擋量程,則對應(yīng)這5擋量程的按鍵開關(guān)必須擋量程的按鍵開關(guān)必須 是互鎖鍵,因為儀器在某一時刻只允許選擇一擋量程。是互鎖鍵,因為儀器在某一時刻只允許選擇一擋量程。 電子儀器需要用到無鎖鍵、自鎖鍵、互鎖鍵等按鍵類型電子儀器需要用到無鎖鍵、自鎖鍵、互鎖鍵等按鍵類型 五、五、 無鎖鍵、自鎖鍵及互鎖鍵無鎖鍵、自鎖鍵及互鎖鍵 傳統(tǒng)儀器中,無鎖、自鎖及互鎖的功能都是通過采用不同傳統(tǒng)儀器中,無鎖、自鎖及互鎖的功能都是通過采用不同 機械結(jié)構(gòu)的無鎖鍵、自鎖鍵及互鎖鍵來實現(xiàn)的。機械結(jié)構(gòu)的無鎖鍵、自鎖鍵及互鎖鍵來實現(xiàn)的。 智能儀器
16、中,儀器面板上的按鍵開關(guān)一般只使用機械結(jié)構(gòu)智能儀器中,儀器面板上的按鍵開關(guān)一般只使用機械結(jié)構(gòu) 最簡單的無鎖鍵,即通常所說的常態(tài)為開路的按鍵開關(guān)。最簡單的無鎖鍵,即通常所說的常態(tài)為開路的按鍵開關(guān)。 智能儀器自鎖及互鎖的開關(guān)功能需要借助軟件設(shè)置特定的智能儀器自鎖及互鎖的開關(guān)功能需要借助軟件設(shè)置特定的 標志位等辦法,使無鎖鍵也具有自鎖及互鎖的功能。標志位等辦法,使無鎖鍵也具有自鎖及互鎖的功能。 通過軟件使無鎖鍵也具有自鎖及互鎖功能的方法將結(jié)合具通過軟件使無鎖鍵也具有自鎖及互鎖功能的方法將結(jié)合具 體儀器討論。體儀器討論。 3.1.2 鍵盤接口電路及控制程序鍵盤接口電路及控制程序 一、一、 獨立式鍵盤接
17、口電路及程序設(shè)計獨立式鍵盤接口電路及程序設(shè)計 非編碼鍵盤按照與主機連接方式的不同,有非編碼鍵盤按照與主機連接方式的不同,有 獨立式、矩陣式和交互式之分。本節(jié)將對其接口獨立式、矩陣式和交互式之分。本節(jié)將對其接口 電路及程序設(shè)計分別予以討論。電路及程序設(shè)計分別予以討論。 二、二、 矩陣式鍵盤接口電路及程序矩陣式鍵盤接口電路及程序 三、三、 交互式鍵盤接口電路及編程方法交互式鍵盤接口電路及編程方法 一、一、 獨立式鍵盤接口電路及程序設(shè)計獨立式鍵盤接口電路及程序設(shè)計 獨立式鍵盤的每個按鍵占用一根測試線,它們可以直接與獨立式鍵盤的每個按鍵占用一根測試線,它們可以直接與 單片機單片機io 線相接或通過輸入
18、口與數(shù)據(jù)線相接,結(jié)構(gòu)很簡單。線相接或通過輸入口與數(shù)據(jù)線相接,結(jié)構(gòu)很簡單。 這些測試線相互獨立無編碼關(guān)系,因而鍵盤軟件不存在譯碼問這些測試線相互獨立無編碼關(guān)系,因而鍵盤軟件不存在譯碼問 題,一旦檢測到某測試線上有鍵閉合,便可直接轉(zhuǎn)入到相應(yīng)的題,一旦檢測到某測試線上有鍵閉合,便可直接轉(zhuǎn)入到相應(yīng)的 鍵功能處理程序進行處理。鍵功能處理程序進行處理。 一個實際三個按一個實際三個按 鍵的獨立式鍵盤接口鍵的獨立式鍵盤接口 電路如右圖所示:電路如右圖所示: 一、一、 獨立式鍵盤接口電路及程序設(shè)計獨立式鍵盤接口電路及程序設(shè)計 首先判斷有無鍵按下; 若檢測到有鍵按下,延時10ms避開抖動的影響,查詢是哪 一鍵被按
19、下并執(zhí)行相關(guān)的操作。 然后再用軟件查詢等待按鍵的釋放,當(dāng)判明鍵釋放后,用 軟件延時10ms后再返回。 第二次延時的作用是: 一方面避開按鍵釋放時觸點 抖動的影響;另一方面也具 有防連擊的功能。 該軟件對兩個以上的鍵 被同時按下(串鍵)具有判低 序號按鍵有效的功能。 獨立式鍵盤接口獨立式鍵盤接口 軟件流程圖軟件流程圖 上例cpu經(jīng)常處于空掃描狀態(tài)。為進一步提高cpu效率,可 采用中斷工作方式,即只有當(dāng)鍵盤中有鍵被按下時,才執(zhí)行掃描 工作。下圖為采用中斷方式處理只按鍵的接口電路圖 一、一、 獨立式鍵盤接口電路及程序設(shè)計獨立式鍵盤接口電路及程序設(shè)計 當(dāng)無鍵按下時,條測試線均為高電平,經(jīng)與非門及反相器
20、 后仍為高電平,不會產(chǎn)生中斷。當(dāng)其中任一鍵按下時,int0變?yōu)榈?電平,向8031申請中斷。8031響應(yīng)后便進入中斷服務(wù)程序, 然后 用掃描方法尋找到申請中斷的功能鍵并執(zhí)行相應(yīng)功能處理程序。 一、一、 獨立式鍵盤接口電路及程序設(shè)計獨立式鍵盤接口電路及程序設(shè)計 org 0000h ajmp main ; 上電后轉(zhuǎn)主程序上電后轉(zhuǎn)主程序 org 0003h ; 外部中斷外部中斷0入口入口 ajmp keyjmp ; 指向中斷服務(wù)程序指向中斷服務(wù)程序 org 0100h main: setb it0 ; 選擇邊沿觸發(fā)方式選擇邊沿觸發(fā)方式 setb ex0 ; 允許外部中斷允許外部中斷0 setb ea
21、 ; 允許允許cpu中斷中斷 mov dptr,#ef00h ; 送送8155命令口地址命令口地址 mov a, #02h movx dptr, a ; 控制字寫入控制字寫入 here: ajmp here ; 模擬主程序模擬主程序 當(dāng)其中任一鍵按下時,當(dāng)其中任一鍵按下時,int0變?yōu)榈碗娖?,向變?yōu)榈碗娖剑?031申請中斷。申請中斷。8031響應(yīng)后響應(yīng)后 便進入中斷服務(wù)程序,便進入中斷服務(wù)程序, 用掃描的方法尋找到申請中斷的功能鍵并執(zhí)行相應(yīng)鍵用掃描的方法尋找到申請中斷的功能鍵并執(zhí)行相應(yīng)鍵 功能處理程序。功能處理程序。 能完成上述工作的程序清單如下:能完成上述工作的程序清單如下: org 01
22、20h ; 中斷服務(wù)程序中斷服務(wù)程序 keyjmp:mov r3, #08h ; 設(shè)循環(huán)次數(shù)設(shè)循環(huán)次數(shù) mov dptr,#0ef01h ; 送送a口地址口地址 mov r4, #00h ; 計數(shù)器清零計數(shù)器清零 movx a, dptr ; 讀入按鍵狀態(tài)讀入按鍵狀態(tài) keyad1:rrc a ; 狀態(tài)字右移一位狀態(tài)字右移一位 jnc keyad2 ; c=0,轉(zhuǎn),轉(zhuǎn)keyad2 inc r4 ; 計數(shù)器加計數(shù)器加1 djnz r3, keyad1 keyret:reti keyad2:mov dptr, #jmptbl mov a, r4 rl a jmp a+dptr ; 轉(zhuǎn)相應(yīng)功能處理轉(zhuǎn)
23、相應(yīng)功能處理 jmptbl:ajmp sb0 ; 入口地址表入口地址表 ajmp sb1 ajmp sb2 ajmp sb3 ajmp sb4 ajmp sb5 ajmp sb6 ajmp sb7 sb0: ;s0鍵功能程序鍵功能程序 jmp keyret ;s0鍵執(zhí)行完返回鍵執(zhí)行完返回 sb1: ;s1鍵功能程序鍵功能程序 jmp keyret sb7: ;s7鍵功能程序鍵功能程序 jmp keyret 二、二、 矩陣式鍵盤接口電路及程序矩陣式鍵盤接口電路及程序 當(dāng)采用矩陣式鍵盤時,為了編程方便,應(yīng)將矩陣鍵盤中當(dāng)采用矩陣式鍵盤時,為了編程方便,應(yīng)將矩陣鍵盤中 的每一個按鍵按一定的順序編號,這
24、種按順序排列的編號叫的每一個按鍵按一定的順序編號,這種按順序排列的編號叫 順序碼,也稱鍵值。順序碼,也稱鍵值。 為了求得矩陣式鍵盤中被按下鍵的鍵值,常用的方法有為了求得矩陣式鍵盤中被按下鍵的鍵值,常用的方法有 行掃描法和線路反轉(zhuǎn)法。線路反轉(zhuǎn)法識別鍵值的速度較快,行掃描法和線路反轉(zhuǎn)法。線路反轉(zhuǎn)法識別鍵值的速度較快, 但必須借助于可編程的通用接口芯片。但必須借助于可編程的通用接口芯片。 本節(jié)介紹兩種鍵盤接口電路及控制軟件,本節(jié)介紹兩種鍵盤接口電路及控制軟件, 一種是采用編程掃描工作方式的行掃描法來識別鍵值,一種是采用編程掃描工作方式的行掃描法來識別鍵值, 另一種是采用中斷工作方式的線路反轉(zhuǎn)法來識別
25、鍵值。另一種是采用中斷工作方式的線路反轉(zhuǎn)法來識別鍵值。 二、矩陣式鍵盤接口電路及程序二、矩陣式鍵盤接口電路及程序 1. 行掃描法行掃描法 該圖為該圖為48矩陣鍵盤與單片機接口電路。矩陣鍵盤與單片機接口電路。8155的端口的端口c 工作于工作于 輸出方式,用于行掃描。端口輸出方式,用于行掃描。端口a工作于輸入方式,用來讀入列值。工作于輸入方式,用來讀入列值。 由圖可知,由圖可知,8155的命令的命令/ 狀態(tài)寄存器、端口狀態(tài)寄存器、端口a、端口、端口b和端口和端口c的地的地 址分別為址分別為0100h、0101h、0102h和和0103h。 采用編程掃描工作方式的行掃描法步驟如下:采用編程掃描工作
26、方式的行掃描法步驟如下: (1) 判是否有鍵按下。使端口判是否有鍵按下。使端口 c所有的行輸出均為低電平,然所有的行輸出均為低電平,然 后從端口后從端口a讀入列值。如果沒有鍵按下,讀入值應(yīng)為讀入列值。如果沒有鍵按下,讀入值應(yīng)為ffh,如果,如果 有鍵按下,則不為有鍵按下,則不為ffh。 (2) 若有鍵按下,則延時若有鍵按下,則延時10ms,再判斷是否確實有鍵按下。,再判斷是否確實有鍵按下。 (3) 若確實有鍵按下,則求出按下鍵的鍵值。其實現(xiàn)方法是對若確實有鍵按下,則求出按下鍵的鍵值。其實現(xiàn)方法是對 鍵盤進行逐行掃描。即先令鍵盤進行逐行掃描。即先令pc0為為0,讀入列值,若列值等于,讀入列值,若
27、列值等于ffh, 說明該行無鍵按下,再令說明該行無鍵按下,再令pc1為為0,對下一行進行掃描;若列值不,對下一行進行掃描;若列值不 等于等于ffh,說明該行有鍵按下,求出其鍵值。,說明該行有鍵按下,求出其鍵值。 求鍵值時要設(shè)置行值寄存器和列值寄存器。每掃完一行,若無求鍵值時要設(shè)置行值寄存器和列值寄存器。每掃完一行,若無 鍵按下,則行值寄存器加上鍵按下,則行值寄存器加上08h;若有鍵按下,行值寄存器保持;若有鍵按下,行值寄存器保持 原值,轉(zhuǎn)而求相應(yīng)的列值。求列值的方法是,將列值右移,每移原值,轉(zhuǎn)而求相應(yīng)的列值。求列值的方法是,將列值右移,每移 位一次列值寄存器加位一次列值寄存器加1,直至移出位為
28、低電平為止。最后將行值,直至移出位為低電平為止。最后將行值 和列值相加即得鍵值。若需要十進制鍵值,可進行和列值相加即得鍵值。若需要十進制鍵值,可進行daa修正。修正。 (4) 為保證按鍵每閉合一次為保證按鍵每閉合一次cpu只做一次處理,程序需等閉合只做一次處理,程序需等閉合 的鍵釋放后再對其做處理的鍵釋放后再對其做處理 org 0200h keypr:mov dptr, #0100h ; 8155初始化初始化 mov a,#0ch movx dptr, a ; 控制字寫入控制字寫入 mov r3, #00h ; 列寄存器清零列寄存器清零 mov r4, #00h ; 行寄存器清零行寄存器清零
29、acall kexam ; 檢查有無鍵按下檢查有無鍵按下 jz kend ; 無鍵按下返回?zé)o鍵按下返回 acall d10ms acall kexam ; 再次檢查有無鍵按下再次檢查有無鍵按下 jz kend mov r2 #0feh ; 輸出使輸出使x0為為0 key1: mov dptr, #0103h ; 送送c口地址口地址 mov a, r2 movx dptr, a ; 掃描某一行掃描某一行 mov dptr, #0101h ; 送送a口地址口地址 movx a, dptr ; 讀列值模型讀列值模型 cpl a anl a, #0ffh jnz key2 ; 有鍵按下,求列值有鍵按下
30、,求列值 mov a, r4 ; 無鍵按下,行無鍵按下,行+8 add a, #08h mov r4,a mov a, r2 ; 求下列為低電平模型求下列為低電平模型 rl a mov r2,a jb acc.4, key1 ; 判是否已全掃描判是否已全掃描 ajmp kend key2: cpl a ; 恢復(fù)列模型恢復(fù)列模型 key3: inc r3 rrc a jc key3 key4: acall d10ms acall kexam jnz key4 ; 等待鍵釋放等待鍵釋放 mov a, r4 ; 計算鍵值計算鍵值 add a, r3 mov buff, a ; 鍵值存入鍵值存入buf
31、f kedn:ret buff: equ 30h d10ms:mov r5,#14h ; 延時子程序延時子程序 dl: mov r6,#0ffh dl0: djnz r6,dl0 djnz r5,dl ret kexam:mov dptr,#0103h ;檢查是否有鍵按下子程序;檢查是否有鍵按下子程序 mov a, #00h movx dptr, a mov dptr,#0101h movx a, dptr cpl a anl a,#0ffh ret 二、矩陣式鍵盤接口電路及程序二、矩陣式鍵盤接口電路及程序 2. 線路反轉(zhuǎn)法線路反轉(zhuǎn)法 這種方法需要采用可編程的輸入這種方法需要采用可編程的輸入/
32、輸出接口輸出接口8255,8155等,等, 若采用單片機,也可直接與單片機的若采用單片機,也可直接與單片機的i/o口相接。下面口相接。下面鍵鍵 盤電路為例來說明線路反轉(zhuǎn)法的原理。盤電路為例來說明線路反轉(zhuǎn)法的原理。 交互式鍵盤的控制程序一般都采用查詢方式。為了編程方交互式鍵盤的控制程序一般都采用查詢方式。為了編程方 便,對鍵盤中的按鍵進行了編碼,每個按鍵安排了一個便,對鍵盤中的按鍵進行了編碼,每個按鍵安排了一個2位數(shù)位數(shù) 的掃描碼,其第一位數(shù)代表該鍵所位于的列線號,第二位數(shù)代的掃描碼,其第一位數(shù)代表該鍵所位于的列線號,第二位數(shù)代 表該鍵所位于的行線號。表該鍵所位于的行線號。 輪流使某一輪流使某一
33、i/o端口線為輸出,輸出低電平,并記錄其對應(yīng)端口線為輸出,輸出低電平,并記錄其對應(yīng) 的列線號為的列線號為i;同時讓其他;同時讓其他i/o端口線為輸入,以判別對應(yīng)列中端口線為輸入,以判別對應(yīng)列中 的按鍵是否有鍵按下。的按鍵是否有鍵按下。 若有鍵按下就記錄對應(yīng)的行線號若有鍵按下就記錄對應(yīng)的行線號j, 則可根椐記錄的則可根椐記錄的i,j求出按下鍵的掃描求出按下鍵的掃描 碼,其值為碼,其值為kd =i10h +j。 具體實現(xiàn)程序略。具體實現(xiàn)程序略。 一、一、 直接分析法直接分析法 直接分析法就是根據(jù)當(dāng)前按鍵的鍵值,把控制直接分支到相應(yīng)處理程直接分析法就是根據(jù)當(dāng)前按鍵的鍵值,把控制直接分支到相應(yīng)處理程
34、序的入口,而無須知道在此之前的按鍵情況。序的入口,而無須知道在此之前的按鍵情況。 圖圖3-10 顯示出用直接分析法設(shè)計的鍵盤分析程序的典型結(jié)構(gòu)。直接分顯示出用直接分析法設(shè)計的鍵盤分析程序的典型結(jié)構(gòu)。直接分 析法的核心是一張如圖析法的核心是一張如圖3-11所示的一維轉(zhuǎn)移表。轉(zhuǎn)移表內(nèi)登記各處理程序所示的一維轉(zhuǎn)移表。轉(zhuǎn)移表內(nèi)登記各處理程序 的入口。根據(jù)鍵值查閱轉(zhuǎn)移表,即可獲得相應(yīng)的處理程序入口。的入口。根據(jù)鍵值查閱轉(zhuǎn)移表,即可獲得相應(yīng)的處理程序入口。 一、一、 直接分析法直接分析法 簡單多義鍵的分析程序簡單多義鍵的分析程序 仍可采用直接分析法,但仍可采用直接分析法,但 這時要用多張轉(zhuǎn)移表,在這時要用
35、多張轉(zhuǎn)移表,在 組成一個命令的按鍵序列組成一個命令的按鍵序列 中,前幾個按鍵起著引導(dǎo)中,前幾個按鍵起著引導(dǎo) 的作用,把控制引向某張的作用,把控制引向某張 合適的轉(zhuǎn)移表。合適的轉(zhuǎn)移表。 基于上述思想的分析程序框基于上述思想的分析程序框 圖可用圖圖可用圖3-12來說明。圖中,來說明。圖中,a, b 兩鍵為雙義鍵,兩鍵為雙義鍵,mode 鍵用鍵用 來把控制方向引向轉(zhuǎn)移表來把控制方向引向轉(zhuǎn)移表2,以,以 區(qū)別區(qū)別a鍵、鍵、b鍵的兩種含義。鍵的兩種含義。 二、狀態(tài)分析法二、狀態(tài)分析法 直接分析法的優(yōu)點是簡明直觀,缺點是命令的識別和處理程直接分析法的優(yōu)點是簡明直觀,缺點是命令的識別和處理程 序的執(zhí)行交錯在
36、一起,相互牽制,層次不清楚,當(dāng)采用多用鍵,序的執(zhí)行交錯在一起,相互牽制,層次不清楚,當(dāng)采用多用鍵, 復(fù)用次數(shù)較多時,這一矛盾尤其突出。復(fù)用次數(shù)較多時,這一矛盾尤其突出。 用狀態(tài)分析法可以克服這些缺點。用狀態(tài)分析法可以克服這些缺點。 狀態(tài)分析法將鍵盤分析程序作為時序系統(tǒng),在一定的條件下狀態(tài)分析法將鍵盤分析程序作為時序系統(tǒng),在一定的條件下 系統(tǒng)可以處于某種狀態(tài),當(dāng)條件改變后,它的狀態(tài)可以發(fā)生變遷,系統(tǒng)可以處于某種狀態(tài),當(dāng)條件改變后,它的狀態(tài)可以發(fā)生變遷, 即從一個狀態(tài)變到另一個狀態(tài)。即從一個狀態(tài)變到另一個狀態(tài)。 如果把鍵盤輸入作為分析程序的輸入條件,每當(dāng)一個按鍵按如果把鍵盤輸入作為分析程序的輸入條
37、件,每當(dāng)一個按鍵按 下時,分析程序?qū)⒏鶕?jù)它的現(xiàn)行狀態(tài)和輸入條件,決定產(chǎn)生何種下時,分析程序?qū)⒏鶕?jù)它的現(xiàn)行狀態(tài)和輸入條件,決定產(chǎn)生何種 相應(yīng)動作以及變遷到哪一個新狀態(tài)。在不同的狀態(tài)下,同一按鍵相應(yīng)動作以及變遷到哪一個新狀態(tài)。在不同的狀態(tài)下,同一按鍵 又可能會具有不同的含義。引入狀態(tài)概念后,只需開辟存儲單元又可能會具有不同的含義。引入狀態(tài)概念后,只需開辟存儲單元 “記憶記憶”當(dāng)前狀態(tài),不必記住以前按鍵的情況,就能對當(dāng)前按鍵當(dāng)前狀態(tài),不必記住以前按鍵的情況,就能對當(dāng)前按鍵 的含義做出正確的解釋,簡化程序設(shè)計。的含義做出正確的解釋,簡化程序設(shè)計。 二、狀態(tài)分析法二、狀態(tài)分析法 一般來說,狀態(tài)分析法可分
38、為以下四步進行:一般來說,狀態(tài)分析法可分為以下四步進行: (1) 用狀態(tài)圖準確表述按鍵操作序列的定義;用狀態(tài)圖準確表述按鍵操作序列的定義; (2)由上述狀態(tài)圖導(dǎo)出的狀態(tài)表。)由上述狀態(tài)圖導(dǎo)出的狀態(tài)表。 狀態(tài)表狀態(tài)表是鍵盤分析狀態(tài)表狀態(tài)表是鍵盤分析 程序的核心。程序的核心。 (3) 固化狀態(tài)表:為了讓微處理器能使用狀態(tài)表,應(yīng)將其轉(zhuǎn)固化狀態(tài)表:為了讓微處理器能使用狀態(tài)表,應(yīng)將其轉(zhuǎn) 變成可供微處理器查詢的形式。變成可供微處理器查詢的形式。 (4) 設(shè)計鍵盤分析程序的設(shè)計設(shè)計鍵盤分析程序的設(shè)計 二、狀態(tài)分析法二、狀態(tài)分析法 為了便于理解,下面以某一種函數(shù)發(fā)生器為例說明為了便于理解,下面以某一種函數(shù)發(fā)生
39、器為例說明 狀態(tài)分析法具體實施步驟。狀態(tài)分析法具體實施步驟。 某函數(shù)發(fā)生器面板按鍵布局示意圖某函數(shù)發(fā)生器面板按鍵布局示意圖 二、狀態(tài)分析法二、狀態(tài)分析法 (1) 用狀態(tài)圖準確表述按鍵操作序列的定義;用狀態(tài)圖準確表述按鍵操作序列的定義; 二、狀態(tài)分析法二、狀態(tài)分析法 (2)由上述狀態(tài)圖導(dǎo)出的狀態(tài)表。)由上述狀態(tài)圖導(dǎo)出的狀態(tài)表。 狀態(tài)表狀態(tài)表是鍵盤分析狀態(tài)表狀態(tài)表是鍵盤分析 程序的核心。(詳細內(nèi)容見表程序的核心。(詳細內(nèi)容見表3.2 ) 二、狀態(tài)分析法二、狀態(tài)分析法 表中表中fnkey一欄中所采用按鍵的編碼是功能鍵碼,而不是順序碼一欄中所采用按鍵的編碼是功能鍵碼,而不是順序碼(鍵值鍵值)。這樣。這
40、樣 做是為了縮小程序中狀態(tài)表的規(guī)模。做是為了縮小程序中狀態(tài)表的規(guī)模。 按鍵的鍵值與功能鍵碼的關(guān)系如表按鍵的鍵值與功能鍵碼的關(guān)系如表3-3所示。所示。10個數(shù)字鍵屬于同一性質(zhì),用個數(shù)字鍵屬于同一性質(zhì),用 fnky為為1代表。為了區(qū)別不同的數(shù)字鍵,又定義了數(shù)字鍵碼代表。為了區(qū)別不同的數(shù)字鍵,又定義了數(shù)字鍵碼numb。 二、狀態(tài)分析法二、狀態(tài)分析法 (3) 固化狀態(tài)表:為了讓微處理器能使用狀態(tài)表,應(yīng)將其轉(zhuǎn)固化狀態(tài)表:為了讓微處理器能使用狀態(tài)表,應(yīng)將其轉(zhuǎn) 變成可供微處理器查詢的形式(詳細內(nèi)容見表變成可供微處理器查詢的形式(詳細內(nèi)容見表p73-74 ) 為了讓微處理器能使用狀態(tài)表,按一定的格式將表為了讓
41、微處理器能使用狀態(tài)表,按一定的格式將表3-2構(gòu)造成三張表:主表構(gòu)造成三張表:主表 (儀器操作狀態(tài)表),狀態(tài)表入口地址表和處理子程序入口地址表。(儀器操作狀態(tài)表),狀態(tài)表入口地址表和處理子程序入口地址表。 )主表:)主表: )狀態(tài)表入口地址表)狀態(tài)表入口地址表 )處理子程序入口地址表。)處理子程序入口地址表。 二、狀態(tài)分析法二、狀態(tài)分析法 (4) 設(shè)計鍵盤分析設(shè)計鍵盤分析 程序的設(shè)計程序的設(shè)計 3.2 led 顯示及接口顯示及接口 3.2.1 led顯示原理顯示原理 3.2.2 七段七段led顯示及接口顯示及接口 3.2.3 點陣點陣led顯示及接口顯示及接口 led 即發(fā)光二極管,它是一種由某
42、些特殊的半導(dǎo)體材料制即發(fā)光二極管,它是一種由某些特殊的半導(dǎo)體材料制 作成的作成的pn結(jié),由于參雜濃度很高,當(dāng)正向偏置時,會產(chǎn)生大量結(jié),由于參雜濃度很高,當(dāng)正向偏置時,會產(chǎn)生大量 的電子的電子空穴復(fù)合,把多余的能釋放變?yōu)楣饽堋?昭◤?fù)合,把多余的能釋放變?yōu)楣饽?。led顯示器具顯示器具 有工作電壓低、體積小、壽命長(約十萬小時)、響應(yīng)速度快有工作電壓低、體積小、壽命長(約十萬小時)、響應(yīng)速度快 (小于(小于1s),), 顏色豐富(紅、黃、綠等)等特點,是智能儀顏色豐富(紅、黃、綠等)等特點,是智能儀 器最常使用的顯示器。器最常使用的顯示器。 3.2.1 led顯示原理顯示原理 led的正向工作壓降一
43、般在的正向工作壓降一般在1.2v2.6v,發(fā)光工作電流在,發(fā)光工作電流在 5ma20ma,發(fā)光強度基本上與正向電流成正比,故電路須,發(fā)光強度基本上與正向電流成正比,故電路須 串聯(lián)適當(dāng)?shù)南蘖麟娮?。串?lián)適當(dāng)?shù)南蘖麟娮琛ed很適于脈沖工作狀態(tài),在平均電流很適于脈沖工作狀態(tài),在平均電流 相同的情況下,脈沖工作狀態(tài)比直流工作狀態(tài)產(chǎn)生的亮度增強相同的情況下,脈沖工作狀態(tài)比直流工作狀態(tài)產(chǎn)生的亮度增強 20左右。左右。 led顯示器有單個、七段和點陣式等幾種類型。顯示器有單個、七段和點陣式等幾種類型。 一、一、 單個單個led顯示器顯示器 二、二、 七段七段led顯示器顯示器 三、三、 點陣式點陣式led顯
44、示器顯示器 3.2.1 led顯示原理顯示原理 一、一、 單個單個led顯示器顯示器單個led顯示器常用于 顯示儀器的狀態(tài)。 圖316為單個led顯示 器接口電路。儀器內(nèi)微處理 器經(jīng)數(shù)據(jù)總線d0d7輸出待 顯示的代碼,送至輸出接口。 設(shè)輸出端q0為低電平,則對 應(yīng)的led顯示器正向?qū)ú?發(fā)亮,反之則熄滅。 74ls374 作為輸出口最 多驅(qū)動八個led顯示器,表 示儀器的八個狀態(tài)信息。 3.2.2 七段七段 led 顯示及接口顯示及接口 七段七段led顯示器由多個顯示器由多個led組成一個陣列,并封裝于一個組成一個陣列,并封裝于一個 標準的外殼中。為適用于不同的驅(qū)動電路,有共陽極和共陰極標準
45、的外殼中。為適用于不同的驅(qū)動電路,有共陽極和共陰極 兩種結(jié)構(gòu)。兩種結(jié)構(gòu)。 七段七段led顯示器可組成顯示器可組成09數(shù)字和多種字母,這種顯示中數(shù)字和多種字母,這種顯示中 還提供有一個小數(shù)點,所以實際共有八段。還提供有一個小數(shù)點,所以實際共有八段。 3.2.2 七段七段 led 顯示及接口顯示及接口 為了顯示某個數(shù)或字符,就要點亮對應(yīng)的段,這就需要譯為了顯示某個數(shù)或字符,就要點亮對應(yīng)的段,這就需要譯 碼。譯碼有硬件譯碼和軟件譯碼之分。碼。譯碼有硬件譯碼和軟件譯碼之分。 硬件譯碼顯示電路見圖硬件譯碼顯示電路見圖3-18所示。所示。bcd碼轉(zhuǎn)換為對應(yīng)的七碼轉(zhuǎn)換為對應(yīng)的七 段字型碼(簡稱段碼)這項工作
46、由七段譯碼段字型碼(簡稱段碼)這項工作由七段譯碼/驅(qū)動器驅(qū)動器74ls47完完 成。硬件譯碼電路的計算機開銷時間較小,但硬件開支大。成。硬件譯碼電路的計算機開銷時間較小,但硬件開支大。 軟件譯碼顯示電路見圖軟件譯碼顯示電路見圖3-19所示。與硬件電路相比,軟件所示。與硬件電路相比,軟件 譯碼顯示電路省去硬件譯碼器,其譯碼工作由軟件來完成。譯碼顯示電路省去硬件譯碼器,其譯碼工作由軟件來完成。 微處理器有較強的邏輯控制能力,采用軟件譯碼并不復(fù)雜。微處理器有較強的邏輯控制能力,采用軟件譯碼并不復(fù)雜。 采用軟件譯碼不僅可使硬件電路簡化,而且其譯碼邏輯可隨編采用軟件譯碼不僅可使硬件電路簡化,而且其譯碼邏
47、輯可隨編 程設(shè)定,不受硬件譯碼邏輯的限制。所以智能儀器使用較多的程設(shè)定,不受硬件譯碼邏輯的限制。所以智能儀器使用較多的 是軟件譯碼方式。是軟件譯碼方式。 硬件譯碼顯示電路(共陽極接法)硬件譯碼顯示電路(共陽極接法) 軟件譯碼顯示電路(共陰極接法)軟件譯碼顯示電路(共陰極接法) 硬件譯碼顯示電路(共陽極接法)硬件譯碼顯示電路(共陽極接法) 軟件譯碼顯示電路(共陰極接法)軟件譯碼顯示電路(共陰極接法) 0 1 2 3 4 5 6 7 a b c d e f g ep +5v d7 dp d6 g d5 f d4 e d3 d d2 c d1 b d0 a 代碼代碼 0 1 2 3 1 1 0 0
48、0 0 0 0 c0h 1 1 1 1 1 0 0 1 f9h 1 0 1 0 0 1 0 0 a4h 1 0 1 1 0 0 0 0 b0h 軟件譯碼法軟件譯碼法 ( bcd碼碼七段顯示代碼七段顯示代碼 ) a b d c e f g dp a b d c e f g dp a b d c e f g dp a b d c e f g dp a b d c e f g dp 09 的七段顯示代碼的七段顯示代碼 : c0h,f9h,a4h,b0h . d7-d0 共陽極接法為例共陽極接法為例 字符字符 共陰極段碼共陰極段碼 共陽極段碼共陽極段碼 字符字符 共陰極段碼共陰極段碼 共陽極段碼共陽極
49、段碼 0 3fh c0h a 77h 88h 1 06h f9h b 7ch 83h 2 5bh a4h c 39h c6h 3 4fh b0h d 5eh a1h 4 66h 99h e 79h 86h 5 6dh 92h f 71h 8eh 6 7dh 82h h 76h 09h 7 07h f8h p 73h 8ch 8 7fh 80h u 3eh c1h 9 6fh 90h 滅滅 00h ffh led led 顯示器字段碼表顯示器字段碼表 3.2.2 七段七段 led 顯示及接口顯示及接口 3.2.2 七段七段 led 顯示及接口顯示及接口 七段七段led顯示系統(tǒng)有靜態(tài)顯示和動態(tài)顯示
50、之分。顯示系統(tǒng)有靜態(tài)顯示和動態(tài)顯示之分。 在靜態(tài)顯示系統(tǒng)中,在靜態(tài)顯示系統(tǒng)中, 每位顯示器都應(yīng)有各自的鎖存器、譯每位顯示器都應(yīng)有各自的鎖存器、譯 碼器(采用軟件譯碼時譯碼器可省去),以鎖存各自待顯示數(shù)碼器(采用軟件譯碼時譯碼器可省去),以鎖存各自待顯示數(shù) 字的字的bcd碼或反碼。因此,靜態(tài)顯示系統(tǒng)的每次顯示能夠保持碼或反碼。因此,靜態(tài)顯示系統(tǒng)的每次顯示能夠保持 不變,僅在待顯數(shù)字需要改變時,才更新其鎖存的內(nèi)容。其優(yōu)不變,僅在待顯數(shù)字需要改變時,才更新其鎖存的內(nèi)容。其優(yōu) 點是占用機時少,顯示穩(wěn)定可靠。缺點是當(dāng)顯示的位數(shù)較多時,點是占用機時少,顯示穩(wěn)定可靠。缺點是當(dāng)顯示的位數(shù)較多時, 占用占用i/
51、o口較多??谳^多。 在動態(tài)顯示系統(tǒng)中,微處理器或控制器應(yīng)定時地對各個顯在動態(tài)顯示系統(tǒng)中,微處理器或控制器應(yīng)定時地對各個顯 示器進行掃描,顯示器件分時輪流工作。其優(yōu)點是硬件少,占示器進行掃描,顯示器件分時輪流工作。其優(yōu)點是硬件少,占 用用i/o口少。缺點是占用機時長,只要不執(zhí)行顯示程序,就立刻口少。缺點是占用機時長,只要不執(zhí)行顯示程序,就立刻 停止顯示。停止顯示。 隨著大規(guī)模集成電路的發(fā)展,目前已有采用硬件對顯示器隨著大規(guī)模集成電路的發(fā)展,目前已有采用硬件對顯示器 進行自動掃描的專用顯示芯片,使電路既簡單又少占用機時。進行自動掃描的專用顯示芯片,使電路既簡單又少占用機時。 一、一、 靜態(tài)顯示接口
52、電路及顯示程序舉例靜態(tài)顯示接口電路及顯示程序舉例 org 8000h disp: mov r1,30h ;r1存小數(shù)點信息存小數(shù)點信息 mov r0,#31h ;r0指向顯緩單元指向顯緩單元 mov r2,#04h ;r1指示循環(huán)次數(shù)指示循環(huán)次數(shù) mov dptr,#4000h ;顯示地址送;顯示地址送dptr loop: mov a,r0 ;取數(shù)進行譯碼;取數(shù)進行譯碼 push dph push dpl mov dptr,#seg movc a,a+dptr ;取對應(yīng)段碼;取對應(yīng)段碼 bit 3,r1 ;判小數(shù)點位;判小數(shù)點位 jnz l1 anl 7fh ;小數(shù)點位處理;小數(shù)點位處理 l1
53、: pop dpl pop dph movx dptr,a ;段碼送顯;段碼送顯 inc r0 ;調(diào)整;調(diào)整 inc dptr ;調(diào)整;調(diào)整 mov a, r1 ;r1左移一位左移一位 rl a mov r1, a djnz r2, loop ; 顯示是否完成顯示是否完成 ret seg: db 0c0h, 0f9h, 0a4h ; 0,1,2 db 0b0h, 99h, 92h ; 3,4,5 db 82h, 0f8h, 80hh ; 6,7,8 db 90h, 0ffh, 0bfh ; 9,空,空, 二、二、 動態(tài)掃描顯示接口電路及顯示程序舉例動態(tài)掃描顯示接口電路及顯示程序舉例 dis:
54、mov r0,#30h ; r0指向顯緩指向顯緩 mov r2,#20h ; r2存位選碼存位選碼 dis1: mov a,r0 ; 取數(shù)進行譯碼取數(shù)進行譯碼 mov dptr,#seg movc a,a+dptr ; 取段碼取段碼 mov dptr,#0fd01h movx dptr, a ; 段碼送段碼送a口口 mov a, r2 inc dptr movx dptr, a ; 位選碼送位選碼送b口口 acall dims ; 延時延時35ms mov a, r2 jb acc.0, dis2 ; 是否顯示完畢是否顯示完畢 inc r0 ; 未完,未完, 取下位取下位 mov a, r2
55、rr a ; 下位位選碼下位位選碼 mov r2, a ajmp dis1 dis2: ret dims: mov r3,#70h ; 延時子程序延時子程序 dl1: nop djnz r3, dl1 ret seg: db 3fh,06h,5bh,4fh;0,1,2,3 db 66h,6dh,7dh,07h ; 4,5,6,7 db 7fh,6fh,77h,7ch ; 8,9,a,b db 39h,5eh,79h,71h ; c,d,e,f 在靜態(tài)顯示方式下,在靜態(tài)顯示方式下,led 顯示器各顯示段的工作電流是恒顯示器各顯示段的工作電流是恒 定的,在動態(tài)顯示方式下,定的,在動態(tài)顯示方式下,l
56、ed顯示器各顯示段的工作電流是顯示器各顯示段的工作電流是 脈動的。因此,后者脈動工作電流的幅值應(yīng)遠大于前者恒定工脈動的。因此,后者脈動工作電流的幅值應(yīng)遠大于前者恒定工 作電流的幅值。作電流的幅值。 設(shè)前者的恒定電流為設(shè)前者的恒定電流為8ma,考慮脈動工作電流情況下發(fā)光,考慮脈動工作電流情況下發(fā)光 效率優(yōu)于恒定電流的情況,則六位動態(tài)顯示方式下的段驅(qū)動工效率優(yōu)于恒定電流的情況,則六位動態(tài)顯示方式下的段驅(qū)動工 作電流應(yīng)為作電流應(yīng)為38ma(80.86)。對于位驅(qū)動電路來說,它必)。對于位驅(qū)動電路來說,它必 須能負載一個數(shù)字顯示器各個顯示段工作電流的總和。須能負載一個數(shù)字顯示器各個顯示段工作電流的總和
57、。 所以它所以它 的最大位驅(qū)動脈動負載電流應(yīng)約為的最大位驅(qū)動脈動負載電流應(yīng)約為300ma。但由于位驅(qū)動是分。但由于位驅(qū)動是分 時多路工作,所以它的最大平均負載電流為時多路工作,所以它的最大平均負載電流為50ma。 在動態(tài)顯示系統(tǒng)中,一位數(shù)字的顯示持久時間不允許超過在動態(tài)顯示系統(tǒng)中,一位數(shù)字的顯示持久時間不允許超過 其額定值,更不允許系統(tǒng)長久地停止掃描刷新,否則,某一個其額定值,更不允許系統(tǒng)長久地停止掃描刷新,否則,某一個 數(shù)字顯示器和位驅(qū)動電路將因長時間流過較大的恒定電流而被數(shù)字顯示器和位驅(qū)動電路將因長時間流過較大的恒定電流而被 損壞。同時,動態(tài)顯示方式所能容許的顯示數(shù)字的個數(shù)是有限損壞。同時
58、,動態(tài)顯示方式所能容許的顯示數(shù)字的個數(shù)是有限 的(一般的(一般n16),這是由于顯示系統(tǒng)所能容許最大脈動工作電),這是由于顯示系統(tǒng)所能容許最大脈動工作電 流是有限的。而靜態(tài)顯示方式無上述限制。流是有限的。而靜態(tài)顯示方式無上述限制。 3.2.3 點陣點陣 led 顯示及接口顯示及接口 點陣式點陣式led顯示器是以點陣格式進行顯示,因而顯示的符號比較逼真。這是其優(yōu)顯示器是以點陣格式進行顯示,因而顯示的符號比較逼真。這是其優(yōu) 越之處。之處是接口電路及控制程序較復(fù)雜。越之處。之處是接口電路及控制程序較復(fù)雜。 57點陣字符顯示器由點陣字符顯示器由35只只led顯示單元排成顯示單元排成5列列7行矩陣格式,
59、結(jié)構(gòu)如圖示。行矩陣格式,結(jié)構(gòu)如圖示。 每一行上的五個每一行上的五個led 是按共陽極連接的,每一是按共陽極連接的,每一 列上的七個列上的七個 led按共陰極按共陰極 連接。連接。 例若顯示字母例若顯示字母“a”, 可將圖示的字形代碼(或可將圖示的字形代碼(或 稱列碼)并行依次送入,稱列碼)并行依次送入, 同時分時依次選通對應(yīng)列,同時分時依次選通對應(yīng)列, 只要不斷地重復(fù)進行,便只要不斷地重復(fù)進行,便 可在顯示器上得到穩(wěn)定的可在顯示器上得到穩(wěn)定的 顯示字符顯示字符“a”。 圖中字符rom 中存放著所有被顯示字符的字形代碼,是一個很關(guān)鍵的部件。其地 址線分別接系統(tǒng)的數(shù)據(jù)線和五分頻計數(shù)器的輸出端,其數(shù)
60、據(jù)線接到點陣顯示器的7條行 線上。五分頻計數(shù)器的輸出端同時接到字符rom的低位地址線上和顯示器的譯碼器上, 用做兩者的同步信號。 為方便編程,字符rom中存放的字符的字形碼是按ascii碼表的順序存放的,并且 每組字形碼首地址的高七位(a3a9)與該字符的ascii碼一致。這樣,只要向顯示rom 進行一次某字符的ascii碼的寫入操作,便可啟動該字符的顯示。 3.3 鍵盤鍵盤/led顯示器接口設(shè)計顯示器接口設(shè)計 基于軟件掃描的鍵盤和基于軟件掃描的鍵盤和led顯示器的接口方法需要占用顯示器的接口方法需要占用 cpu很多時間,并且接口電路也較煩雜,為了減少這些開銷,很多時間,并且接口電路也較煩雜,
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024出租車出租合同范文
- 2024體育賽事組織方與贊助商合作協(xié)議
- 2024個人汽車借款合同
- 2024年城市軌道交通建設(shè)委托管理合同
- 2024工裝裝修合同范文
- 2024個人房屋裝修合同范本
- 2024年度安徽省某項環(huán)保設(shè)施建筑工程施工合同
- 母嬰類課件教學(xué)課件
- 2024年員工保密責(zé)任協(xié)議書
- 2024年度計算機軟硬件采購合同
- 農(nóng)場工作制度與農(nóng)民崗位職責(zé)
- 2024年山東公務(wù)員考試行測真題及解析【完美打印版】
- 田賽裁判法與規(guī)則2
- 社區(qū)心肺復(fù)蘇術(shù)普及
- 冬棗植保知識培訓(xùn)課件
- 校園突發(fā)事件與應(yīng)急管理課件
- 計算機網(wǎng)絡(luò)技術(shù)職業(yè)生涯規(guī)劃
- DR拼接技術(shù)及常規(guī)攝片注意事項
- 《股票入門》課件
- 《不為人知的間歇泉》課件
- 某購物廣場公司風(fēng)險分級管控體系實施指南
評論
0/150
提交評論