微型計算機原理與接口技術(第2版):第8章 人機交互接口
-
資源ID:192911520
資源大小:1.42MB
全文頁數(shù):72頁
- 資源格式: PPT
下載積分:40積分
快捷下載

會員登錄下載
微信登錄下載
微信掃一掃登錄
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。
|
微型計算機原理與接口技術(第2版):第8章 人機交互接口
COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 1第第8章章 人機交互接口人機交互接口 人機交互接口就是用戶與計算機進行交流的接口,即用戶如何將信息輸入計算機,計算機如何將處理后的信息告訴用戶。使用人機交互接口的設備主要有:鍵盤、鼠標器、掃描儀等常見的輸入設備,CRT顯示器、液晶顯示器、LED七段顯示器、打印機、繪圖機等常見的輸出設備。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 28.1 鍵盤接口鍵盤接口 鍵盤是微機系統(tǒng)上最基本的標準輸入設備。用戶通過鍵盤向計算機輸入操作命令、程序或數(shù)據(jù)。盡管目前已有語音輸入、手寫板輸入、圖象掃描識別等多媒體輸入方式,然而鍵盤的重要地位還不會被其他輸入方式所取代。編碼鍵盤能夠由硬件邏輯自動提供與被按鍵對應的ASCII碼或其它編碼。編碼鍵盤中的某一鍵按下后,能夠提供與該鍵相對應的編碼信息。如果是ASCII碼鍵盤,就能提供與該鍵相對應的ASCII碼。編碼鍵盤的缺點是硬件設備隨著鍵數(shù)的增加而增加。非編碼鍵盤僅僅簡單地提供被按鍵行和列的矩陣,其它工作都靠程序實現(xiàn),這樣,非編碼鍵盤就為系統(tǒng)軟件在定義鍵盤的某些操作上提供了更大的靈活性。目前已有一些專用芯片可以完成其中的一些工作。非編碼鍵盤具有價格便宜、配置靈活的特點。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 38.1.1 捎除抖動及重鍵處理捎除抖動及重鍵處理 鍵盤的按鍵有機械式、電容式、薄膜式等多種,但就它們的作用而言,都是一個使電路“通”或“斷”的開關。在對機械式按鍵進行鍵盤輸入時,一般存在兩個問題,即觸點彈跳與同時按下一個以上鍵的問題,也就是所謂的抖動與重鍵的問題。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 41抖動抖動 抖動是開關本身的一個最普遍的問題,它的產生是當機械開關的觸點閉合時,在達到穩(wěn)定之前需要短暫抖動或彈跳幾下,即反復閉合、斷開幾次之后,才能達到可靠地閉合在一起。抖動也存在于開關斷開時,其情形與開關閉合時相同。抖動產生的尖脈沖情況如圖8.1.1所示。根據(jù)所用鍵的不同質量,鍵的抖動時間可為1020ms。鍵的抖動會引起一次按鍵被讀入多次。解決鍵的抖動可以使用硬件濾波方法或軟件延遲方法。硬件濾波是對每一個鍵加上R-C濾波電路,或加上RS去抖電路。這種方法通常在鍵數(shù)少的情況下使用。而鍵數(shù)較多時,則經(jīng)常采用軟件去抖動技術,這種方法的實質就是采用一個產生20ms左右延遲的子程序,以等待鍵的輸出達到完全穩(wěn)定后才去讀取代碼。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 52重鍵重鍵 所謂重鍵是指兩個或兩個以上的鍵同時按下,或者一個鍵按下后還未彈開,另一個鍵又按下的情況。由于操作上的原因,在鍵盤上同時按下一個以上的鍵是可能的(組合鍵除外)。檢測出這種現(xiàn)象并防止產生錯誤編碼是很重要的。解決這個問題的三種主要技術是:兩鍵同時按下保護技術,n鍵同時按下保護技術和n鍵連鎖技術。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 68.1.2 線性鍵盤線性鍵盤 從按鍵的連接方式,鍵盤可以分為線性鍵盤和矩陣鍵盤兩類。線性鍵盤采用獨立式按鍵,是最簡單的鍵盤結構,它是指直接用I/O口線構成的單個按鍵電路。每一按鍵互相獨立地各自接通一條輸入I/O口線,每根I/O口線上的按鍵的工作狀態(tài)不會影響其它I/O口線的工作狀態(tài)。如圖8.1.2所示為線性鍵盤的按鍵電路。通常按鍵輸入都采用低電平有效,上拉電阻保證了按鍵斷開時,I/O口線有確定的高電平。當I/O口內部有上拉電阻時,外電路可以不配置上拉電阻。線性鍵盤電路配置靈活,軟件結構簡單。但每個按鍵必須占用一根I/O口線,在按鍵數(shù)量較多時,I/O口線浪費較大。故在按鍵數(shù)量不多時,常采用這種按鍵電路。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 7線性鍵盤電路線性鍵盤電路 假設8255A的A口、B口、C口、控制口的端口地址分別是60H、61H、62H、63H,采用軟件消抖技術(只考慮前沿消抖),編程實現(xiàn)對按鍵K3K0的識別,假設按鍵K3K0的對應編碼為30,識別按鍵后,將對應的編碼存到AH寄存器中。有D20ms延時子程序可以調用。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 8程序設計程序設計 COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 9程序設計程序設計COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 10程序設計程序設計COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 118.1.3 矩陣鍵盤矩陣鍵盤 為了減少鍵盤接口所占用I/O線的數(shù)目,在按鍵數(shù)較多時,通常都將按鍵排列成矩陣形式。矩陣式鍵盤又叫行列式鍵盤,用I/O口線組成行、列結構。按鍵設置在行列的交點上。例如22的行列結構可構成4個鍵的鍵盤,44的行列結構可構成16個鍵的鍵盤。利用這種矩陣結構只需N+M條I/O口線,即可連接NM個按鍵。在這種矩陣鍵盤結構中,對按鍵的識別是對鍵盤掃描后,通過軟件來完成的。鍵盤掃描方式一般有兩種,一種是傳統(tǒng)的行掃描法,另一種是速度較快的線反轉法。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 121行掃描法行掃描法 行掃描法是步進掃描方式,每次向鍵盤的某一行發(fā)出掃描信號,同時通過檢查列線的輸出來確定閉合鍵的位置。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 13 以圖8.1.3的電路連接為例,假設行輸出端口1的地址為200H,列輸入端口2的地址為201H,采用軟件消抖技術(只考慮前沿消抖),編程實現(xiàn)對0鍵F鍵的識別,識別按鍵后,將按鍵的鍵號(即0)存到AH寄存器中,若為重鍵,則將0FFH存到AH寄存器中。有D20ms延時子程序可以調用。本例中,鍵的位置碼是由行號和列號組合而成的一個字節(jié)數(shù)據(jù),4位行號占據(jù)鍵位置碼的高4位,4位列號占據(jù)鍵位置碼的低4位,比如,B鍵的行號為1011,列號為0111,則B鍵的位置碼為10110111。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 14程序設計程序設計COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 15程序設計程序設計COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 16程序設計程序設計COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 17程序設計程序設計COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 18程序設計程序設計COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 192線反轉法線反轉法 COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 208.1.4 鍵盤工作方式鍵盤工作方式 鍵盤的工作方式有三種,即程序控制掃描方式,定時掃描方式和中斷掃描方式。1程序控制掃描方式這種方式是利用CPU工作的空余時間,調用鍵盤掃描子程序,響應鍵盤的輸入請求。2定時掃描方式這種方式是利用定時器產生定時中斷(例如10ms),CPU響應中斷后對鍵盤進行掃描,并在有鍵按下時轉入鍵功能處理程序。定時掃描方式在本質上是中斷方式,但不是實時響應,而是定時響應。3中斷掃描方式當應用系統(tǒng)工作時,并不經(jīng)常需要鍵的輸入,因此,無論鍵盤是工作于程控方式還是定時方式,CPU都經(jīng)常處于空掃描狀態(tài)。為了進一步提高CPU效率,可以采用中斷掃描方式,當鍵盤上有鍵閉合時便產生中斷請求,CPU響應中斷,執(zhí)行中斷服務程序,對閉合鍵進行識別,并作相應的處理。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 218.1.5 PC機鍵盤與接口機鍵盤與接口 PC系列機都采用非編碼鍵盤,其按鍵排列為矩陣式。不同時期的PC系列機配有物理上各不相同的鍵盤。早期的PC機和PC/XT機使用的是具有83個按鍵的鍵盤,這種鍵盤一般稱作標準鍵盤。對80286以上的機型,一般使用具有101個按鍵的增強型擴展鍵盤。鍵盤與微機的接口采用如圖8.1.6所示的電纜插頭。早期的PC機、PC/XT機和一些增強型擴展鍵盤使用的是5針電纜插,不過目前大部分都是使用6針微型電纜插頭,也有些鍵盤使用USB接口。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 22鍵盤鍵盤5針插頭和針插頭和6針微型插頭接線針微型插頭接線 COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 23PC鍵盤掃描碼與按鍵的對應關系鍵盤掃描碼與按鍵的對應關系 COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 24增強型擴展鍵盤接口邏輯示意圖增強型擴展鍵盤接口邏輯示意圖 COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 25 鍵盤電路示意圖鍵盤電路示意圖 COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 26鍵盤接口邏輯功能鍵盤接口邏輯功能 鍵盤接口邏輯電路的核心是1個8042單片機。Intel 8042是一個通用的外圍接口處理器。內部包含有8位CPU、2K ROM、128字節(jié)的RAM、8位可編程計時器、兩個可編程8位I/O口(P10P17和P20P27)和兩個一位的輸入測試口TEST0、TEST1。此外,還有一個8位的狀態(tài)寄存器和兩個數(shù)據(jù)寄存器。8042可以支持兩個中斷源和DMA操作,計時器可用于產生時序信號或對外部信號進行計數(shù)。8042使用的時鐘信號是系統(tǒng)時鐘經(jīng)過分頻后產生的,頻率為6MHz。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 278.1.6 BIOS鍵盤中斷及鍵盤中斷及DOS鍵盤功能調用鍵盤功能調用 BIOS鍵盤中斷及DOS鍵盤功能調用有中斷類型碼09H、16H、21H三種方式。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 281中斷中斷09H的處理過程的處理過程(1)從鍵盤接口的輸出緩沖寄存器(60H)讀取系統(tǒng)掃描碼。(2)判斷該鍵是單獨按下或是與組合鍵(SHIFT、CTEL或ALT)一起使用。若字符鍵是單獨按下,將掃描碼轉換為相應的ASCII碼或擴展碼(命令鍵、組合功能鍵等的編碼,稱為擴展碼)寫入鍵盤緩沖區(qū)。例如,系統(tǒng)掃描碼為1EH,若無SHIFT一起使用,將其轉換為a的ASCII碼61H。若有SHIFT配合使用,則將其轉換為A的ASCII碼41H。(3)如果是換擋鍵(如CapsLock,Ins等),將其狀態(tài)存入BIOS數(shù)據(jù)區(qū)中的鍵盤標志單元。(4)如果是組合鍵(如Ctrl+Alt+Del),則直接執(zhí)行,完成其相應的功能。(5)對于中止組合鍵(如Ctrl+C或Ctfl+Break),強行中止應用程序的執(zhí)行,返回DOS。(6)將轉換的ASCII碼作為低字節(jié),以原來的系統(tǒng)掃描碼作為高字節(jié)存入鍵盤緩沖區(qū),供系統(tǒng)調用。鍵盤緩沖區(qū)建立在系統(tǒng)主存的BIOS數(shù)據(jù)區(qū)中,占用32個字節(jié),可存放16次擊鍵產生的ASCII碼和掃描碼。它以先進先出的方式工作,輸入的鍵盤代碼在其中形成循環(huán)隊列。中斷09H輸入的地址指針總指向隊尾,從那里寫入數(shù)據(jù)。(7)在完成上述任務之后,結束中斷調用,中斷返回。至此,1次按鍵輸入的信息才真正送入微機之中。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 292中斷中斷16H的功能的功能 應用程序需要使用存入鍵盤緩沖區(qū)的字符,例如需要根據(jù)輸入的字符作為程序的轉移條件時,可使用INT 16H的軟件中斷,它以先進先出的方式工作,INT 16H的輸出指針總指向隊列首,從那里取出字符。INT 16H有3種子功能,由AH=(0、1、2)識別。第一,從鍵盤緩沖區(qū)讀取ASCII碼(包括掃描碼)。第二,判斷緩沖區(qū)是否為空。若緩沖區(qū)循環(huán)隊列的首指針與尾指針相同,意味著緩沖區(qū)的鍵碼已經(jīng)取完,等待輸入新的鍵碼。否則,還有未被取走的鍵碼。第三,判斷當前鍵盤的特殊鍵(如CTRL、Caps Lock)的狀態(tài)。用戶可以使用中斷指令INT 16H獲取相應的鍵盤狀態(tài)信息。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 303中斷中斷21H的功能的功能 在DOS功能調用中,也有多個功能調用號用于獲得所需要的鍵盤信息。常用的鍵盤操作功能如下:(1)AH=1功能:從鍵盤輸入一個字符并回顯在屏幕上。入口參數(shù):AH=1出口參數(shù):AL=字符(2)AH=6功能:讀鍵盤字符(直接控制臺I/O)。入口參數(shù):AH=6,DL=0FFH(表示輸入)出口參數(shù):若有字符可取,AL=字符,ZF=0。若無字符可取,AL=0,ZF=1(3)AH=7功能:從鍵盤輸入一個字符,不回顯。入口參數(shù):AH=7出口參數(shù):AL=字符 COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 31(4)AH=8功能:從鍵盤輸入一個字符,不回顯。檢測Ctrl_Break。入口參數(shù):AH=8出口參數(shù):AL=字符(5)AH=0AH功能:輸入字符到緩沖區(qū)。入口參數(shù):AH=0AH,DS:DX=緩沖區(qū)首址出口參數(shù):無(6)AH=0BH功能:讀鍵盤狀態(tài)。入口參數(shù):AH=0BH出口參數(shù):AL=0FFH,有鍵輸入。AL=0,無鍵輸入(7)AH=0CH功能:清除鍵盤緩沖區(qū),并調用一種鍵盤功能。入口參數(shù):AH=0CH,AL=鍵盤功能號(1、6、7、8、A)出口參數(shù):與調用的功能有關 COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 328.2 LED顯示器接口顯示器接口 8.2.1 LED七段顯示器結構 LED七段顯示器是用發(fā)光二極管顯示字形的顯示器件。在應用系統(tǒng)中通常使用的是七段顯示器。七段顯示器由七段組成,每一段是一個發(fā)光二極管,排成一個“日”字形。通過控制某幾個發(fā)光二極管的導通發(fā)光而顯示出某一字形,如數(shù)字09,字符A、B、C、D、E、F、P等。通常的七段LED顯示器有八個發(fā)光二極管,故也有人叫做八段顯示器,如圖8.2.1所示。其中七個發(fā)光二極管構成字形“8”,一個發(fā)光二極管構成小數(shù)點。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 33共陰極共陰極LED七段顯示器的段選碼七段顯示器的段選碼 COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 348.2.2 LED顯示器組成與顯示方式顯示器組成與顯示方式 LED顯示器通常由若干個LED七段顯示器組成,有靜態(tài)顯示與動態(tài)顯示兩種方式。1LED顯示器靜態(tài)顯示方式所謂靜態(tài)顯示,就是當顯示器顯示某一個字符時,相應的發(fā)光二極管恒定地導通或截止。LED顯示器在靜態(tài)顯示方式下,各顯示位的位選線即共陰極點(或共陽極點)連接在一起接地(或接5V);各顯示位的段選線(ah)與一個8位并行口相連。靜態(tài)顯示方式電路每一顯示位可獨立顯示,只要在該位的段選線上保持段選碼電平,該位就能保持相應的顯示字符。由于每一顯示位都由一個相應的8位輸出口鎖存段選碼,故在同一時刻不同的顯示位可以顯示不同的字符。2LED顯示器動態(tài)顯示方式在多位LED顯示時,為了簡化電路,降低成本,可采用動態(tài)顯示方式。所謂動態(tài)顯示,就是一位一位地輪流點亮各位顯示器(掃描)。對于某一位顯示器來說,每隔一段時間點亮一次。顯示器的亮度既與導通電流有關,也與點亮時間和間隔時間的比例有關。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 358.2.3 LED顯示器接口及應用舉例顯示器接口及應用舉例 從LED顯示器的顯示原理可知,為了顯示字母與數(shù)字,必須最終轉換成相應的段選碼。這種轉換可以通過硬件譯碼器來進行,也可以用軟件進行譯碼。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 361硬件譯碼顯示器接口硬件譯碼顯示器接口 MC14495是Motorola公司生產的CMOS BCD-七段十六進制鎖存、譯碼、驅動芯片。該電路的特點是可顯示16進制字符,同時還有譯碼器輸入大于等于10時的指示端(hi)。當輸入數(shù)據(jù)10時,hi端輸出“1”電平。另外還有輸入數(shù)據(jù)為15時,電路輸出端為“0”電平(其它輸入狀態(tài)時為高阻)的功能。電路內部還有一個290歐姆的限流電阻,故LED不須外加限流電阻。當顯示數(shù)據(jù)大于等于10時,hi端輸出“1”電平。注意:若要顯示帶小數(shù)點的數(shù)據(jù),則需要在LED七段顯示器的h端另加驅動控制,MC14495本身不能完成顯示小數(shù)點的功能。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 372軟件譯碼顯示器接口軟件譯碼顯示器接口 由于微型機本身具有較強的邏輯控制能力,所以采用軟件譯碼并不復雜。而且軟件譯碼的譯碼邏輯可隨意編程設定,不受硬件譯碼邏輯限制。采用軟件譯碼還能簡化硬件電路結構,因此,在微型機和單片機應用系統(tǒng)中,使用最廣泛的還是軟件譯碼的顯示接口。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 38(1)軟件譯碼靜態(tài)顯示接口)軟件譯碼靜態(tài)顯示接口 例8.2.1 某8086 CPU系統(tǒng)通過8255A與按鍵開關、LED七段顯示器等外部設備相連接,電路原理如圖8.2.4所示。由圖可知,8255A的端口A、端口B、端口C、控制端口的地址分別為C4H、C5H、C6H、C7H。8255A工作在方式0,端口A輸入,端口B輸出,能夠正常工作的控制字為10010000B(90H)。電路中的LED七段顯示器采用共陽極顯示器,靜態(tài)工作方式。在LED七段顯示器段碼驅動時,采用了反向驅動,所以要注意正確配置段碼表。電路連接了4個按鍵開關K3K0。4個按鍵開關K3K0組成了4位二進制數(shù)值(K3對應高位,K0對應低位),并對應1位十六進制數(shù)。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 398255A與按鍵、七段顯示器連接電路原理圖與按鍵、七段顯示器連接電路原理圖 COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 40程序段程序段 COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 41程序段程序段 COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 42(2)軟件譯碼動態(tài)顯示接口)軟件譯碼動態(tài)顯示接口 動態(tài)顯示程序設計中顯示程序的要點:1)解決顯示譯碼問題,因為要顯示的數(shù)字與其對應的段選碼并沒有有機的聯(lián)系和轉換規(guī)律,所以要用查表的方法完成這種譯碼功能。2)在進入顯示程序之前,為保持顯示的數(shù)據(jù),專門開辟幾個單元作為顯示緩沖區(qū),用以存放要顯示的數(shù)字(十六進制數(shù))。采用軟件譯碼方法一般有兩種表格設置方案:1)順序表格排列法,即按一定的順序排列顯示段碼。通常顯示的字形數(shù)據(jù)就是該段碼在段碼表中相對表頭的偏移量。2)數(shù)據(jù)結構法,即按字形和段碼的關系,自行設計一組數(shù)據(jù)結構。該方法設計靈活,但程序運行速度較慢。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 43例例8.2.2 LED七段顯示器及其接口七段顯示器及其接口 COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 44程序設計程序設計 下面是8個顯示器重復顯示(50次)8位十六進制數(shù)13579BDF的源程序。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 45程序設計程序設計COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 46程序設計程序設計COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 478.3 視頻系統(tǒng)視頻系統(tǒng) 視頻系統(tǒng)是計算機系統(tǒng)的重要組成部分,包括顯示器和顯示適配器(通常被稱為顯示控制卡、顯示卡、顯卡)。用戶主要是通過鍵盤和顯示器進行人機對話來實現(xiàn)計算機操作,沒有顯示器用戶無法進行工作。顯示器能將計算機的輸出信息轉換成各種直觀的圖形、圖象和字符,程序、數(shù)據(jù)也能在屏幕上顯示出來。它具有速度快、無噪音、無機械磨損、直觀形象、方便可靠等優(yōu)點。由于顯示器屏幕上的信息只能供觀察,不能永久地記錄,所以又稱為軟拷貝設備。顯示器的種類很多,按使用的顯示器件不同,主要分為兩大類:一類是陰極射線管顯示器,簡稱為CRT顯示器;另一類是平板顯示器,主要包括發(fā)光二極管顯示器、LCD液晶顯示器和等離子體顯示器等。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 488.3.1 CRT顯示器顯示器 1CRT顯示器的基本組成 CRT(Cathode Ray Tube)顯示器的基本組成主要包括視頻放大驅動電路、行掃描電路、場掃描電路、高壓電路、CRT顯象管以及機內直流電源等六大部分,如圖8.3.1所示。在圖8.3.1中,視頻放大驅動電路將主機經(jīng)顯示卡送來的視頻信號放大驅動后,送到CRT顯象管的陰極,產生電子束轟擊屏幕而出現(xiàn)光點。由顯示卡送來的水平(行)同步信號與垂直(場)同步信號,分別經(jīng)行掃描電路和場掃描電路,為CRT顯象管的水平(行)偏轉線圈和垂直(場)偏轉線圈提供具有一定幅度和線性良好的鋸齒波電流,產生垂直方向和水平方向的偏轉磁場,控制電子束在水平或垂直方向偏轉,形成掃描光柵。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 49CRT顯示器組成框圖顯示器組成框圖 COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 502光柵掃描光柵掃描 電子束首先出現(xiàn)在屏幕的左上角,再掃至右上角,這樣在屏幕上就留下一條線。這條線就稱為光柵線,當電子束到達屏幕右邊后,它又以極高的速度重新定位到屏幕左邊,這樣在第一條軌跡的下面又出現(xiàn)一條線,叫水平回掃。從這點開始經(jīng)水平掃描又在屏幕上產生了第二條顯示線。這個掃描過程一直持續(xù)到水平掃描到達屏幕底部,此時一幀畫面掃描完畢。最后,電子束又以極高的速度回掃到屏幕左上角,稱為垂直回掃。在水平回掃和垂直回掃的過程中,要對電子束進行抑制(消隱),使回掃線不在屏幕上顯示出來。于是在屏幕上就出現(xiàn)了一條條水平的光柵掃描線。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 518.3.2 液晶顯示器液晶顯示器 液晶顯示器從結構上說,屬于平板顯示器件,簡稱LCD(Liquid Crystal Display)顯示器。1液晶及其分類 LCD顯示器的基礎材料是液晶。從字面看,液晶就是“液態(tài)”的“晶體”,可見,它既具有液體的“流動性”,又具有晶體的“光學各向異性”。奧地利生物學家F.Reinitzer在1888年首先觀察到液晶現(xiàn)象,經(jīng)過進一步確認后,將這種“兼有液體流動性和晶體光學各向異性的液體”,建議稱之為“液晶”??梢?,液晶是一種介于固態(tài)和液態(tài)之間的物質,是具有規(guī)則性分子排列的有機化合物,如果把它加熱會呈現(xiàn)透明狀的液體狀態(tài),把它冷卻則會出現(xiàn)結晶顆粒的混濁固體狀態(tài)。液晶態(tài)物質既具有液體的流動性和連續(xù)性,又保留了晶體的有序排列性,物理上呈現(xiàn)各向異性。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 522TN液晶顯示器的原理液晶顯示器的原理 偏光板偏光板玻璃基板玻璃基板液晶方向圖8.3.3 TN型液晶顯示屏結構COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 533TFT液晶顯示器的原理液晶顯示器的原理 TFT液晶顯示器與TN系列液晶顯示器的原理不同,但在構造上和TN液晶仍有相似之處,如玻璃基板、配向膜、偏光板等,也同樣采用兩夾層間填充液晶分子的設計,只不過把TN上部夾層的電極改為FET晶體管,而下層改為共同電極。在光源設計上,TFT的顯示采用“背透式”照射方式,即假想的光源路徑不是像TN液晶那樣的從上至下,而是從下向上,這樣的作法是在液晶的背部設置類似日光燈的光管。光源照射時通過下偏光板向上透出。在FET電極導通時,液晶分子的表現(xiàn)如TN液晶的排列狀態(tài)一樣會發(fā)生改變,通過遮光和透光來達到顯示的目的。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 544液晶顯示的驅動液晶顯示的驅動 液晶顯示的驅動就是調整施加在液晶顯示器件電極上的電位信號的相位、峰值、頻率等,建立驅動電場。液晶顯示的驅動方式有許多種,常用的驅動方法有靜態(tài)驅動法和動態(tài)驅動法。對于TN及STN-LCD一般采用靜態(tài)驅動法。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 558.3.3 字符和圖形顯示的基本原理字符和圖形顯示的基本原理 1字符顯示方法 為了敘述方便,以黑白字符顯示為例來講述CRT顯示器字符顯示的工作原理。圖8.3.4是黑白字符顯示的原理示意圖。它由定時控制電路、顯示存儲器VRAM、字符發(fā)生器ROM、移位寄存器和視頻信號合成電路組成。在CRT顯示器進行光柵掃描的過程中,當電子束進行水平正程掃描時,圖像信號通過控制電子束來控制各點的亮度,以便在CRT屏幕上形成圖象。而在字符顯示的情況下,只要用視頻信號對掃描電子束簡單地進行“開”或“關”控制,就可以用點陣在屏幕上組成字符。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 562圖形顯示方法圖形顯示方法 顯示圖像的最小單位是像素,而像素又以色彩為數(shù)據(jù)描述對象。圖8.3.6所示為三種典型的不同顏色數(shù)下的像素組合形式。如果分辨率為320200,則共計有64000個像素點。若用1位二進制數(shù)據(jù)代表一個像素,那么這種模式最多可描述2種顏色,8個像素點占用1個字節(jié),總共占用64000/8=8000個字節(jié)的VRAM。若用2位二進制數(shù)據(jù)代表一個像素,那么這種模式最多可描述4種顏色,4個像素點占用1個字節(jié),總共占用64000/4=16000個字節(jié)的VRAM。同理,若用4位二進制數(shù)據(jù)代表一個像素,那么這種模式最多可描述16種顏色,2個像素點占用1個字節(jié),總共占用64000/2=32000個字節(jié)的VRAM??梢?,圖形方式下,分辨率和像素模式?jīng)Q定了VRAM的大小。像素點越多,VRAM越大。顏色數(shù)越多,VRAM越大。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 578.3.4 顯示器的主要性能指標顯示器的主要性能指標 1像素和點距 構成圖象的最小單位或構成圖象的點叫像素。2分辨率 分辨率是指整屏可顯示的像素的多少。最大分辨率與屏幕尺寸和點距密切相關。例如,15英寸的顯示器,當點距是0.28mm時,就可具有1024768點的最大分辨率。在相同分辨率下,點距越小,圖象就越清晰,3顯示器的尺寸 CRT顯示器的尺寸指顯像管的對角線尺寸。最大可視面積就是顯示器可以顯示圖形的最大范圍。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 58主要性能指標主要性能指標 4掃描方式 CRT顯示器的掃描方式分為“逐行掃描”和“隔行掃描”兩種。隔行掃描是每隔一行顯示一行,到底后再返回顯示剛才未顯示的行,而逐行掃描是順序顯示每一行。逐行掃描比隔行掃描擁有更穩(wěn)定的顯示效果。目前,只有家用電視仍然采用隔行掃描方式。5像素的顏色范圍 一個像素可顯示出多少種顏色,由表示這個像素的二進制位數(shù)決定(又稱像素的位寬),如果每個像素使用8bit(一個字節(jié))來表示它的顏色,則每個像素可有256色。如使用16bit,有65536種顏色;如用24bit表示,則可有16.8M顏色。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 59主要性能指標主要性能指標 6刷新頻率 刷新頻率就是屏幕刷新的速度。刷新頻率越低,圖像閃爍和抖動得就越厲害,眼睛疲勞得就越快。當采用70Hz以上的刷新頻率時可基本消除閃爍。因此,70Hz的刷新頻率是顯示器穩(wěn)定工作的最低要求。如能達到80Hz以上的刷新頻率就可完全消除圖像閃爍和抖動感,眼睛也不會太容易疲勞。雖然刷新頻率越高越好,但是過高的刷新頻率會加速CRT顯像管的老化,通常85Hz比較合適。7視頻帶寬 視頻帶寬是造成顯示器性能差異的一個比較重要的因素。帶寬決定著一臺顯示器可以處理的信息范圍,就是指特定電子裝置能處理的頻率范圍。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 608.3.5 顯示適配器顯示適配器 顯示適配器又稱顯示卡、顯卡、圖像加速卡等,通常以附加卡的形式安裝在主板的擴展槽中或集成在主板上。顯示適配器是主機CPU與顯示器之間的接口,其作用是接受CPU的命令、訪問顯示存儲器VRAM、產生屏幕所需的信號。PC機采用了許多不同的視頻顯示標準,從MDA、CGA、EGA到VGA等每一種視頻標準都有相應的顯示適配器與之對應。幾種視頻標準的特點如下:MDA(Monochrome Display Adapter):單色字符顯示適配器。MDA是PC機最早使用的顯示標準。采用914點陣的字符窗口,滿屏顯示80列25行字符,對應分辨率為720350像素。CGA(Color Graphics Adapter):彩色圖形與字符顯示適配器,可以兼容字符和圖形兩種顯示方式。字符分辨率為4025或8025,圖形分辨率320200或640,前者可選用4種顏色,后者選用兩種顏色。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 61顯示適配器顯示適配器 EGA(Enhanced Graphics Adapter):增強圖形適配器,顯示標準完全兼容CGA和MDA各種顯示方式,在圖形方式下分辨率為640350,16種顏色。VGA(Video Graphics Array):視頻圖形陣列適配器,顯示標準完全兼容EGA的顯示標準,字符窗口為916點陣,圖形方式下分辨率為640480,16種顏色,或320200,256種顏色。SVGA(Super VGA):該標準除兼容MDA、CGA、EGA、VGA的顯示方式外,還支持12801024像素,每像素點有224種顏色,刷新頻率可達75MHz。MDA、CGA、EGA、VGA的顯示方式如表8.3.1所示。MDA、CGA、EGA這三種視頻標準目前已基本不用。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 628.3.6 對顯示器的編程對顯示器的編程 對顯示器的編程與其他通用硬件編程一樣,可以直接對硬件編程,也可以直接調用ROM BIOS中的顯示I/O功能程序或有關DOS功能調用,前者,由于必須弄清硬件細節(jié)才能有的放矢地編程,而后者只需了解具體調用方法??赏ㄟ^DOS功能調用中INT 21H子功能,即選擇AH=1、2、9、0AH等可方便地實現(xiàn)字符和字符串的輸出和顯示。對于常規(guī)圖形顯示方式,可通過調用BIOS功能就能實現(xiàn),而且非常簡便。下面僅介紹采用BIOS功能調用的方法實現(xiàn)對顯示器的編程。BIOS中具有驅動顯示適配器功能的程序,它包括16個功能模塊,只要給AH裝入指定的模塊號,再執(zhí)行一條INT 10H指令,即可調用它的一個功能模塊 COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 63例例8.3.1 設置設置VGA圖形方式圖形方式 MOVAH,00H MOVAL,12H INT10HCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 64例例8.3.2 設置設置VGA文本方式文本方式 MOVAH,00H;0號功能為顯示方式選擇 MOVAL,03H;方式3,彩色字符 INT10H;調用BIOS COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 65例例8.3.3 在顯示頁在顯示頁0置光標置光標(2,15),即第,即第0頁第頁第15行第行第2列字符處列字符處 MOVAH,2 MOVBH,0;0頁 MOVDL,2;列號 MOVDH,15;行號 INT10H;調用BIOS COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 66例例8.3.4 用用BIOS功能調用功能調用INT 10H 例8.3.4 用BIOS功能調用INT 10H,AH=0H功能來設置屏幕為640480彩色圖形方式(顯示方式AL=12H),并從屏幕第10行畫1條有16種顏色像素點組成的線(用功能調用0CH)。程序結束時,顯示器仍在12H下。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 67COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 68例例8.3.5 下列程序將屏幕的第下列程序將屏幕的第10行復制到行復制到20行行 例8.3.5 下列程序將屏幕的第10行復制到20行,該程序應在顯示器設置成高分辨率圖形方式下運行。判斷當前顯示方式是否為高分辨率,如果不是,則轉移到BAD_MODE,并顯示“The mode must be set high resolution”。COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 69COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 70COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 71COMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGYCOMPUTER SCIENCE AND TECHNOLOGY 72第8章 結 束