三種方法讀取鍵值 使用者設(shè)計(jì)行列鍵盤介面,一般常採(cǎi)用三種方法讀取鍵值。 中斷式 在鍵盤按下時(shí)產(chǎn)生一個(gè)外部中斷通知CPU,並由中斷處理程式通過(guò)不同位址讀資料線上的狀態(tài)判斷哪個(gè)按鍵被按下。 本實(shí)驗(yàn)採(cǎi)用中斷式實(shí)現(xiàn)使用者鍵盤介面。 掃描法 對(duì)鍵盤上的某一行送低電位,其他為高電位,然後讀取列值,若列值中有一位是低,表明該行與低電位對(duì)應(yīng)列的鍵被按下。否則掃描下一行。 反轉(zhuǎn)法 先將所有行掃描線輸出低電位,讀列值,若列值有一位是低表明有鍵按下;接著所有列掃描線輸出低電位,再讀行值。 根據(jù)讀到的值組合就可以查表得到鍵碼。4x4鍵盤按4行4列組成如圖電路結(jié)構(gòu)。按鍵按下將會(huì)使行列連成通路,這也是見的使用者鍵盤設(shè)計(jì)電路。 //-----------4X4鍵盤程序--------------// uchar keboard(void) { uchar xxa,yyb,i,key; if((PINC&0x0f)!=0x0f) //是否有按鍵按下 {delayms(1); //延時(shí)去抖動(dòng) if((PINC&0x0f)!=0x0f) //有按下則判斷 { xxa=~(PINC|0xf0); //0000xxxx DDRC=0x0f; PORTC=0xf0; delay_1ms(); yyb=~(PINC|0x0f); //xxxx0000 DDRC=0xf0; //復(fù)位 PORTC=0x0f; while((PINC&0x0f)!=0x0f) //按鍵是否放開 { display(data); } i=4; //計(jì)算返回碼 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; //沒(méi)有按鍵按下 }
上傳時(shí)間: 2013-11-12
上傳用戶:a673761058
本技術(shù)文章將介紹如何運(yùn)用 NI LabVIEW FPGA 來(lái)設(shè)計(jì)並客製化個(gè)人的 RF 儀器,同時(shí)探索軟體設(shè)計(jì)儀器可為測(cè)試系統(tǒng)所提供的優(yōu)勢(shì)。
上傳時(shí)間: 2013-11-24
上傳用戶:toyoad
半導(dǎo)體的產(chǎn)品很多,應(yīng)用的場(chǎng)合非常廣泛,圖一是常見的幾種半導(dǎo)體元件外型。半導(dǎo)體元件一般是以接腳形式或外型來(lái)劃分類別,圖一中不同類別的英文縮寫名稱原文為 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 雖然半導(dǎo)體元件的外型種類很多,在電路板上常用的組裝方式有二種,一種是插入電路板的銲孔或腳座,如PDIP、PGA,另一種是貼附在電路板表面的銲墊上,如SOP、SOJ、PLCC、QFP、BGA。 從半導(dǎo)體元件的外觀,只看到從包覆的膠體或陶瓷中伸出的接腳,而半導(dǎo)體元件真正的的核心,是包覆在膠體或陶瓷內(nèi)一片非常小的晶片,透過(guò)伸出的接腳與外部做資訊傳輸。圖二是一片EPROM元件,從上方的玻璃窗可看到內(nèi)部的晶片,圖三是以顯微鏡將內(nèi)部的晶片放大,可以看到晶片以多條銲線連接四周的接腳,這些接腳向外延伸並穿出膠體,成為晶片與外界通訊的道路。請(qǐng)注意圖三中有一條銲線從中斷裂,那是使用不當(dāng)引發(fā)過(guò)電流而燒毀,致使晶片失去功能,這也是一般晶片遭到損毀而失效的原因之一。 圖四是常見的LED,也就是發(fā)光二極體,其內(nèi)部也是一顆晶片,圖五是以顯微鏡正視LED的頂端,可從透明的膠體中隱約的看到一片方型的晶片及一條金色的銲線,若以LED二支接腳的極性來(lái)做分別,晶片是貼附在負(fù)極的腳上,經(jīng)由銲線連接正極的腳。當(dāng)LED通過(guò)正向電流時(shí),晶片會(huì)發(fā)光而使LED發(fā)亮,如圖六所示。 半導(dǎo)體元件的製作分成兩段的製造程序,前一段是先製造元件的核心─晶片,稱為晶圓製造;後一段是將晶中片加以封裝成最後產(chǎn)品,稱為IC封裝製程,又可細(xì)分成晶圓切割、黏晶、銲線、封膠、印字、剪切成型等加工步驟,在本章節(jié)中將簡(jiǎn)介這兩段的製造程序。
上傳時(shí)間: 2013-11-04
上傳用戶:372825274
一、PAC的概念及軟邏輯技術(shù)二、開放型PAC系統(tǒng)三、應(yīng)用案例及分析四、協(xié)議支持及系統(tǒng)架構(gòu)五、軟件編程技巧&組態(tài)軟件的整合六、現(xiàn)場(chǎng)演示&上機(jī)操作。PAC是由ARC咨詢集團(tuán)的高級(jí)研究員Craig Resnick提出的,定義如下:具有多重領(lǐng)域的功能,支持在單一平臺(tái)里包含邏輯、運(yùn)動(dòng)、驅(qū)動(dòng)和過(guò)程控制等至少兩種以上的功能單一開發(fā)平臺(tái)上整合多規(guī)程的軟件功能如HMI及軟邏輯, 使用通用標(biāo)簽和單一的數(shù)據(jù)庫(kù)來(lái)訪問(wèn)所有的參數(shù)和功能。軟件工具所設(shè)計(jì)出的處理流程能跨越多臺(tái)機(jī)器和過(guò)程控制處理單元, 實(shí)現(xiàn)包含運(yùn)動(dòng)控制及過(guò)程控制的處理程序。開放式, 模塊化構(gòu)架, 能涵蓋工業(yè)應(yīng)用中從工廠的機(jī)器設(shè)備到過(guò)程控制的操作單元的需求。采用公認(rèn)的網(wǎng)絡(luò)接口標(biāo)準(zhǔn)及語(yǔ)言,允許不同供應(yīng)商之設(shè)備能在網(wǎng)絡(luò)上交換資料。
標(biāo)簽: PAC 開放式 系統(tǒng)設(shè)計(jì)
上傳時(shí)間: 2014-01-14
上傳用戶:JGR2013
魔陣的又一個(gè)實(shí)例。 你輸入一個(gè)素?cái)?shù),之後將會(huì)在相同的目錄下面 生成一個(gè).txt文件,裏面有一個(gè)n*n的魔陣
標(biāo)簽:
上傳時(shí)間: 2015-01-14
上傳用戶:weiwolkt
這是用verilog寫的一個(gè)簡(jiǎn)單的處理器,雖然只具有5個(gè)指令,但是可以透過(guò)這個(gè)範(fàn)例,來(lái)了解到cpu的架構(gòu),與如何開發(fā)處理器,相信會(huì)有很大的啟發(fā)。
標(biāo)簽: verilog
上傳時(shí)間: 2014-12-08
上傳用戶:ikemada
S3C44B0X晶片的BOOTLOADER,結(jié)構(gòu)簡(jiǎn)單易懂,具有TFTP下載功能,使用ads運(yùn)行。
標(biāo)簽: BOOTLOADER S3C44B0X 晶片
上傳時(shí)間: 2015-03-31
上傳用戶:我們的船長(zhǎng)
一般軟件做出來(lái)后,都只能在一個(gè)環(huán)境下,運(yùn)行(繁體或者簡(jiǎn)體)如我們加入Delphi的繁簡(jiǎn)轉(zhuǎn)換代碼,即可解決這個(gè)問(wèn)題
標(biāo)簽:
上傳時(shí)間: 2014-11-15
上傳用戶:wanqunsheng
lcd的源程式,把51的正負(fù)極接至lcd,及接好控制腳位,再將lcd.asm檔compile後,lcd便會(huì)產(chǎn)生我們寫入的效果
上傳時(shí)間: 2013-12-20
上傳用戶:woshini123456
led的源程式,把51的正負(fù)極接至led,再將led.asm檔compile後,led便會(huì)產(chǎn)生一明一暗的效果
上傳時(shí)間: 2015-04-17
上傳用戶:waitingfy
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1