三種方法讀取鍵值 使用者設(shè)計(jì)行列鍵盤介面,一般常採(cǎi)用三種方法讀取鍵值。 中斷式 在鍵盤按下時(shí)產(chǎn)生一個(gè)外部中斷通知CPU,並由中斷處理程式通過不同位址讀資料線上的狀態(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; //沒有按鍵按下 }
標(biāo)簽: 4x4 鍵盤
上傳時(shí)間: 2013-11-12
上傳用戶:a673761058
PCB LAYOUT 術(shù)語解釋(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. 多層板必須透過貫穿孔(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
LAYOUT REPORT .............. 1 目錄.................. 1 1. PCB LAYOUT 術(shù)語解釋(TERMS)......... 2 2. Test Point : ATE 測(cè)試點(diǎn)供工廠ICT 測(cè)試治具使用............ 2 3. 基準(zhǔn)點(diǎn) (光學(xué)點(diǎn)) -for SMD:........... 4 4. 標(biāo)記 (LABEL ING)......... 5 5. VIA HOLE PAD................. 5 6. PCB Layer 排列方式...... 5 7.零件佈置注意事項(xiàng) (PLACEMENT NOTES)............... 5 8. PCB LAYOUT 設(shè)計(jì)............ 6 9. Transmission Line ( 傳輸線 )..... 8 10.General Guidelines – 跨Plane.. 8 11. General Guidelines – 繞線....... 9 12. General Guidelines – Damping Resistor. 10 13. General Guidelines - RJ45 to Transformer................. 10 14. Clock Routing Guideline........... 12 15. OSC & CRYSTAL Guideline........... 12 16. CPU
標(biāo)簽: layout pcb
上傳時(shí)間: 2013-10-29
上傳用戶:1234xhb
一個(gè)很好用的 lcd 時(shí)鐘程序 C語言 #include<reg51.h> #include<stdio.h> //定義計(jì)時(shí)器0 的重裝值 #define RELOAD_HIGH 0x3C #define RELOAD_LOW 0xD2 //定義按鍵彈跳時(shí)間 #define DB_VAL //定義設(shè)置模式的最大時(shí)間間隔 #define TIMEOUT 200 //定義游標(biāo)位置常數(shù) #define HOME 0 #define HOUR 1 #define MIN 2 #define SEC 3
標(biāo)簽: include define RELOAD stdio
上傳時(shí)間: 2014-12-19
上傳用戶:zukfu
小弟撰寫的類神經(jīng)pca對(duì)圖片的壓縮與解壓縮,對(duì)來源圖片training過後,可使用該張圖像的特性(eigenvalue和eigenvetex)來對(duì)別張圖解壓縮,非常有趣的方式,再設(shè)定threashold時(shí)注意時(shí)值不要過大,因?yàn)檫@牽涉inverse matrex的計(jì)算.
標(biāo)簽: eigenvalue eigenvetex threashol training
上傳時(shí)間: 2015-12-02
上傳用戶:wpwpwlxwlx
說明 除了自身之外,無法被其它整數(shù)整除的數(shù)稱之為質(zhì)數(shù),要求質(zhì)數(shù)很簡(jiǎn)單,但如何快速的求出質(zhì)數(shù)則一直是程式設(shè)計(jì)人員與數(shù)學(xué)家努力的課題,在這邊介紹一個(gè)著名的 Eratosthenes求質(zhì)數(shù)方法 解。 以背包問題為例,我們使用兩個(gè)陣列value與item,value表示目前的最佳解所得之總價(jià),item表示最後一個(gè)放至背包的水果,假設(shè)有負(fù)重量 1~8的背包8個(gè),並對(duì)每個(gè)背包求其最佳解。
標(biāo)簽:
上傳時(shí)間: 2013-12-22
上傳用戶:二驅(qū)蚊器
此工具書是一般常用的到的數(shù)學(xué)工具書,內(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í)間: 2016-08-24
上傳用戶:ynsnjs
一篇來自臺(tái)灣中華大學(xué)的論文--《無線射頻系統(tǒng)標(biāo)簽晶片設(shè)計(jì)》,彩色版。其摘要為:本論文討論使用於無線射頻辨識(shí)系統(tǒng)(RFID)之標(biāo)籤晶片系統(tǒng)的電路設(shè)計(jì)和晶片製作,初步設(shè)計(jì)標(biāo)籤晶片的基本功能,設(shè)計(jì)流程包含數(shù)位軟體及功能的模擬、基本邏輯閘及類比電路的設(shè)計(jì)與晶片電路的佈局考量。 論文的第一部份是序論、射頻辨識(shí)系統(tǒng)的規(guī)劃、辨識(shí)系統(tǒng)的規(guī)格介紹及制定,而第二部份是標(biāo)籤晶片設(shè)計(jì)、晶片量測(cè)、結(jié)論。 電路的初步設(shè)計(jì)功能為:使用電容作頻率緩衝的Schmitt trigger Clock、CRC-16的錯(cuò)誤偵測(cè)編碼、Manchester編碼及使用單一電路做到整流、振盪及調(diào)變的功能,最後完成晶片的實(shí)作。
標(biāo)簽: 大學(xué) 論文 無線射頻
上傳時(shí)間: 2016-08-27
上傳用戶:tb_6877751
Matlab 是套應(yīng)用於科學(xué)與工程領 域中數 值計(jì)算、分析與模擬的應(yīng)用軟體,結(jié)合了 數 值分析、矩陣運(yùn)算及繪圖等功能,功能強(qiáng)大、操作介面簡(jiǎn)易 。在大學(xué)線性代數 及微積分課程中均可應(yīng)用 Matlab 來 輔助學(xué)習(xí)。
標(biāo)簽: Matlab 63924 63849 工程
上傳時(shí)間: 2013-12-23
上傳用戶:zuozuo1215
主要內(nèi)容介紹 Allegro 如何載入 Netlist,進(jìn)而認(rèn)識(shí)新式轉(zhuǎn)法和舊式轉(zhuǎn)法有何不同及優(yōu)缺點(diǎn)的分析,透過本章學(xué)習(xí)可以對(duì) Allegro 和 Capture 之間的互動(dòng)關(guān)係,同時(shí)也能體驗(yàn)出 Allegro 和 Capture 同步變更屬性等強(qiáng)大功能。Netlist 是連接線路圖和 Allegro Layout 圖檔的橋樑。在這裏所介紹的 Netlist 資料的轉(zhuǎn)入動(dòng)作只是針對(duì)由 Capture(線路圖部分)產(chǎn)生的 Netlist 轉(zhuǎn)入 Allegro(Layout部分)1. 在 OrCAD Capture 中設(shè)計(jì)好線路圖。2. 然後由 OrCAD Capture 產(chǎn)生 Netlist(annotate 是在進(jìn)行線路圖根據(jù)第五步產(chǎn)生的資料進(jìn)行編改)。 3. 把產(chǎn)生的 Netlist 轉(zhuǎn)入 Allegro(layout 工作系統(tǒng))。 4. 在 Allegro 中進(jìn)行 PCB 的 layout。 5. 把在 Allegro 中產(chǎn)生的 back annotate(Logic)轉(zhuǎn)出(在實(shí)際 layout 時(shí)可能對(duì)原有的 Netlist 有改動(dòng)過),並轉(zhuǎn)入 OrCAD Capture 裏進(jìn)行回編。
標(biāo)簽: cadence allegro
上傳時(shí)間: 2022-04-28
上傳用戶:kingwide
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1