《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 可在系統(tǒng)編程的智能鍵盤和數(shù)碼管顯示系統(tǒng)

可在系統(tǒng)編程的智能鍵盤和數(shù)碼管顯示系統(tǒng)

2008-06-17
作者:王世偉, 杜運峰, 蔣兆遠

  摘 要: 智能儀器" title="智能儀器">智能儀器系統(tǒng)中的在系統(tǒng)編程" title="在系統(tǒng)編程">在系統(tǒng)編程(ISP)技術(shù)及其在儀器系統(tǒng)中在線編程的實現(xiàn)、應(yīng)用前景等進行了分析。介紹了P89C669相對于傳統(tǒng)51系列單片機的增強特性,并給出P89C669快閃存儲器的ISP實現(xiàn)電路和具體方法。結(jié)合實際介紹了一種可以在系統(tǒng)編程的智能鍵盤、數(shù)碼管顯示系統(tǒng)。
  關(guān)鍵詞: 在系統(tǒng)編程(ISP) P89C669 數(shù)碼管 快閃存儲器 單片機


  在使用傳統(tǒng)的單片機開發(fā)應(yīng)用系統(tǒng)時,通常需要對單片機片內(nèi)資源進行擴展以滿足系統(tǒng)的功能要求。這就增加了系統(tǒng)的開發(fā)難度和開發(fā)成本,更重要的是由于擴展使硬件結(jié)構(gòu)變得復(fù)雜而降低了系統(tǒng)的可靠性。隨著技術(shù)的進步,可以采用新型技術(shù)彌補以上不足。
  P89C669是基于PHILIPS半導(dǎo)體新51MX(存儲器擴展)內(nèi)核的首類Flash微控制器代表,它包含96KB的Flash程序存儲器" title="程序存儲器">程序存儲器、2KB的數(shù)據(jù)SRAM、一個可編程計數(shù)器陣列(PCA)、可配置成不同時間范圍的看門狗定時器(通過SFR的位設(shè)置)和兩個增強型UART。PHILIPS半導(dǎo)體的5lMX內(nèi)核是一種加速的80C51" title="80C51">80C51結(jié)構(gòu),指令執(zhí)行速度2倍于標準的80C51器件。5lMX的線性地址經(jīng)擴展后可支持高達8MB的程序存儲器和8MB的數(shù)據(jù)存儲器;兼容80C51的全部程序代碼,使設(shè)計者可繼續(xù)使用80C51的開發(fā)工具,無需移植到一個新的、不習(xí)慣的結(jié)構(gòu)上;保留了80C51總線的兼容性,使80C51接口外圍電路和專用集成電路(ASIC)得以繼續(xù)使用。P89C669提供更強大的功能,大大提高了系統(tǒng)性能并降低了系統(tǒng)開銷。結(jié)合增強的特性,P89C669利用嵌入式存儲器來管理存儲器的擴展,摒除了軟件平臺的使用。擴展的程序存儲器便于設(shè)計者利用高級語言(如C語言)來編寫更復(fù)雜的程序代碼,而不必再努力將程序長度限制在傳統(tǒng)的64KB范圍內(nèi)。這些特性將大大提高64KB范圍內(nèi)的C語言代碼的執(zhí)行效率。P89C669包含一個非易失性Flash程序存儲器,可用于并行編程以及串行在系統(tǒng)編程和在應(yīng)用中編程。ISP允許用戶在微控制器正在使用時下載新的代碼。而且可利用ROM中的默認串行裝載程序(引導(dǎo)裝載程序)通過UART來實現(xiàn),或者使用Flash的裝載程序。這就大大地提高了系統(tǒng)軟件更新的效率和可靠性;在應(yīng)用中編程意味著微控制器可在系統(tǒng)中取新程序代碼和對自身進行重編程,以實現(xiàn)調(diào)制解調(diào)器連接范圍內(nèi)的遠程編程。
  顯示和鍵盤控制是智能應(yīng)用系統(tǒng)最常用的組成模塊。zlg7289A是一片具有串行接口的可同時驅(qū)動8位共陰式數(shù)碼管(或64只獨立LED)的智能顯示驅(qū)動芯片,該芯片同時還可連接多達64 鍵的鍵盤矩陣,單片即可完成LED 顯示及鍵盤接口的全部功能。
1 系統(tǒng)實現(xiàn)的功能
  (1) 在智能儀器應(yīng)用過程中需要對應(yīng)用系統(tǒng)軟件功能更新時,不必把P89C669微控制器從系統(tǒng)中取出,可以直接通過串行接口對其編程,實現(xiàn)系統(tǒng)軟件的在系統(tǒng)編程進行更新。
  (2) 由CPU控制的zlg7289A顯示、鍵盤接口芯片可以實現(xiàn)由鍵盤輸入對數(shù)碼管(LED)的靈活控制,顯示常用字母和數(shù)值,方便地嵌入各種智能儀器系統(tǒng)中用于顯示儀器的相關(guān)信息。
2 系統(tǒng)功能的實現(xiàn)方案
2.1 ISP技術(shù)簡介

  智能儀器系統(tǒng)是基于單片機技術(shù)的,是典型的嵌入式系統(tǒng)。因此,單片機技術(shù)的發(fā)展對智能儀器的發(fā)展起著重要的作用;同樣,智能儀器系統(tǒng)的發(fā)展也對單片機的發(fā)展提出了更高的要求??扉W存儲器比普通的EPROM存儲器的改進之處是不僅可以讀,而且可以用軟件快速地擦除和寫入,使得ISP技術(shù)成為現(xiàn)實。ISP技術(shù)(即在系統(tǒng)內(nèi)可編程技術(shù)),是指電路板上的空白器件可以編程寫入最終用戶代碼,而不需要從電路板上取下器件,已經(jīng)編程的器件也可以用ISP方式擦除或再編程。
2.2 在系統(tǒng)編程的實現(xiàn)
  P89C669的在系統(tǒng)編程通過標準RS-232C串口來完成。它是一種內(nèi)嵌的在線可編程技術(shù),只需要增加少量的電路板面積和元件,所以只要微機配備了RS-232C串口,就可以直接通過下載電纜來完成程序的下載,使用非常方便。具備ISP功能的智能儀器系統(tǒng)和普通智能儀器系統(tǒng)的設(shè)計沒太大的區(qū)別,僅僅在Rs-232c串口的設(shè)計上做一下小的變動即可,ISP用到5個管腳:TXD、RXD、VSS、Vcc和VPP,對于P89C669來說,VPP=5V即可。在系統(tǒng)編程硬件電路如圖1所示。
  由于P89C669編程狀態(tài)和正常運行狀態(tài)的某些管腳定義不一樣,因此在系統(tǒng)上可以設(shè)置一個雙刀雙置開關(guān),當此開關(guān)位于上端時,為正常運行狀態(tài),此時的串行口為正常運行方式,其管腳如下連接:VPP接+5V;/PSEN 和ALE均浮空;當雙刀雙置開關(guān)位于下端時,P89C669便退出正常運行方式,進入ISP運行狀態(tài),程序計數(shù)器切入固件空間為ISP做好準備。此時的管腳如下連接:VPP接+5V,/PSEN接高電平(參考電平為5V),AlE 浮空。
2.3 顯示、鍵盤功能的實現(xiàn)
  zlg7289A內(nèi)部含有譯碼器可直接接受BCD 碼或16 進制碼,并同時具有兩種譯碼方式;而且還具有多種控制指令如消隱﹑閃爍﹑左移﹑右移﹑段尋址等;此外zlg7289A 具有片選信號,因此稍作擴展可方便地實現(xiàn)多于8 位的顯示或多于64 鍵的鍵盤接口。

?


  (1)zlg7289A引腳說明如表1所示。
  (2)串行接口通信。zlg7289A 采用串行方式與微處理器通信。串行方式通信時,串行數(shù)據(jù)從DATA 引腳送入芯片并由CLK端同步,當片選信號變?yōu)榈碗娖胶?,DATA引腳上的數(shù)據(jù)在CLK 引腳的上升沿被寫入zlg7289A 的緩沖寄存器。
  (3)指令類型。zlg7289A 的指令結(jié)構(gòu)有3種類型:①不帶數(shù)據(jù)的純指令,其寬度為8位,即微處理器需發(fā)送8個CLK脈沖。②帶有數(shù)據(jù)的指令,其寬度為16位,即微處理器需發(fā)送16個CLK脈沖。③讀取鍵盤數(shù)據(jù)指令寬度為16位,前8位為微處理器發(fā)送到zlg7289A的指令,后8位為zlg7289A返回的鍵盤代碼。執(zhí)行此指令時zlg7289A的DATA端在第9個CLK脈沖的上升沿變?yōu)檩敵鰻顟B(tài)并于第16個脈沖的下降沿恢復(fù)為輸入狀態(tài),等待接收下一個指令。
  (4)硬件連接方案。
 ?、俦鞠到y(tǒng)采用P89C669微處理器作為zlg7289的中央處理器,這種微處理器有4個雙向口。通常情況下,P0口和P2口作為地址和數(shù)據(jù)總線使用,因而采用P1的4個引腳P1.0、P1.1、P1.2、P1.3分別控制zlg7289的/CS、/KEY、DIO和CLK引腳。
 ?、跀?shù)碼管常用的連接方式有:共陽式連接和共陰式連接。根據(jù)zlg7289的內(nèi)部特性,數(shù)碼管采用共陰式連接。系統(tǒng)顯示和鍵盤控制的硬件連接如圖2所示。


  (5)硬件連接的注意事項
 ?、賨lg7289A連接共陰式數(shù)碼管,應(yīng)用中無需用到的數(shù)碼管和鍵盤可以不連接。省去的數(shù)碼管和對數(shù)碼管設(shè)置的消隱屬性均不會影響鍵盤的使用。
 ?、谌绻挥面I盤則系統(tǒng)電路中連接到鍵盤的8只10kΩ電阻和8只100kΩ下拉電阻" title="下拉電阻">下拉電阻均可以省去。如果使用了鍵盤,則電路中以上2只電阻均不得省略。除非不接數(shù)碼管,否則串入DP及SG-SA連線的8只電阻均不能省去。
 ?、蹖嶋H應(yīng)用中,8只下拉電阻和8條鍵盤連接位選線DIG0~DIG7的8只位選電阻應(yīng)遵從一定的比例關(guān)系,下拉電阻應(yīng)大于位選電阻的5倍而小于其50倍。典型值應(yīng)為10倍,下拉電阻的取值范圍是10~100kΩ,位選電阻的取值范圍是1~10kΩ。
  ④在不影響顯示的前提下,下拉電阻應(yīng)盡可能地取較小的值。這樣可以提高鍵盤部分的抗干擾能力。由于采用循環(huán)掃描的工作方式,如果采用普通的數(shù)碼管亮度有可能不夠,則應(yīng)采用高亮度或超高亮型號的數(shù)碼管或者另加驅(qū)動電路來解決這個問題。
  ⑤數(shù)碼管的尺寸不宜選得過大,一般字符高度不超過1英寸。如使用大型的數(shù)碼管應(yīng)使用適當?shù)尿?qū)動電路。
 ?、込lg7289A需要一外接晶體振蕩電路供系統(tǒng)工作,其典型值分別為:F=16MHz,C=15pF。如果芯片無法正常工作,請首先檢查此振蕩電路。在印刷電路板布線時,所有元件尤其是振蕩電路的元件應(yīng)盡量靠近zlg7289A,并盡量使電路連線最短。
 ?、遺lg7289A的RESET復(fù)位端在一般應(yīng)用情況下可以直接和Vcc 相連,在需要較高可靠性的情況下可以連接一外部復(fù)位電路或直接由MCU 控制。
  ⑧在上電或RESET端由低電平變?yōu)楦唠娖胶?,zlg7289A大約要經(jīng)過18~25ms的時間才會進入正常工作狀態(tài)。
 ?、岢绦蛑斜M可能地減少CPU對zlg7289A的訪問次數(shù),可使程序更有效率。因為芯片直接驅(qū)動LED數(shù)碼管顯示電流較大且為動態(tài)掃描方式,如果該部分電路電源連線較細較長可能會引入較大的電源噪聲干擾。若在電源的正負極并入一個47~220μF的電容可以提高電路抗干擾的能力。
 ?、馊绻袃蓚€鍵同時按下,zlg7289A將只能給出其中一個鍵的代碼,因此zlg7289A不適于應(yīng)用在需要兩個或兩個以上鍵同時按下的場合。
3 結(jié)論與展望
  以上所描述的在系統(tǒng)編程電路圖中,將P89C669的P1.0~P1.3與顯示、鍵盤組成部件的電路圖中,將zlg7289A芯片的串行控制口線連接到一起后便形成了完整的可在系統(tǒng)編程的鍵盤、數(shù)碼管顯示系統(tǒng)。該系統(tǒng)顯示模塊結(jié)構(gòu)簡單,只用zlg7289單片即可完成鍵盤、數(shù)碼管顯示控制的全部功能。該系統(tǒng)可以用于現(xiàn)有各種智能儀器的實時數(shù)據(jù)顯示,而且根據(jù)實際要求運用ISP技術(shù)可以進行系統(tǒng)在線升級。由于P89C669中含有快閃存儲器,存儲空間可達96KB,因而避免了擴展片外的程序存儲器,降低了系統(tǒng)開發(fā)和改進的工作量,更重要的是提高了系統(tǒng)工作的可靠性。
參考文獻
1 P89cslRc+/P89cslRo+. 飛利浦半導(dǎo)體出廠資料,2004
2 李廣弟.單片機基礎(chǔ).北京:北京航空航天大學(xué)出版社,2002
3 何立民.MCS-51系列單片機應(yīng)用系統(tǒng)設(shè)計.北京:北京航空航天大學(xué)出版社,2000
4 靳 桅.單片機原理及應(yīng)用—C51編程技術(shù).成都:西南交通大學(xué)出版社,2004

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。