嵌入式linux設(shè)備驅(qū)動開發(fā)詳解光盤技術(shù)手冊hd7279a_第1頁
嵌入式linux設(shè)備驅(qū)動開發(fā)詳解光盤技術(shù)手冊hd7279a_第2頁
嵌入式linux設(shè)備驅(qū)動開發(fā)詳解光盤技術(shù)手冊hd7279a_第3頁
嵌入式linux設(shè)備驅(qū)動開發(fā)詳解光盤技術(shù)手冊hd7279a_第4頁
嵌入式linux設(shè)備驅(qū)動開發(fā)詳解光盤技術(shù)手冊hd7279a_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

串行接口8位LED數(shù)碼管及64鍵鍵盤智能控圖圖DA8位共陰式數(shù)碼管(或64只獨立ED)的智能顯示驅(qū)動芯片該同可多鍵矩陣DHD7279A內(nèi)部含有譯可直接接受BCD碼或16進制碼并同時具有2種譯碼方式參見后文此外還具有多種控制指令如消隱閃爍左移右移段尋址等 (循環(huán))左移/(循環(huán))右移指 內(nèi)含去抖動電路圖電特 V不接35 V0V7s58s58sss58s58s讀鍵盤數(shù)據(jù)完成后DATA5s表1235 46 7 8串行數(shù)據(jù)輸入/輸出端當接收指令時此引腳為輸入端當鍵盤數(shù)據(jù)時此引腳在讀指令最9 10-段 18- 表 復位(清除)指令1O1OO1OO 1O111111 10100001使所有的顯示自右向左(從第1位向第8位)移動一位(包括處千消隱狀態(tài)的顯示位 4252LP39 和第4 25252LP39

例 原10100000 但所做移動為自左向右(從第8位向第1位)移動移動后 10100011 不同之處在千移動后原最左邊一位(第8位)的內(nèi)容顯示千最右位(1位)在上例 252LP394 10100010 數(shù)據(jù)且按方式O譯DDl????aXXXd 其中 aO為位地 (顯示位編號請參閱典型應用電路圖a???l??l2?l?3?ll4l??5l?l6ll?7lll8 HD7279A按以下規(guī)則(譯碼方式O)進行譯 d3-d。(十六進制d。。????O。???l1。??l?2。??ll3。?l??4。?l?l5。?ll?6。?lll7。l???8。l??l9。l?l?。l?llE。ll??H。ll?lL。lll?P。llll空(無顯示

DP=1 DD11??1aXXXdX=無 d3-d。(十六進制d。。?????。???11。??1?2。??113。?1??4。?1?15。?11?6。?1117。1???8。1??19。1?1?A。1?11b。11??c。11?1d。111?E。1111F表 DD1??1?aABCDEFG其中 a。為位地址(參見 指令)A-G和DP為顯示數(shù) 1OOO1OOO此命令控制各個數(shù)碼管的閃爍屬性

d1-d8分別對應數(shù)碼管1- 0=閃 1=不1OO11OOO d1-d8分別對應數(shù)碼管1-8 因此在這種情況下無對該位寫入何值均不會被顯示但寫入的值將被保留在將該位重新設(shè)為顯示狀態(tài)后最后一次寫入的數(shù)據(jù)將被顯示出來當無需用到全部8個數(shù)碼管顯示的時候?qū)⒉挥玫奈辉O(shè)為消隱屬性可以提高顯示的亮度注意至少應有一位保持顯示狀態(tài)如果消隱控制指令中d1-d8全部為0該指令將不被接受HD7279A保持原來的消隱狀態(tài)不變111OOOOOXX此為段尋址指 作用為點亮數(shù)碼管中某一指定的 或LED矩陣中某一指定LED指令中X=無影響d0-d5為段地址范圍從00H3FH具體分配為第1個數(shù)碼管的G段地址為00HF段為 A段為06H小數(shù)點DP為07H第2

11OOOOOOXX 作用為關(guān)閉(熄滅)數(shù)碼管中的某一段指令結(jié)構(gòu)與 OOO1O1O1該指令從HD7279A讀出當前的按鍵代 與其它指令不 此命令的前一個字B為微控制器傳送到HD7279A的指 而后一個字節(jié) d7則為HD7279A (

請參閱圖 以接受來自微處理器的 處理器連接到DATA引腳的0口應有一從輸出態(tài)到輸入態(tài)的轉(zhuǎn)換過 讀鍵盤數(shù)據(jù)指令則輸出當前按鍵的鍵盤代

HD7279A將輸出FFHHD7279A采用串行方式與微處理器通 串行數(shù)據(jù)從DATA引腳送入并

送16個CLK脈沖3鍵盤數(shù)據(jù)指令寬度為16個BIT前8個為微處理器發(fā)送HD7279A的指令后8個BIT為HD7279A返回的鍵盤代碼執(zhí)行此指令時HD7279A的DATA端在第9個CLK脈沖的上升沿變?yōu)檩敵鰻顟B(tài)并與第16個脈沖的下降沿恢復為輸入狀態(tài)等待接收下一個指令 8位指令 8位數(shù)據(jù) 讀鍵盤指令8 )HD7279A輸出的鍵盤代碼(8 HD7279A應連接共陰式數(shù)碼管應用中無需用到的鍵盤和數(shù)碼管可以不連接省如果不用鍵盤則典型電路圖中連接到鍵盤的8只10K電阻和8只100K下拉電阻均可以省去如果使用了鍵盤則電路中的8只100K下拉電阻均不得省略除非不接入數(shù)碼管否則串入DP及SASG連線的8只200電阻均不能省去實應8下電8鍵連位線7只阻以下簡稱位選電阻應遵從一定的例關(guān)系下拉電阻大千位電阻5倍而千其0倍典型值為1倍1K-K1-K在不影 這樣可以提高鍵盤部分的能因為采用循環(huán)掃描的工作方式如果采用普通的數(shù)碼管亮度有可能不夠采用高亮或亮的型號可以解決這個問題數(shù)碼管的尺寸亦不宜選得過大一般字符高度不宜超過1英寸如使用大型的數(shù)碼管應使用適當?shù)尿?qū)動電路HD7279A需要一外接的RC振蕩電路以供系統(tǒng)工作其典型值分別為R=15KC=15pF如果無法正常工作請首先檢查此振蕩電路在印刷電路板布線時所有元件尤其是振蕩電路的元件應盡量靠近HD7279A并盡量使電路連線最短HD7279A的RESET復位端在一般應用情況下可以直接與正電源連接在需要較高可靠性的情況下可以連接一外部的復位電路或直接由MCU單片機控制在上

上電后所有的顯示均為空所有顯示位的顯示屬性均為顯示及不閃爍當有鍵按下時KEY引腳輸出變?yōu)榈碗娖酱藭r如果接收到讀鍵盤指令HD7279A輸出所按下鍵的代碼鍵盤代碼的定義請參閱圖2及典型應用電路圖圖中的鍵號即鍵盤代碼圖中代碼以10進制表示如果在沒有按鍵的情況下收到讀鍵盤指令程序中盡可能地減少CPU對HD7279A的次數(shù)可以使得程序更有效因為直接驅(qū)動LED數(shù)碼管顯示電流較大且為動態(tài)掃描方式故如果該部分電路電源連線較細較長可能會引入較大的電源噪聲干擾將HD7279A的正負電源端上并入去耦電容可以提高電路的能力注意如果有2個鍵同時按下HD7279A將只能給出其中一個鍵的代碼因此下面給出ATMEL公司的AT89C2051及MICROCHIP公司的PIC16C54與 然后將所讀到的鍵盤 硬件連接如 AT89C2051所用時鐘頻率為 程序使用FrankinA51編譯 程序中延時時間以HD7279A外接R=15K,C=15pF為準 $title(HD7279ATestRAMI/O;HD7279A的DATA連接千;HD7279A的KEY連接千;HD7279A的CS連接千;HD7279A的CLK連接千;定義堆棧B;I/O口初始化;延時約START_DELAY:MOV ;設(shè)CS

BCD碼轉(zhuǎn)B;發(fā)2次左移指 ;內(nèi)容左移,留出;BB;數(shù)據(jù)且譯碼指令(第2位;發(fā)送十位數(shù)字到 B;數(shù)據(jù)且譯碼指令(第;位;發(fā)送1個字節(jié)到HD7279;設(shè)定位記數(shù)器;設(shè)CS; ;設(shè)CLK ; ;設(shè)CLK ; BIT_COUNT,SEND_LOOP;檢查是否8位均發(fā)送完畢 ;設(shè)定位記數(shù)器;設(shè)P1.2(DATA)口為;(輸入狀態(tài);A;一位數(shù);置CLK BIT_COUNT,RECEIVE_LOOP;是否已接收8 LONG_DELAY:MOV DELAY_LOOP:DJNZ SHORT_DELAY: ;設(shè)定延時時間為約 PC16C54硬件連接如 PC16C54所用時鐘頻率 程序使用MCROCHP公司 程序中延時時間以HD7279A外接R=15K,C= I/O

P

0;CS連接千16C54的1;CLK連接千16C65的2;DAT連接千16C54的3;KEY連接千16C54的

SHORT_DELAYMOVLW ;發(fā)送1個字節(jié)到HD7279;待發(fā)送數(shù)據(jù)存入;設(shè)定位記數(shù)器;設(shè)CS;;輸出1;設(shè)CLK;;設(shè)CLK;檢查是否8位均;未發(fā)送 0;發(fā)送完 返 ;設(shè)定位記數(shù)器';設(shè)RA2(DATA)口為;RECEIVE_LOOP;置CLK;;一位數(shù) ;置CLK

;是否已接收8 ';重新設(shè)RA2(DATA)口為輸出態(tài) ';I/O口初始化';延時約 ;發(fā)復位(清除)指;恢復CS為高電 ;檢測是否';有鍵按 ;發(fā)送讀鍵;從HD7279A讀鍵;設(shè)CS;16進 BCD碼轉(zhuǎn) ;發(fā)送按鍵的BCD碼到;發(fā)2次左移指 ;留出空位';左移指令;發(fā)送指令到';左移指令;發(fā)送指令到';數(shù)據(jù)且譯碼指令(第2位;發(fā)送指令到;發(fā)送十位數(shù)字到';數(shù)據(jù)且譯碼指令(第1位;發(fā)送指令到;發(fā)送個位數(shù)字到;等待按鍵放附錄一:用千MCS51的C語言例子程這是用千HD7279A評估板的C51程序,使用C語言編程的//***函數(shù)定義void voidshort_delay(void);

延時voidwrite7279(unsignedcharunsignedchar寫入到HD7279unsignedcharread7279(unsignedchar);//從HD7279讀出voidsend_byte(unsignedchar);

//***變量及I/O口定 unsignedchardigit[5];unsignedcharkey_number,j,k;unsignedinttmr;unsigned sbit //csatsbit //sbit //sbit //

//******HD7279A指令******#defineCMD_RESET0xa4#defineCMD_TEST0xbf#defineDECODE00x80#defineDECODE10xc8#defineCMD_READ0x15#defineUNDECODE0x90#defineACTCTL0x98#defineSEGON0xe0#defineSEGOFF0xc0#defineBLINKCTL0x88//***主程序***{while{for(tmr=0;tmr<0x2000;tmr++);

for {

延時約3}

如果10write7279(BLINKCTL,0xfc);//write7279(UNDECODE,0X08);//{

第12兩位設(shè)為閃爍顯示if {

while

}while(key_number!=0 //如果按鍵 0和超時則進入下一步演write7279(BLINKCTL,0xff);// for {

}while {

如果計數(shù)達到20000就停if{if{if{if{if{}}}}}if(digit[0]==0){if{if(digit[2]==0){if(digit[3]==0){}}}}} 在第8位按不譯碼方式顯示一字符'三' 循環(huán)左/ "三"字向右運動3次,再向左運動3for(j=0;j<23;j++){ }

循環(huán)右移23for{ }

循環(huán)左移23 譯碼方式0for(j=0;j<16;j++){ //譯碼方式0指 顯示在第1

} 譯碼方式1for(j=0;j<16;j++){ //譯碼方式0指 顯示在第8

} for{}

for(j=0;j<64;j++){write7279(SEGON,j);//write7279(SEGOFF,j-1);//}}}

voidwrite7279(unsignedcharcmd,unsignedchar{}unsignedcharread7279(unsignedchar{}void unsignedchar{unsignedchari;{if{}{}

}}unsignedchar{unsignedchari,in_byte; {

if(dat){}

}

return}void{unsignedcharfor}void{unsignedchari;}*********************延時n*10ms**********************voiddelay10ms(unsignedchar

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論