一、 獨立式鍵盤接口電路及程序設(shè)計_第1頁
一、 獨立式鍵盤接口電路及程序設(shè)計_第2頁
一、 獨立式鍵盤接口電路及程序設(shè)計_第3頁
一、 獨立式鍵盤接口電路及程序設(shè)計_第4頁
一、 獨立式鍵盤接口電路及程序設(shè)計_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論