三種方法讀取鍵值 使用者設(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ì)使行列連成通路,這也是見(jiàn)的使用者鍵盤設(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) //按鍵是否放開(kāi) { 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
PCB LAYOUT 術(shù)語(yǔ)解釋(TERMS)1. COMPONENT SIDE(零件面、正面)︰大多數(shù)零件放置之面。2. SOLDER SIDE(焊錫面、反面)。3. SOLDER MASK(止焊膜面)︰通常指Solder Mask Open 之意。4. TOP PAD︰在零件面上所設(shè)計(jì)之零件腳PAD,不管是否鑽孔、電鍍。5. BOTTOM PAD:在銲錫面上所設(shè)計(jì)之零件腳PAD,不管是否鑽孔、電鍍。6. POSITIVE LAYER:?jiǎn)巍㈦p層板之各層線路;多層板之上、下兩層線路及內(nèi)層走線皆屬之。7. NEGATIVE LAYER:通常指多層板之電源層。8. INNER PAD:多層板之POSITIVE LAYER 內(nèi)層PAD。9. ANTI-PAD:多層板之NEGATIVE LAYER 上所使用之絕緣範(fàn)圍,不與零件腳相接。10. THERMAL PAD:多層板內(nèi)NEGATIVE LAYER 上必須零件腳時(shí)所使用之PAD,一般稱為散熱孔或?qū)住?1. PAD (銲墊):除了SMD PAD 外,其他PAD 之TOP PAD、BOTTOM PAD 及INNER PAD 之形狀大小皆應(yīng)相同。12. Moat : 不同信號(hào)的 Power& GND plane 之間的分隔線13. Grid : 佈線時(shí)的走線格點(diǎn)2. Test Point : ATE 測(cè)試點(diǎn)供工廠ICT 測(cè)試治具使用ICT 測(cè)試點(diǎn) LAYOUT 注意事項(xiàng):PCB 的每條TRACE 都要有一個(gè)作為測(cè)試用之TEST PAD(測(cè)試點(diǎn)),其原則如下:1. 一般測(cè)試點(diǎn)大小均為30-35mil,元件分布較密時(shí),測(cè)試點(diǎn)最小可至30mil.測(cè)試點(diǎn)與元件PAD 的距離最小為40mil。2. 測(cè)試點(diǎn)與測(cè)試點(diǎn)間的間距最小為50-75mil,一般使用75mil。密度高時(shí)可使用50mil,3. 測(cè)試點(diǎn)必須均勻分佈於PCB 上,避免測(cè)試時(shí)造成板面受力不均。4. 多層板必須透過(guò)貫穿孔(VIA)將測(cè)試點(diǎn)留於錫爐著錫面上(Solder Side)。5. 測(cè)試點(diǎn)必需放至於Bottom Layer6. 輸出test point report(.asc 檔案powerpcb v3.5)供廠商分析可測(cè)率7. 測(cè)試點(diǎn)設(shè)置處:Setuppadsstacks
標(biāo)簽: layout design pcb 硬件工程師
上傳時(shí)間: 2013-11-17
上傳用戶:cjf0304
微電腦型單相交流集合式電表(單相二線系統(tǒng)) 特點(diǎn): 精確度0.25%滿刻度±1位數(shù) 可同時(shí)量測(cè)與顯示交流電壓,電流,頻率,瓦特,(功率因數(shù)/視在功率) 交流電壓,電流,瓦特皆為真正有效值(TRMS) 交流電流,瓦特之小數(shù)點(diǎn)可任意設(shè)定 瓦特單位W或KW可任意設(shè)定 CT比可任意設(shè)定(1至999) 輸入與輸出絕緣耐壓 2仟伏特/1分鐘( 突波測(cè)試強(qiáng)度4仟伏特(1.2x50us) 數(shù)位RS-485界面 (Optional) 主要規(guī)格: 精確度: 0.1% F.S.±1 digit (Frequency) 0.25% F.S.±1 digit(ACA,ACV,Watt,VA) 0.25% F.S. ±0.25o(Power Factor) (-.300~+.300) 輸入負(fù)載: <0.2VA (Voltage) <0.2VA (Current) 最大過(guò)載能力: Current related input: 3 x rated continuous 10 x rated 30 sec. 25 x rated 3sec. 50 x rated 1sec. Voltage related input: maximum 2 x rated continuous 過(guò)載顯示: "doFL" 顯示值范圍: 0~600.0V(Voltage) 0~999.9Hz(Frequency)(<20% for voltage input) 0~19999 digit adjustable(Current,Watt,VA) 取樣時(shí)間: 2 cycles/sec. RS-485通訊位址: "01"-"FF" RS-485傳輸速度: 19200/9600/4800/2400 selective RS-485通信協(xié)議: Modbus RTU mode 溫度系數(shù): 100ppm/℃ (0-50℃) 顯示幕: Red high efficiency LEDs high 10.16 mm(0.4") 參數(shù)設(shè)定方式: Touch switches 記憶型式: Non-volatile E²PROM memory 絕緣抗阻: >100Mohm with 500V DC 絕緣耐壓能力: 2KVac/1 min. (input/output/power) 1600 Vdc (input/output) 突波測(cè)試: ANSI c37.90a/1974,DIN-IEC 255-4 impulse voltage 4KV(1.2x50us) 使用環(huán)境條件: 0-50℃(20 to 90% RH non-condensed) 存放環(huán)境條件: 0-70℃(20 to 90% RH non-condensed) CE認(rèn)證: EN 55022:1998/A1:2000 Class A EN 61000-3-2:2000 EN 61000-3-3:1995/A1:2001 EN 55024:1998/A1:2001
上傳時(shí)間: 2015-01-03
上傳用戶:幾何公差
此為qpsk的範(fàn)例,將一訊號(hào)分解成I及Q part,再將訊號(hào)I及Q部分相加得到輸出
標(biāo)簽: qpsk
上傳時(shí)間: 2015-06-01
上傳用戶:youth25
SIC_XE程式Pass 1:先對(duì)每個(gè)Source statement做定location,Pass 2:對(duì)每個(gè)細(xì)項(xiàng)做不同的處理,算出object code,最後轉(zhuǎn)成machine code輸出。
標(biāo)簽: statement location SIC_XE Source
上傳時(shí)間: 2013-12-20
上傳用戶:a6697238
sin產(chǎn)生器,可以於VHDL產(chǎn)生sin之?dāng)?shù)值波形,進(jìn)而輸出至dac做轉(zhuǎn)換
標(biāo)簽: sin
上傳時(shí)間: 2013-12-25
上傳用戶:小儒尼尼奧
此工具書(shū)是一般常用的到的數(shù)學(xué)工具書(shū),內(nèi)容詳細(xì)介紹matlab指令的各種用法,從基本的概述、初探matlab、二維平面繪圖、三維立體繪圖、數(shù)值運(yùn)算與其它應(yīng)用、影像顯示與讀寫、動(dòng)畫製作、握把式圖形與GUI、GUIDEGUI設(shè)計(jì)環(huán)境、矩陣的處理與運(yùn)算、字元與字串、多維陣列、異質(zhì)陣列、結(jié)植陣列、稀疏矩陣、matlab的運(yùn)算元、m檔案、程式流程控制、程式除錯(cuò)、檔案輸出及輸入、程式計(jì)時(shí)、程式碼與記憶、應(yīng)用程式介面、線性代數(shù)、多項(xiàng)式的處理、一般數(shù)學(xué)函數(shù)、內(nèi)插法、曲線擬合與迴圈、常微分方程式…等,是非常好用的工具書(shū)。
標(biāo)簽:
上傳時(shí)間: 2016-08-24
上傳用戶:ynsnjs
交換式電源轉(zhuǎn)換器(Switching Power Supply)為目前電子產(chǎn)品中,非常廣 泛使用的電源裝置,在日常生活中隨處可見 ,它主要的功能是調(diào)節(jié)電壓準(zhǔn) 位,亦可說 是直流 的變壓器。與傳統(tǒng)線性式電源轉(zhuǎn)換器比較,體積小、重 量 輕、效率 高以及有較大的輸入電壓範(fàn)圍是交換式電源轉(zhuǎn)換器的優(yōu)點(diǎn)。 交換式電源轉(zhuǎn)換器廣泛被應(yīng)用在電源供應(yīng)器以及新一代電腦內(nèi)。因 此,如何控制交換式電源轉(zhuǎn)換器使其在輸入電壓與輸出負(fù)載變動(dòng)的情況 下,能夠自動(dòng)調(diào)節(jié)輸出電壓為所預(yù)設(shè)的位準(zhǔn),實(shí)為一項(xiàng)重要的研究。
標(biāo)簽: Switching Supply Power
上傳時(shí)間: 2014-09-08
上傳用戶:com1com2
利用專案的方式,將不同功能的切割到不同檔案,主要是要學(xué)習(xí)如何在專案內(nèi)學(xué)習(xí)如何用header以及其他檔案, 並加入了如何將讀到的檔案輸出至特定位置,以及讀檔案時(shí)的空白如何處理,利用簡(jiǎn)單的運(yùn)算來(lái)表示,同樣對(duì)初學(xué)者很有幫助!
標(biāo)簽: 方式
上傳時(shí)間: 2016-11-19
上傳用戶:xinzhch
指定一個(gè)數(shù)字轉(zhuǎn)換回十進(jìn)位,八進(jìn)位,十六進(jìn)位#include <stdio.h> #include <stdlib.h> int main(void) { int number =89 printf("數(shù)字 %d\n",number) /* %d 為十進(jìn)位輸出格式*/ printf("八進(jìn)位為 %o\n",number) /* %o 為八進(jìn)位輸出格式*/ printf("十六進(jìn)位為%x\n",number) /* %x 為十六進(jìn)位輸出格式*/ system("pause") return 0 }
標(biāo)簽: include int stdlib stdio
上傳時(shí)間: 2013-11-29
上傳用戶:tyler
蟲(chóng)蟲(chóng)下載站版權(quán)所有 京ICP備2021023401號(hào)-1