三種方法讀取鍵值 使用者設(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; //沒有按鍵按下 }
上傳時(shí)間: 2013-11-12
上傳用戶:a673761058
USB是PC體系中的一套全新的工業(yè)標(biāo)準(zhǔn),它支持單個(gè)主機(jī)與多個(gè)外接設(shè)備同時(shí)進(jìn)行數(shù)據(jù)交換。 首先會(huì)介紹USB的結(jié)構(gòu)和特點(diǎn),包括總線特徵、協(xié)議定義、傳輸方式和電源管理等等。這部分內(nèi)容會(huì)使USB開發(fā)者和用戶對(duì)USB有一整體的認(rèn)識(shí)。
標(biāo)簽: USB
上傳時(shí)間: 2015-10-18
上傳用戶:lixinxiang
本書分為上篇、中篇和下篇三個(gè)部分,上篇為Windows CE結(jié)構(gòu)分析,中篇為Windows CE情景分析,下篇為實(shí)驗(yàn)手冊(cè)。每一篇又劃分為若 干章。上篇包含有引言,Windows CE體系結(jié)構(gòu),處理 器排程,儲(chǔ)存管理 ,檔案系統(tǒng)和設(shè)備管理 等六 章。中篇包含有系統(tǒng)初始化,處理 器排程過程,分頁(yè)處理 ,檔案處理 和驅(qū)動(dòng)器載入等五章。下篇包含有Windows CE應(yīng)用程式開發(fā),Windows CE系統(tǒng)開發(fā),評(píng)測(cè)與總結(jié)以及實(shí)習(xí)等四章。 上篇的重點(diǎn)在於分析Windows CE kernel的結(jié)構(gòu)以及工作原理 。這個(gè)部分是掌握Windows CE作業(yè)系統(tǒng)的基礎(chǔ)。 中篇重點(diǎn)在於分析Windows CE kernel的實(shí)際運(yùn)行 過程。如果說 上篇是從靜態(tài)的角度 分析Windows CE kernel,那麼中篇?jiǎng)t是試圖從動(dòng)態(tài)的角度 給讀 者一個(gè)有關(guān)Windows CE kernel的描述。希望讀 者能夠通過對(duì)中篇的閱讀 理 解,在頭腦中形成有關(guān)Windows CE kernel的多方位的運(yùn)作情景。 下篇著重於有關(guān)Windows CE的應(yīng)用。對(duì)理 論 的掌握最終要應(yīng)用到實(shí)務(wù)中。
標(biāo)簽: 分
上傳時(shí)間: 2013-12-23
上傳用戶:FreeSky
Boost C++ Libraries Free peer-reviewed portable C++ source libraries Boost C++ Libraries 基本上是一個(gè)免費(fèi)的 C++ 的跨平臺(tái)函式庫(kù)集合,基本上應(yīng)該可以把它視為 C++ STL 的功能再延伸;他最大的特色在於他是一個(gè)經(jīng)過「同行評(píng)審」(peer review,可參考維基百科)、開放原始碼的函式庫(kù),而且有許多 Boost 的函式庫(kù)是由 C++ 標(biāo)準(zhǔn)委員會(huì)的人開發(fā)的,同時(shí)部分函式庫(kù)的功能也已經(jīng)成為 C++ TR1 (Technical Report 1,參考維基百科)、TR2、或是 C++ 0x 的標(biāo)準(zhǔn)了。 它的官方網(wǎng)站是:http://www.boost.org/,包含了 104 個(gè)不同的 library;由於他提供的函式庫(kù)非常地多,的內(nèi)容也非常地多元,根據(jù)官方的分類,大致上可以分為下面這二十類: 字串和文字處理(String and text processing) 容器(Containers) Iterators 演算法(Algorithms) Function objects and higher-order programming 泛型(Generic Programming) Template Metaprogramming Preprocessor Metaprogramming Concurrent Programming 數(shù)學(xué)與數(shù)字(Math and numerics) 正確性與測(cè)試(Correctness and testing) 資料結(jié)構(gòu)(Data structures) 影像處理(Image processing) 輸入、輸出(Input/Output) Inter-language support 記憶體(Memory) 語(yǔ)法分析(Parsing) 程式介面(Programming Interfaces) 其他雜項(xiàng) Broken compiler workarounds 其中每一個(gè)分類,又都包含了一個(gè)或多個(gè)函式庫(kù),可以說(shuō)是功能相當(dāng)豐富。
標(biāo)簽: Boost C++ Libraries
上傳時(shí)間: 2015-05-15
上傳用戶:fangfeng
1-1前言一般人所能夠感受到聲音的頻率約介於5H2-20KHz,超音波(Ultrasonic wave)即爲(wèi)頻率超過20KHz以上的音波或機(jī)械振動(dòng),因此超音波馬達(dá)就是利用超音波的彈性振動(dòng)頻率所構(gòu)成的制動(dòng)力。超音波馬達(dá)的內(nèi)部主要是以壓電陶瓷材料作爲(wèi)激發(fā)源,其成份是由鉛(Pb)、結(jié)(Zr)及鈦(Ti)的氧化物皓鈦酸鉛(Lead zirconate titanate,PZT)製成的。將歷電材料上下方各黏接彈性體,如銅或不銹鋼,並施以交流電壓於壓電陶瓷材料作爲(wèi)驅(qū)動(dòng)源,以激振彈性體,稱此結(jié)構(gòu)爲(wèi)定子(Stator),將其用彈簧與轉(zhuǎn)子Rotor)接觸,將所産生摩擦力來(lái)驅(qū)使轉(zhuǎn)子轉(zhuǎn)動(dòng),由於壓電材料的驅(qū)動(dòng)能量很大,並足以抗衡轉(zhuǎn)子與定子間的正向力,雖然伸縮振幅大小僅有數(shù)徵米(um)的程度,但因每秒之伸縮達(dá)數(shù)十萬(wàn)次,所以相較於同型的電磁式馬達(dá)的驅(qū)動(dòng)能量要大的許多。超音波馬達(dá)的優(yōu)點(diǎn)爲(wèi):1,轉(zhuǎn)子慣性小、響應(yīng)時(shí)間短、速度範(fàn)圍大。2,低轉(zhuǎn)速可產(chǎn)生高轉(zhuǎn)矩及高轉(zhuǎn)換效率。3,不受磁場(chǎng)作用的影響。4,構(gòu)造簡(jiǎn)單,體積大小可控制。5,不須經(jīng)過齒輸作減速機(jī)構(gòu),故較爲(wèi)安靜。實(shí)際應(yīng)用上,超音波馬達(dá)具有不同於傳統(tǒng)電磁式馬達(dá)的特性,因此在不適合應(yīng)用傳統(tǒng)馬達(dá)的場(chǎng)合,例如:間歇性運(yùn)動(dòng)的裝置、空間或形狀受到限制的場(chǎng)所;另外包括一些高磁場(chǎng)的場(chǎng)合,如核磁共振裝置、斷層掃描儀器等。所以未來(lái)在自動(dòng)化設(shè)備、視聽音響、照相機(jī)及光學(xué)儀器等皆可應(yīng)用超音波馬達(dá)來(lái)取代。
標(biāo)簽: 超聲波電機(jī)
上傳時(shí)間: 2022-06-17
上傳用戶:
本章將介紹Windows CE 的儲(chǔ)存管理。我們將本章內(nèi)容分為兩大部分,前半部會(huì)依序介紹 Windows CE的檔案系統(tǒng)類型、 Windows CE儲(chǔ)存管理結(jié)構(gòu)和每一個(gè)層次、以及如何自行開發(fā)檔案系統(tǒng)並載入之,後半部則以Ramdisk上的檔案系統(tǒng)為例,實(shí)際分析儲(chǔ)存管理相關(guān)的原始程式碼與資料型態(tài)。
上傳時(shí)間: 2015-07-01
上傳用戶:685
灰色理論下之最基本操作元,灰生成之matlab源碼,可很快計(jì)算出數(shù)據(jù)各階之生成結(jié)果
標(biāo)簽: 基本操作
上傳時(shí)間: 2013-12-01
上傳用戶:aappkkee
產(chǎn)生頻率選擇性衰落的雷利通道,參數(shù)由天線結(jié)構(gòu)、OFDM系統(tǒng)的結(jié)構(gòu)與功率延時(shí)結(jié)構(gòu)來(lái)決定。
標(biāo)簽:
上傳時(shí)間: 2014-12-20
上傳用戶:lizhizheng88
熱陰極螢光燈(HCFL)發(fā)光原理 冷陰極螢光燈(CCFL)發(fā)光原理 產(chǎn)品特性 CCFL製程概述 產(chǎn)品結(jié)構(gòu)
上傳時(shí)間: 2013-11-18
上傳用戶:cknck
WEBGAME 機(jī)器人大戰(zhàn)EBS(無(wú)盡的戰(zhàn)爭(zhēng)) 架設(shè)方法 WIN2K系列主機(jī) ,最簡(jiǎn)單的方法就是 設(shè)置一個(gè)虛擬目錄 其它就稍微改改 config.cgi的設(shè)置,還有餓ebs_sub 1 2 3.cgi的圖片地址就基本好了 WIN2K沒有虛擬目錄的話就除了要做上面的那些以外 還要打開所有文件,搜索類似這樣的 require config.cgi 都改成絕對(duì)路徑就行了 UNIX LINUX FREEBSD 系列的話,就要設(shè)置屬性了 ebs目錄所有CGI文件設(shè)置成 755 所有DAT文件設(shè)置成 777 logmiulerebeb 目錄也就是數(shù)據(jù)目錄,這個(gè)要設(shè)置成 777 裏面所有文件也是 777 當(dāng)然,你可以修改這個(gè)目錄,最好修改成其他目錄,然後把config.cgi的數(shù)據(jù)庫(kù)目錄改改就可以了, 然後就是改 config.cgi的一些設(shè)置,還要改 ebs_sub 1 2 3.cgi的圖片地址了,最後就是,UNIX LINUX系列的大小寫都分的很清楚,這個(gè)版本我懶得整理,所以有的是答謝,有的是小寫,自己改改吧.
標(biāo)簽: WEBGAME WIN2K EBS 機(jī)器人
上傳時(shí)間: 2014-01-10
上傳用戶:tuilp1a
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1