三種方法讀取鍵值 使用者設計行列鍵盤介面,一般常採用三種方法讀取鍵值。 中斷式 在鍵盤按下時產生一個外部中斷通知CPU,並由中斷處理程式通過不同位址讀資料線上的狀態判斷哪個按鍵被按下。 本實驗採用中斷式實現使用者鍵盤介面。 掃描法 對鍵盤上的某一行送低電位,其他為高電位,然後讀取列值,若列值中有一位是低,表明該行與低電位對應列的鍵被按下。否則掃描下一行。 反轉法 先將所有行掃描線輸出低電位,讀列值,若列值有一位是低表明有鍵按下;接著所有列掃描線輸出低電位,再讀行值。 根據讀到的值組合就可以查表得到鍵碼。4x4鍵盤按4行4列組成如圖電路結構。按鍵按下將會使行列連成通路,這也是見的使用者鍵盤設計電路。 //-----------4X4鍵盤程序--------------// uchar keboard(void) { uchar xxa,yyb,i,key; if((PINC&0x0f)!=0x0f) //是否有按鍵按下 {delayms(1); //延時去抖動 if((PINC&0x0f)!=0x0f) //有按下則判斷 { xxa=~(PINC|0xf0); //0000xxxx DDRC=0x0f; PORTC=0xf0; delay_1ms(); yyb=~(PINC|0x0f); //xxxx0000 DDRC=0xf0; //復位 PORTC=0x0f; while((PINC&0x0f)!=0x0f) //按鍵是否放開 { display(data); } i=4; //計算返回碼 while(xxa!=0) { xxa=xxa>>1; i--; } if(yyb==0x80) key=i; else if(yyb==0x40) key=4+i; else if(yyb==0x20) key=8+i; else if(yyb==0x10) key=12+i; return key; //返回按下的鍵盤碼 } } else return 17; //沒有按鍵按下 }
上傳時間: 2013-11-12
上傳用戶:a673761058
半導體的產品很多,應用的場合非常廣泛,圖一是常見的幾種半導體元件外型。半導體元件一般是以接腳形式或外型來劃分類別,圖一中不同類別的英文縮寫名稱原文為 PDID:Plastic Dual Inline Package SOP:Small Outline Package SOJ:Small Outline J-Lead Package PLCC:Plastic Leaded Chip Carrier QFP:Quad Flat Package PGA:Pin Grid Array BGA:Ball Grid Array 雖然半導體元件的外型種類很多,在電路板上常用的組裝方式有二種,一種是插入電路板的銲孔或腳座,如PDIP、PGA,另一種是貼附在電路板表面的銲墊上,如SOP、SOJ、PLCC、QFP、BGA。 從半導體元件的外觀,只看到從包覆的膠體或陶瓷中伸出的接腳,而半導體元件真正的的核心,是包覆在膠體或陶瓷內一片非常小的晶片,透過伸出的接腳與外部做資訊傳輸。圖二是一片EPROM元件,從上方的玻璃窗可看到內部的晶片,圖三是以顯微鏡將內部的晶片放大,可以看到晶片以多條銲線連接四周的接腳,這些接腳向外延伸並穿出膠體,成為晶片與外界通訊的道路。請注意圖三中有一條銲線從中斷裂,那是使用不當引發過電流而燒毀,致使晶片失去功能,這也是一般晶片遭到損毀而失效的原因之一。 圖四是常見的LED,也就是發光二極體,其內部也是一顆晶片,圖五是以顯微鏡正視LED的頂端,可從透明的膠體中隱約的看到一片方型的晶片及一條金色的銲線,若以LED二支接腳的極性來做分別,晶片是貼附在負極的腳上,經由銲線連接正極的腳。當LED通過正向電流時,晶片會發光而使LED發亮,如圖六所示。 半導體元件的製作分成兩段的製造程序,前一段是先製造元件的核心─晶片,稱為晶圓製造;後一段是將晶中片加以封裝成最後產品,稱為IC封裝製程,又可細分成晶圓切割、黏晶、銲線、封膠、印字、剪切成型等加工步驟,在本章節中將簡介這兩段的製造程序。
上傳時間: 2013-11-04
上傳用戶:372825274
開元的blog .如果不能打開左側資源列表中的內容、無法閱讀到圖書、注冊認證出現 網絡不通等情況: 您很可能是在局域網通過代理服務器上網,需要在超星閱覽器中設置代 理服務器。方法是: 在超星閱覽器的設置菜單中選擇使用IE設置(此時,IE中需要已經正確 填寫代理服務器對內IP地址和端口) 或者選擇自己設置-在提示框中填寫 代理服務器對內的IP地址和端口。
上傳時間: 2015-06-14
上傳用戶:開懷常笑
此程序基于ADC0809,它是CMOS的8位A/D轉換器,片內有8路模擬開關,可控制8個模擬量中的一個進入轉換器中。
上傳時間: 2015-07-16
上傳用戶:小寶愛考拉
SHIFT_8REG是8位的一個具有移位功能的寄存器,每一次數據打入都會從這個寄存器的最低位打入,并相應進行向左移位。 ODD_110BREG是一個3位的備份寄存器,寄存器中存放的是奇數幀的同步頭,也就是110。 EVEN_9BHREG是一個8位的備份寄存器,寄存器中存放的是偶數幀的同步頭,也就是10011011。這兩個寄存器的初始值在系統一開始就打入。
上傳時間: 2015-07-25
上傳用戶:TRIFCT
mp3播放器的delphi設計,功能: 1。主窗口。 主窗口的功能有:動態顯示音頻波表,左右聲道調整,暫停,繼續,循環,下一首,上一首等。 2。歌曲目錄。 這個程序是完全模擬Winamp寫成的。不論是主窗口還使三個窗口的組合,在歌曲目錄窗口中支持雙擊某首歌曲的播放,支持多個文件的同時打開,支持從資源管理器中拖放文件,支持歌曲目錄的二次打開和保存,通過主窗口您能有選擇的播放單個文件,按順序播放和隨機播放目錄表中的文件。
上傳時間: 2015-10-12
上傳用戶:cc1015285075
貝葉斯分類器是一種最優分類器,它假設基于可獲得的信息可以建立類別的概率密度函數,然后基于最小錯誤率分類準則進行分類。一般假設概率密度函數是正態分布,因為正態分布數學基礎較好。問題就轉化為正態分布參數的估計問題。幸運的是,參數估計問題已經被很好的解決了。 基于正態分布的協方差的不同,正態概率分布型的貝葉斯分類器可分為:歐式距離分類器、馬氏距離分類器、線性判別分析、對角線性判別分析、二次判別分析和對角二次判別分析。 在具有模式的完整統計知識條件下,按照貝葉斯決策理論進行設計的一種最優分類器。分類器是對每一個輸入模式賦予一個類別名稱的軟件或硬件裝置,而貝葉斯分類器是各種分類器中分類錯誤概率最小或者在預先給定代價的情況下平均風險最小的分類器。它的設計方法是一種最基本的統計分類方法。 目標:編程實現正態概率分布型的貝葉斯分類器。
上傳時間: 2014-01-05
上傳用戶:葉山豪
ARM綜合板子分時電度器計算電價,用電時數,分時用電時數,在不同寄存器中存儲。
上傳時間: 2015-12-02
上傳用戶:stella2015
一個類似VB代碼編輯器.通過一個多文檔模板導出,很容易實現實現復用,自己開發的,用在腳本編輯器中。
上傳時間: 2014-01-25
上傳用戶:redmoons
用8253作為秒定時器,每0.1秒8253周期定時中斷,8253的OUT0接到8259的IRO端,8259向8086產生中斷請求,中斷類型號為08H。程序開辟秒、分、小時、寄存器單元,秒寄存器每記數滿60,分寄存器值加1,同時秒寄存器清0。分寄存器每記數滿60,小時寄存器值加1,同時分寄存器清0。秒、分、小時寄存器中的二進制值轉換成BCD碼后,送6位LED數碼管顯示。
上傳時間: 2014-01-25
上傳用戶:懶龍1988