共陽極接法,就是每一塊所有發光二極管的陽極接在一起;反之,共陰極接法,是每塊顯示器裏麵,所有1.0發光二極管的陰極連接在一起。般這個公共點是由二個引腳引出。控製每塊1.0顯示器中各個發光二極管的亮與暗,就可以控製它顯示出我們所需要的數字、字母或符號。控製每塊1.0中哪幾段亮、哪幾段的數據,我們稱為七段顯示代碼。下麵舉例說明,如何使用顯示代碼來顯示十六進製的數字。
一般帶數字顯示器的單板微型機,大多數是采用六位或八位120顯示器。是六位1.0顯示器接口電路。這個電路的特點,是采用掃描顯示的方式,六個120的字形驅動電路共享一套驅動器(鎖存器和反相驅動器),在脈衝電流下工作,即讓每位顯示1103,依次輪流顯示,利用入的視覺暫留功能,看起來好象在任一時刻六個都在顯示,其實是由字位鎖存器控製,任一時刻隻有一個120在亮。
7.4-3 鍵盤接口電路
1.鍵盤的分類
鍵盤是微型計算機最常用的輸入外部設備之一,它分為編碼鍵盤和非編碼鍵盤。
(1)編碼鍵盤
編碼鍵盤帶有必要的硬件電路,能自動提供被按鍵的編碼,並能將數據保持到新鍵按下為止,還有去抖動和防止多鍵、串鍵等保護裝置。編碼鍵盤軟件簡短,它根據編碼就能識別是什麼鍵按下,但硬件電路複雜,價格較貴。
(2)非編碼鍵盤
它僅僅是按行、列排列起來的矩陣開關,其他的工作如識別鍵、提供代碼、去抖動等均由軟件來解決。目前微型機中,一般為了降低成本,簡化硬件電路,大多采用非編碼鍵盤,所以下麵僅介紹非編碼鍵盤的接口電路
2.鍵盤接口電路原理
每一個鍵對應於1/0接口的一位,每一個鍵相當於一個獨立的按鍵開關,因此,當一個鍵按下時,對應的位就是低電平。訪問相對應的1/0口,就能識別是哪一個鍵按下。但這種結構的鍵盤,相對來講,引線太多,占用的1/0接口也多。若是64鍵的鍵盤,就要有64根引線和8個8位的1/0接口。不僅連拍入三態緩衝器。
當按鍵數較多時,往往采用矩陣結構的鍵盤。比如,16個按鍵的鍵盤,隻需用4根行線和4根列線。行線接輸出鎖存器,列線接三態緩衝器,組成矩陣式結構。這種結構的鍵盤鍵越多,引線和所需的接口號比獨立結構的鍵盤就越省。比如64鍵的鍵盤,隻要8根行線、8根列線、一個8位的輸出鎖存器和一個8位的三態緩衝器就可以構成。
16個鍵的鍵盤為例,說明矩陣結構的非編碼鍵盤,如何識別被按下的鍵,如何產生相應的鍵值,如何消除鍵抖動等問題。
識別被按下按鍵的方法,一般有兩種:行掃描法和線路反轉法。
3.行掃描法
首先判斷是否有鍵按下,即先進行全掃描,將所有行線置成電平,然後讀入全部列值,如果讀入的列值,則說明沒有任何一個鍵按下。反之,如果讀入的列值,不是全,這說明有鍵按下,但是哪一個鍵按下呢?
第二步確定哪一個鍵按下。一旦發現有鍵按下,就轉入采用逐行掃描的辦法來確定究竟是哪一個鍵按下,先掃描第一行,使它接0電平,然後讀入列值,哪一列出現0值,則說明與那一列跨接的鍵被按下了。如果讀入的列值全是1,說明這一行所有按鍵都未被按下,接著掃描第二行。以此類推,逐行掃描。
因為鍵盤行鎖存器和1.0顯示器的字位控製,公用一個80鎖存器。鎖存器的輸出經反相驅動器後,接到鍵盤的行線上。所以,掃描鍵盤程序的開始,首先關顯示器,即對字型鎖存器送入空格碼接著使所有行線都為電平,即行線全掃描,快速判別是否有鍵按下。若沒有鍵按下,則轉顯示程序;若有鍵按下,為消除抖動,調用延時子程序,進行逐行掃描。一旦發現有鍵按下,即進行鍵值計算,判斷是數字鍵,還是命令鍵。若是數字鍵,進入數字鍵處理程序;若是命令鍵,通過命令鍵跳轉表,轉入相應的命令鍵處理程序。(詳見第八章鍵盤分析程序。)
它是一個8行8列矩陣式結構鍵盤。可以有64個按鍵,僅用其中的53個鍵,表示編碼字符。可以用來送入數字、字母、符號,組成各種命令、數字等信息。它的接口電路極為簡單,8根列線接三態反相緩衝器的輸入,緩衝器的輸出接口數據總線。行線經集電極開路輸出的八個反相驅動器如直接接至口的地址總線高8位。也就是說,不同的是,行線不接鎖存器,而是利用內部的寄存器當行鎖存器。即將行掃描先存入寄存器,然後用寄存器間接尋址的輸入指令讀入列值,它充分利用Z80寄存器間接尋址的1/0指令功能。
此時口的控製信號有效,從而選中鍵盤的列三態緩衝器,將列值讀入數據總線,送入累加器。根據累加器內容,可以判別是否有鍵按下。如果有鍵按下,則進行鍵值計算、轉入鍵處理程序(也有稱為鍵驅動程序);如果無鍵按下,則將增值(如左移一位),掃描第二行,……以此類推。
7.4-4 行式打印機接口電路
1.行式打印機接口電路
行式打印機接口電路,分串行和並行兩種。一般串行接口電路,硬件電路比並行的複雜,但主機與打印機之間連線較少。目前在廉價微型機係統中,多數使用並行接口電路。故這裏隻介紹8位並行接口電路。