三種方法讀取鍵值 使用者設(shè)計(jì)行列鍵盤介面,一般常採用三種方法讀取鍵值。 中斷式 在鍵盤按下時(shí)產(chǎn)生一個(gè)外部中斷通知CPU,並由中斷處理程式通過不同位址讀資料線上的狀態(tài)判斷哪個(gè)按鍵被按下。 本實(shí)驗(yàn)採用中斷式實(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
/* RSA Demo 1.0 版 * 版權(quán)所有 (C) 2004 趙春生 * 2004.04.25 * http://timw.yeah.net * http://timw.126.com * 本程序調(diào)用Miracl ver 4.82大數(shù)運(yùn)算庫,詳見其附帶手冊(cè)。 * P,Q,N,D,E使用RSATool2生成。 */ 編譯提示: 一:將Project-Settings-Settings For(All Configuration)-C/C++中Category項(xiàng)的 Precompiled Headers設(shè)置成:Automatic use of precompiled headers(圖1)。 二:將ms32.lib添加到工程中(圖2)。 三:MIRACL是C庫。 extern "C" { #include "miracl.h" #include "mirdef.h" } #pragma comment( lib, "ms32.lib" )
標(biāo)簽: 2004 http timw Demo
上傳時(shí)間: 2015-03-23
上傳用戶:leehom61
上傳時(shí)間: 2013-12-17
上傳用戶:liansi
本書以最新的資訊家電、智慧型手機(jī)、PDA產(chǎn)品為出發(fā)點(diǎn),廣泛並深入分析相關(guān)的嵌入式系統(tǒng)技術(shù)。 適合閱讀: 產(chǎn)品主管、系統(tǒng)設(shè)計(jì)分析人員、欲進(jìn)入此領(lǐng)域的工程師、大專院校教學(xué). 本書效益: 為開發(fā)嵌入式系統(tǒng)產(chǎn)品必備入門聖經(jīng) 進(jìn)入嵌入式系統(tǒng)領(lǐng)域的寶典 第三代行動(dòng)通訊終端設(shè)備與內(nèi)容服務(wù)的必備知識(shí).
標(biāo)簽: PDA 家
上傳時(shí)間: 2015-09-03
上傳用戶:阿四AIR
最小生成樹問題 若要在n個(gè)城市之間建設(shè)通信網(wǎng)絡(luò),只需要架設(shè)n-1條線路即可。如何以最低的經(jīng)濟(jì)代價(jià)建設(shè)這個(gè)通信網(wǎng),是一個(gè)網(wǎng)的最小生成樹問題。 (1)利用克魯斯卡爾算法求網(wǎng)的最小生成樹。 (2)實(shí)現(xiàn)教科書6.5節(jié)中定義的抽象樹類型 MFSet。以此表示構(gòu)造生成樹過程中的連通分量。 (3)以文本形式輸出生成樹中各條邊以及他們的權(quán)值。
標(biāo)簽: 生成樹 城市 通信網(wǎng)絡(luò)
上傳時(shí)間: 2015-11-10
上傳用戶:jhksyghr
需要工具: 1. Python 2.3 以上 2. BOA Constructor Python設(shè)定檔介面程式設(shè)計(jì) 這段程式碼主要是把資料儲(chǔ)存到config.txt這個(gè)檔案中,我們將資料以 \n[_config_]\n 來作區(qū)隔,以便將來將資料讀出來時(shí)可以知道所存放的資料到底是屬於哪一各部分的資料。
標(biāo)簽: Python Constructor config 2.3
上傳時(shí)間: 2014-01-17
上傳用戶:zhenyushaw
這本書是多年來我對(duì)專業(yè)程式員所做的C++ 教學(xué)課程下的一個(gè)自然產(chǎn)物。我發(fā)現(xiàn),大部份學(xué)生在一個(gè)星期的密集訓(xùn)練之後,即可適應(yīng)這個(gè)語言的基本架構(gòu),但要他們「將這些基礎(chǔ)架構(gòu)以有效的方式組合運(yùn)用」,我實(shí)在不感樂觀。於是我開始嘗試組織出一些簡(jiǎn)短、明確、容易記憶的準(zhǔn)則,做為C++ 高實(shí)效性程式開發(fā)過程之用。那都是經(jīng)驗(yàn)豐富的C++ 程式員幾乎總是會(huì)奉行或幾乎肯定要避免的一些事情。structures of computer science.
標(biāo)簽: 程式
上傳時(shí)間: 2016-10-13
上傳用戶:362279997
int main(int argc,char *argv[]) { char ch while(true) { printf("*************************************\n") printf(" 1.Reader Priority\n") printf(" 2.Writer Priority\n") printf(" 3.Exit to Windows\n") printf("*************************************\n") printf("Enter your choice(1,2,3): ") do{ ch=(char)_getch() }while(ch!= 1 &&ch!= 2 &&ch!= 3 ) system("cls") if(ch== 3 ) return 0 else if(ch== 1 ) ReaderPriority("thread.dat") else WriterPriority("thread.dat") printf("\nPress Any Key to Coutinue:") _getch() system("cls") } return 0
標(biāo)簽: char int printf while
上傳時(shí)間: 2017-01-06
上傳用戶:gonuiln
1)自選存儲(chǔ)結(jié)構(gòu),輸入含n個(gè)頂點(diǎn)(用字符表示頂點(diǎn))和e 條邊的圖G; (2)求每個(gè)頂點(diǎn)的度,輸出結(jié)果; (3)指定任意頂點(diǎn)x為初始頂點(diǎn),對(duì)圖G作DFS遍歷,輸出DFS 頂點(diǎn)序列(提示:使用一個(gè)棧實(shí)現(xiàn)DFS); (4)指定任意頂點(diǎn)x為初始頂點(diǎn),對(duì)圖G作BFS遍歷,輸出BFS 頂點(diǎn)序列(提示:使用一個(gè)隊(duì)列實(shí)現(xiàn)BFS); (5)輸入頂點(diǎn)x,查找圖G:若存在含x的頂點(diǎn),則刪除該結(jié)點(diǎn)及 與之相關(guān)連的邊,并作DFS遍歷(執(zhí)行操作3);否則輸出信 息“無x”; (6)判斷圖G是否是連通圖,輸出信息“YES”/“NO”; (7)如果選用的存儲(chǔ)結(jié)構(gòu)是鄰接矩陣,則用鄰接矩陣的信息生 成圖G的鄰接表,即復(fù)制圖G,然再執(zhí)行操作(2);反之亦然。
標(biāo)簽: DFS 輸出 存儲(chǔ)結(jié)構(gòu) 字符
上傳時(shí)間: 2013-12-26
上傳用戶:123456wh
本文介紹了一種在單片機(jī)應(yīng)用中實(shí)現(xiàn)高效、多功能鍵盤掃描分析的設(shè)計(jì)思想、方法和原理。該演算法可以實(shí)現(xiàn)組合鍵、自動(dòng)連續(xù)等功能,並具有軟、硬體開銷小,效率高等特點(diǎn)。該演算法已應(yīng)用於實(shí)際產(chǎn)品中。 關(guān)鍵字:鍵盤掃描;單片機(jī)
標(biāo)簽: 多功能 分 鍵盤 算法
上傳時(shí)間: 2013-12-14
上傳用戶:fredguo
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1