三種方法讀取鍵值 使用者設計行列鍵盤介面,一般常採用三種方法讀取鍵值。 中斷式 在鍵盤按下時產生一個外部中斷通知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
RA8802 是一個中英文文字與繪圖模式的點矩陣液晶顯示(LCD)控制器,可最大支援320x240 點的LCD 面 板。內建512Kbyte 的字形碼可以顯示中文字型、數字符號與英文字母。在文字模式中,RA8802 可接收標準 中文文字內碼直接顯示中文,而不需要進入繪圖模式以繪圖方式描繪中文,可以節省許多微處理器時間,提 升液晶顯示中文之處理效率。
上傳時間: 2014-06-08
上傳用戶:wweqas
一套圖書管理程序,主要採用OO技術實現,有參考價值
標簽: 程序
上傳時間: 2015-06-20
上傳用戶:nairui21
Debussy是NOVAS Software, Inc(思源科技)發展的HDL Debug & Analysis tool,這套軟體主要不是用來跑模擬或看波形,它最強大的功能是:能夠在HDL source code、schematic diagram、waveform、state bubble diagram之間,即時做trace,協助工程師debug。 可能您會覺的:只要有simulator如ModelSim就可以做debug了,我何必再學這套軟體呢? 其實Debussy v5.0以後的新版本,還提供了nLint -- check coding style & synthesizable,這蠻有用的,可以協助工程師了解如何寫好coding style,並養成習慣。 下圖所示為整個Debussy的原理架構,可歸納幾個結論:
標簽: Analysis Software Debussy Debug
上傳時間: 2014-01-14
上傳用戶:hustfanenze
這是一個簡單的小工具,有點類似我們使用form方式設計時,使用behaver方式讓各個form作轉場特效一樣,不過這個工具是針對各個movie clip,相信對一些Art設計師有一定的幫助囉, 使用的是Transition manager方式完成,相信不久會有利用tween class方式的程式產生器吧..其實我還蠻需要的...因為help檔沒有,有時要參考指令,都要上網查一次
上傳時間: 2013-12-17
上傳用戶:hasan2015
Programming the Microsoft Windows driver model繁中版 透過Windows驅動程式的權威們專業的協助,學習如何使用簡易的方式來撰寫Windows驅動程式。 Microsoft WDM支援隨插即用(PnP)功能,提供了電源管理能力,並詳述撰寫驅動程式/迷你驅動程式的方法。這本由長時間接觸裝置驅動程式的專家Walter Oney 與Windows核心小組共同合作的書提供了大量很實用的例子、圖表、建議,並一行一行分析範例的程式碼,好讓您能夠清楚了解實際上在撰寫驅動程式時所會發生的問題。另外亦更新了Windows XP及Windows 2000的最新驅動程式技術,又告訴您如何除錯。
標簽: Windows Programming Microsoft driver
上傳時間: 2014-01-19
上傳用戶:cjl42111
跟類神經網路有點像的東西, 不過現今最常拿來就是做分類也就是說,如果我有一堆已經分好類的東西 (可是分類的依據是未知的!) ,那當收到新的東西時, SVM 可以預測 (predict) 新的資料要分到哪一堆去。
標簽:
上傳時間: 2014-01-18
上傳用戶:hasan2015
一個強大的定時服務程序,因為經常會遇到要定時作同樣的一件事,但有時又會忘記,所以寫了這個服務程序,有點像Sql的Job定時一樣,可以設定多久執行一次。
標簽: 程序
上傳時間: 2017-06-25
上傳用戶:dbs012280
設計高速電路必須考慮高速訊 號所引發的電磁干擾、阻抗匹配及串音等效應,所以訊號完整性 (signal integrity)將是考量設計電路優劣的一項重要指標,電路日異複雜必須仰賴可 靠的軟體來幫忙分析這些複雜的效應,才比較可能獲得高品質且可靠的設計, 因此熟悉軟體的使用也將是重要的研究項目之一。另外了解高速訊號所引發之 各種效應(反射、振鈴、干擾、地彈及串音等)及其克服方法也是研究高速電路 設計的重點之一。目前高速示波器的功能越來越多,使用上很複雜,必須事先 進修學習,否則無法全盤了解儀器之功能,因而無法有效發揮儀器的量測功能。 其次就是高速訊號量測與介面的一些測試規範也必須熟悉,像眼圖分析,探針 效應,抖動(jitter)測量規範及高速串列介面量測規範等實務技術,必須充分 了解研究學習,進而才可設計出優良之教學教材及教具。
標簽: 高速電路
上傳時間: 2021-11-02
上傳用戶:jiabin
主要內容介紹 Allegro 如何載入 Netlist,進而認識新式轉法和舊式轉法有何不同及優缺點的分析,透過本章學習可以對 Allegro 和 Capture 之間的互動關係,同時也能體驗出 Allegro 和 Capture 同步變更屬性等強大功能。Netlist 是連接線路圖和 Allegro Layout 圖檔的橋樑。在這裏所介紹的 Netlist 資料的轉入動作只是針對由 Capture(線路圖部分)產生的 Netlist 轉入 Allegro(Layout部分)1. 在 OrCAD Capture 中設計好線路圖。2. 然後由 OrCAD Capture 產生 Netlist(annotate 是在進行線路圖根據第五步產生的資料進行編改)。 3. 把產生的 Netlist 轉入 Allegro(layout 工作系統)。 4. 在 Allegro 中進行 PCB 的 layout。 5. 把在 Allegro 中產生的 back annotate(Logic)轉出(在實際 layout 時可能對原有的 Netlist 有改動過),並轉入 OrCAD Capture 裏進行回編。
上傳時間: 2022-04-28
上傳用戶:kingwide