部分譯碼是指只有一部分地址參與譯碼,所得到的地址空間是非連續(xù)的地址段,沒有覆蓋整個(gè)可尋址空間,一個(gè)數(shù)據(jù)單元可能與幾個(gè)地址對(duì)應(yīng)。如下圖:
還有一種線選法是部分譯碼法的特殊形式,即對(duì)地址線不進(jìn)行譯碼,直接用地址線來選通數(shù)據(jù)單元,其得到的地址空間也是非連續(xù)的。比如,不用外加譯碼電路,僅用高位地址線就把64KB的尋址空間區(qū)分成若干區(qū),如圖下圖所示:
存儲(chǔ)器擴(kuò)展 ROM擴(kuò)展51單片機(jī)訪問外部ROM時(shí),其控制總線僅由ALE、PSEN和EA組成。當(dāng)EA = 1,單片機(jī)要訪問的地址的超出片內(nèi)ROM的范圍時(shí),將自動(dòng)轉(zhuǎn)向進(jìn)行片外ROM尋址。可以通過“MOVC A, @A+DPTR”這條指令訪問外部ROM。指令執(zhí)行過程中控制信號(hào)的邏輯關(guān)系和時(shí)序如下圖:
采用2764擴(kuò)展32KB ROM時(shí),接線圖如下:
RAM擴(kuò)展51單片機(jī)訪問外部RAM時(shí),控制總線由ALE、PSEN、RD及WR組成。當(dāng)執(zhí)行“MOVX A, @DRTP”、”MOVX @DPTR, A“”指令時(shí),進(jìn)行讀、寫外部RAM的操作,指令執(zhí)行過程中控制信號(hào)的邏輯關(guān)系和時(shí)序如下圖:
采用SRAM芯片61128擴(kuò)展32KB RAM時(shí),接線圖如下:
并行擴(kuò)展I/O口的方法,與擴(kuò)展RAM的方法基本一致。
外圍接口技術(shù) LED顯示器LED(Light Emitting Diode)顯示器是若干個(gè)發(fā)光二極管組成的顯示字段的顯示器件。常用的LED顯示器有七段數(shù)碼顯示器。
七段LED數(shù)碼顯示器由8個(gè)發(fā)光二極管組成,根據(jù)內(nèi)部LED的連接形式不同,可分為共陰極和共陽(yáng)極兩種。共陰極發(fā)光二極管的陰極連接在一起,共陽(yáng)極則陽(yáng)極連接在一起,其電路連接如下圖:
選用共陰極的數(shù)碼管時(shí),所有LED的陰極連接在一起接地,當(dāng)某個(gè)LED的陽(yáng)極接高電平則對(duì)應(yīng)的LED便點(diǎn)亮。共陽(yáng)極數(shù)碼管則相反,當(dāng)某個(gè)LED的陰極接低電平則對(duì)應(yīng)的LED便點(diǎn)亮。每次把某些特定的LED點(diǎn)亮,就能使數(shù)碼管用來顯示一些數(shù)字或符號(hào),LED數(shù)碼管共8位,正好是一個(gè)字節(jié),習(xí)慣上以“a”段對(duì)應(yīng)段碼字節(jié)為最低位,這樣,只需要輸入不同的段碼,就能獲得不同的顯示。
LED數(shù)碼管的顯示方式一般都采用動(dòng)態(tài)顯示,這種方法節(jié)省I/O口,然而在這種方法在任意時(shí)刻只有一位顯示器能被點(diǎn)亮,顯示位數(shù)較多時(shí),需要采用動(dòng)態(tài)掃碼,動(dòng)態(tài)掃描的頻率有一定要求,要使人眼無法察覺。頻率過低的話,LED將會(huì)出現(xiàn)閃爍現(xiàn)象,而頻率太高,每個(gè)LED點(diǎn)亮的時(shí)間太短,LED的亮度太低,肉眼無法看清。程序上常采用的是調(diào)用延時(shí)子程序的方法,選通某一位LED使其點(diǎn)亮并保持幾個(gè)ms左右的時(shí)間。
鍵盤在單片機(jī)應(yīng)用系統(tǒng)中,往往需要向單片機(jī)輸入一些指令或參數(shù),而單片機(jī)的運(yùn)行結(jié)果有時(shí)也需要通過外部顯示器或打印機(jī)輸出出來,以供操作者及時(shí)了解和掌握單片機(jī)的運(yùn)行狀況。這樣就構(gòu)成了一種人機(jī)的交互接口。由于單片機(jī)本身的特點(diǎn)決定了其無法具備鍵盤、顯示器、打印機(jī)等人機(jī)交互部件,所以只能通過其I/O口來擴(kuò)展這些功能。
鍵盤可分為編碼鍵盤和非編碼鍵盤。編碼鍵盤上閉合鍵的識(shí)別由專門的硬件實(shí)現(xiàn),非編碼鍵盤則通過軟件來即時(shí)實(shí)別。單片機(jī)一般都采用的是非編碼鍵盤。
評(píng)論