三種方法讀取鍵值 使用者設計行列鍵盤介面,一般常採用三種方法讀取鍵值。 中斷式 在鍵盤按下時產生一個外部中斷通知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
無線感測器已變得越來越普及,短期內其開發和部署數量將急遽增加。而無線通訊技術的突飛猛進,也使得智慧型網路中的無線感測器能夠緊密互連。此外,系統單晶片(SoC)的密度不斷提高,讓各式各樣的多功能、小尺寸無線感測器系統相繼問市。儘管如此,工程師仍面臨一個重大的挑戰:即電源消耗。
上傳時間: 2013-10-30
上傳用戶:wojiaohs
有關 ARM.Bootloader.的實現
標簽: Bootloader ARM
上傳時間: 2013-10-22
上傳用戶:Miyuki
一、PAC的概念及軟邏輯技術二、開放型PAC系統三、應用案例及分析四、協議支持及系統架構五、軟件編程技巧&組態軟件的整合六、現場演示&上機操作。PAC是由ARC咨詢集團的高級研究員Craig Resnick提出的,定義如下:具有多重領域的功能,支持在單一平臺里包含邏輯、運動、驅動和過程控制等至少兩種以上的功能單一開發平臺上整合多規程的軟件功能如HMI及軟邏輯, 使用通用標簽和單一的數據庫來訪問所有的參數和功能。軟件工具所設計出的處理流程能跨越多臺機器和過程控制處理單元, 實現包含運動控制及過程控制的處理程序。開放式, 模塊化構架, 能涵蓋工業應用中從工廠的機器設備到過程控制的操作單元的需求。采用公認的網絡接口標準及語言,允許不同供應商之設備能在網絡上交換資料。
上傳時間: 2014-01-14
上傳用戶:JGR2013
電容器及介質種類: ※高頻類: 此類介質材料的電容器為Ⅰ類電容器,包括通用型高頻COG、COH電容器和溫度補償型高頻HG、LG、PH、RH、SH、TH、UJ、SL電容器。其中COG、COH電容器電性能最穩定,幾乎不隨溫度、電壓和時間的變化而變化,適用于低損耗,穩定性要求高的高頻電路,HG、LG、PH、RH、SH、TH、UJ、SL電容器容量隨溫度變化而相應變化,適用于低損耗、溫度補償型電路中。 ※ X7R、X5R:此類介質材料的電容器為Ⅱ類電容器,具有較高的介電常數,容量比Ⅰ類電容器高,具有較穩定的溫度特性,適用于容量范圍廣,穩定性要求不高的電路中,如隔直、耦合、旁路、鑒頻等電路中。 ※Y5V:此類介質材料的電容器為Ⅱ類電容器,是所有電容器中介電常數最大的電容器,但其容量穩定性較差,對溫度、電壓等條件較敏感,適用于要求大容量,溫度變化不大的電路中。 ※Z5U:此類介質材料的電容器為Ⅱ類電容器,其溫度特性介于X7R和Y5V之間,容量穩定性較差,對溫度、電壓等條件較敏感,適用于要求大容量,使用溫度范圍接近于室溫的旁路,耦合等,低直流偏壓的電路中。
上傳時間: 2013-11-05
上傳用戶:后時代明明
ERWIN絕好的數據庫建模工具,可以把數據模型導入數據庫如sql server foxpro等這里是方法指南更多內容可以去http://erwin.softwarechn.com/_script/showfull.asp?Board=method&Tabname=erwin
標簽: softwarechn server foxpro script
上傳時間: 2013-12-06
上傳用戶:c12228
基於S3C44B0X上的各種範例,可以實驗IDE,PWM,USB,LED...etc。對於初學嵌入式系統者有很大助益。
標簽: S3C44B0X
上傳時間: 2014-01-19
上傳用戶:sy_jiadeyi
c語言編譯器arm-gen.c asmtest.S bcheck.c boundtest.c c67-gen.c Changelog coff.h configure COPYING elf.h [examples] float.h gcctestsuite.sh i386-asm.c i386-asm.h i386-gen.c il-gen.c il-opcodes.h libtcc.h libtcc1.c libtcc_test.c Makefile README stab.def stab.h stdarg.h stdbool.h stddef.h tcc-doc.html tcc-doc.texi tcc.1 tcc.c tccasm.c tcccoff.c tccelf.c tcclib.h tccpe.c tcctest.c tcctok.h texi2pod.pl tiny_impdef.c TODO varargs.h VERSION
標簽: Changelog boundtest configure arm-gen
上傳時間: 2014-01-16
上傳用戶:拔絲土豆
huffman完整源代碼C語言實現,有本人超級詳細解釋(看不懂你去跳樓吧) 算法設計: 1、對給定的n個權值{W1,W2,W3,...,Wi,...,Wn}構成n棵二叉樹的初始集合F={T1,T2,T3,...,Ti,...,Tn},其中每棵二叉樹Ti中只有一個權值為Wi的根結點,它的左右子樹均為空。(為方便在計算機上實現算法,一般還要求以Ti的權值Wi的升序排列。) 2、在F中選取兩棵根結點權值最小的樹作為新構造的二叉樹的左右子樹,新二叉樹的根結點的權值為其左右子樹的根結點的權值之和。 3、從F中刪除這兩棵樹,并把這棵新的二叉樹同樣以升序排列加入到集合F中。 4、重復二和三兩步,直到集合F中只有一棵二叉樹為止。
上傳時間: 2013-12-29
上傳用戶:ouyangtongze
地理資源分析支援系統grass是在1982到1995年由許多美國聯邦機構、大學及私人公司合力發展的地理資訊系統,GRASS具有如下幾個特色:是在UNIX環境下開發GIS系統的先驅 是使用者參與式GIS,具有強大的gis分析功能. grass5.4.0_i686-pc-linux-gnu_bin.tar.gz grass5.4.0_i686-pc-linux-gnu_install.sh readme.txt
上傳時間: 2015-06-16
上傳用戶:teddysha