一.獨(dú)立按鍵實(shí)驗(yàn)
1.電路原理圖
2.說(shuō)明:使用排線連接JP10的和JP12,JP8連接JP5。本實(shí)驗(yàn)通過(guò)八個(gè)獨(dú)立按鍵控制八個(gè)LED小燈。按鍵時(shí)會(huì)抖動(dòng),所以要消抖。
3.消抖檢測(cè)
先給按鍵對(duì)應(yīng)的I/O口置1;
判斷I/O口是否為1;
若是1,則說(shuō)明按鍵按下,若是0,則按鍵沒(méi)有按下;
4.源代碼如下:
/***********************************************
> File Name: 獨(dú)立按鍵實(shí)驗(yàn)
> Author: pengshp
> Mail: pengshp3@outlook.com
> Date: 2015年 7 月 16 日
*************************************************/
#include #include //--定義要使用的IO口--// #define GPIO_KEY P1 //獨(dú)立鍵盤(pán)用P1口 #define GPIO_LED P0 //led使用P0口 void Delay10ms(unsigned int c); //延時(shí)10ms unsigned char Key_Scan(); void main() { unsigned char ledValue, keyNum; ledValue = 0x01; while (1) { keyNum = Key_Scan(); //掃描鍵盤(pán) switch (keyNum) { case(0xFE) : //返回按鍵K1的數(shù)據(jù) ledValue = 0x01; break; case(0xFD) : //返回按鍵K2的數(shù)據(jù) ledValue = 0x02; break; case(0xFB) : //返回按鍵K3的數(shù)據(jù) ledValue = 0x04; break; case(0xF7) : //返回按鍵K4的數(shù)據(jù) ledValue = 0x08; break; case(0xEF) : //返回按鍵K5的數(shù)據(jù) ledValue = 0x10; break; case(0xDF) : //返回按鍵K6的數(shù)據(jù) ledValue = 0x20; break; case(0xBF) : //返回按鍵K7的數(shù)據(jù) ledValue = 0x40; break; case(0x7F) : //返回按鍵K8的數(shù)據(jù) ledValue = 0x80; break; default: break; } GPIO_LED = ledValue; //點(diǎn)亮LED燈 } } unsigned char Key_Scan() //掃描鍵盤(pán) { unsigned char keyValue = 0 , i; //保存鍵值 //--檢測(cè)按鍵1--// if (GPIO_KEY != 0xFF) //檢測(cè)按鍵K1是否按下 { Delay10ms(1); //消除抖動(dòng) if (GPIO_KEY != 0xFF) //再次檢測(cè)按鍵是否按下 { keyValue = GPIO_KEY; i = 0; while ((i<50) && (GPIO_KEY != 0xFF)) //檢測(cè)按鍵是否松開(kāi) { Delay10ms(1); i++; } } } return keyValue; //將讀取到鍵值的值返回 } void Delay10ms(unsigned int c) //誤差 0us { unsigned char a, b; for (;c>0;c--) { for (b=38;b>0;b--) { for (a=130;a>0;a--); } } } 二.矩陣鍵盤(pán)實(shí)驗(yàn) 1.電路原理圖 2.矩陣鍵盤(pán)原理:矩陣鍵盤(pán)一端接行線,一端接列線,行線控制高四位,列線控制低四位;每個(gè)按鍵位于行線和列線的交叉點(diǎn)。 3.矩陣鍵盤(pán)掃描 (1).逐行掃描 高四位輪流輸出低電平,當(dāng)?shù)退奈唤邮艿臄?shù)據(jù)不全為0時(shí),則按鍵按下,并可判斷哪個(gè)按鍵按下。 (2).行列掃描 高四位全部輸出低電平,低四位全部輸出高電平,當(dāng)接受的數(shù)據(jù)低四位不全為高電平時(shí),說(shuō)明有按鍵按下;然后反過(guò)來(lái),高四位輸出高電平,低四位輸出低電平,根據(jù)接收到的高四位的值來(lái)判斷哪一行有按鍵按下。 4.說(shuō)明:可通過(guò)按下按鍵并在液晶屏上顯示相應(yīng)的鍵值。但較為復(fù)雜,液晶屏后面介紹。接線為JP4接JP8(P1),JP10接JP12,并將JP165斷開(kāi)。 5.程序源代碼 /************************************** > File Name: 矩陣鍵盤(pán)實(shí)驗(yàn) > Author: pengshp > Mail: pengshp3@outlook.com > Date: 2015年 7 月 16 日 ***************************************/ #include #define uchar unsigned char #define GPIO_DIG P0 #define GPIO_KEY P1 uchar code DIG_CODE[17]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; uchar KeyValue; void Delay10ms(); //延時(shí)10ms void KeyDown(); //檢測(cè)按鍵函數(shù) void main(void) { while(1) { KeyDown(); GPIO_DIG=~DIG_CODE[KeyValue]; } } void KeyDown() { char a=0; GPIO_KEY=0x0f; //0000 1111 高四位全為0,低四位為1 if(GPIO_KEY!=0x0f) //讀取按鍵是否按下 { Delay10ms(); //延時(shí)10ms進(jìn)行消抖 if(GPIO_KEY!=0x0f) //再次檢測(cè)鍵盤(pán)是否按下 { //測(cè)試列 GPIO_KEY=0X0F; switch(GPIO_KEY) { case(0X07): KeyValue=0;break; case(0X0b): KeyValue=1;break; case(0X0d): KeyValue=2;break; case(0X0e): KeyValue=3;break; } //測(cè)試行 GPIO_KEY=0XF0; switch(GPIO_KEY) { case(0X70): KeyValue=KeyValue;break; case(0Xb0): KeyValue=KeyValue+4;break; case(0Xd0): KeyValue=KeyValue+8;break; case(0Xe0): KeyValue=KeyValue+12;break; } while((a<50)&&(GPIO_KEY!=0xf0)) //檢測(cè)按鍵松手檢測(cè) { Delay10ms(); //延時(shí)處理 a++; } } } } void Delay10ms() //誤差 0us { unsigned char a,b,c; for(c=1;c>0;c--) for(b=38;b>0;b--) for(a=130;a>0;a--); }
上一篇:51單片機(jī)學(xué)習(xí)筆記【0】——基礎(chǔ)知識(shí)
下一篇:51單片機(jī)學(xué)習(xí)筆記【一】——LED燈實(shí)驗(yàn)
推薦閱讀
史海拾趣
隨著技術(shù)的不斷進(jìn)步和產(chǎn)品的不斷創(chuàng)新,西鐵城公司開(kāi)始積極拓展全球市場(chǎng)。公司的產(chǎn)品以其高品質(zhì)、精確度和創(chuàng)新技術(shù)而聞名,逐漸贏得了全球消費(fèi)者的青睞。同時(shí),公司也積極參與國(guó)際性的鐘表展會(huì)和活動(dòng),通過(guò)展示最新產(chǎn)品和技術(shù)成果,進(jìn)一步提升品牌知名度和影響力。這一系列的舉措使得西鐵城在全球市場(chǎng)上的地位日益穩(wěn)固。
隨著技術(shù)的不斷進(jìn)步和產(chǎn)品的不斷創(chuàng)新,西鐵城公司開(kāi)始積極拓展全球市場(chǎng)。公司的產(chǎn)品以其高品質(zhì)、精確度和創(chuàng)新技術(shù)而聞名,逐漸贏得了全球消費(fèi)者的青睞。同時(shí),公司也積極參與國(guó)際性的鐘表展會(huì)和活動(dòng),通過(guò)展示最新產(chǎn)品和技術(shù)成果,進(jìn)一步提升品牌知名度和影響力。這一系列的舉措使得西鐵城在全球市場(chǎng)上的地位日益穩(wěn)固。
晶豪科技一直將研發(fā)作為公司的核心競(jìng)爭(zhēng)力。公司成功建立了各種容量及接口規(guī)格的特定型DRAM產(chǎn)品線,包括SDRAM、DDR I/II/III及PSRAM、低耗電的Mobile DRAM等。這些產(chǎn)品廣泛應(yīng)用于各種電子設(shè)備和系統(tǒng),贏得了市場(chǎng)的廣泛認(rèn)可。此外,公司還針對(duì)系統(tǒng)級(jí)封裝(SiP)的需求,成功開(kāi)發(fā)了所需的“良品晶粒”(Known-Good-Die, KGD)產(chǎn)品及多芯片模塊封裝(MCP)的解決方案,滿足了客戶的多樣化需求。
在取得初步成功后,Concurrent Logic開(kāi)始擴(kuò)展其產(chǎn)品線。他們不僅開(kāi)發(fā)了多款針對(duì)不同應(yīng)用場(chǎng)景的并行處理芯片,還進(jìn)軍了與并行計(jì)算緊密相關(guān)的其他硬件領(lǐng)域,如高性能的服務(wù)器和存儲(chǔ)設(shè)備。這些新產(chǎn)品的研發(fā)和上市,進(jìn)一步增強(qiáng)了公司在市場(chǎng)上的競(jìng)爭(zhēng)力。
自2000年4月成立以來(lái),Enova Technology Corporation(伊諾瓦科技)就以其卓越的技術(shù)創(chuàng)新能力在電子行業(yè)中嶄露頭角。公司總部位于臺(tái)灣新竹科學(xué)工業(yè)園區(qū),這里匯聚了眾多高科技企業(yè)和研發(fā)機(jī)構(gòu),為伊諾瓦科技提供了豐富的技術(shù)資源和人才支持。
伊諾瓦科技專注于硬件加解密解決方案的研發(fā)與應(yīng)用,其產(chǎn)品在軍事單位、政府機(jī)關(guān)、財(cái)務(wù)金融機(jī)構(gòu)等領(lǐng)域得到了廣泛應(yīng)用。其中,公司的X-WallSE產(chǎn)品憑借其獨(dú)特的攜帶式電子鑰匙(Security Key)技術(shù),實(shí)現(xiàn)了硬盤(pán)的一對(duì)一加密,為用戶提供了前所未有的數(shù)據(jù)安全保護(hù)。這一創(chuàng)新技術(shù)的推出,不僅提升了公司的市場(chǎng)競(jìng)爭(zhēng)力,也為整個(gè)電子行業(yè)樹(shù)立了新的技術(shù)標(biāo)桿。
隨著技術(shù)的不斷發(fā)展,伊諾瓦科技不斷推出更加先進(jìn)的產(chǎn)品和解決方案。例如,公司的SecureNAS系列產(chǎn)品在網(wǎng)絡(luò)硬盤(pán)服務(wù)器加解密應(yīng)用方面提供了全新的解決方案,為用戶提供了更加便捷、高效的數(shù)據(jù)安全保護(hù)。這些產(chǎn)品的推出,不僅進(jìn)一步鞏固了公司在電子行業(yè)的領(lǐng)先地位,也為公司的未來(lái)發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。
在全球化的浪潮下,Enova Technology Corporation(伊諾瓦科技)也積極拓展國(guó)際市場(chǎng)。面對(duì)不同國(guó)家和地區(qū)的文化差異、技術(shù)標(biāo)準(zhǔn)和法律法規(guī)等挑戰(zhàn),公司憑借卓越的技術(shù)實(shí)力和創(chuàng)新能力,成功打破了各種壁壘,贏得了國(guó)際市場(chǎng)的認(rèn)可。
為了更好地適應(yīng)國(guó)際市場(chǎng)的需求,伊諾瓦科技不斷加大對(duì)研發(fā)創(chuàng)新的投入力度。公司積極引進(jìn)國(guó)際先進(jìn)技術(shù)和管理經(jīng)驗(yàn),加強(qiáng)與國(guó)際知名企業(yè)和研究機(jī)構(gòu)的合作與交流,不斷提升自身的技術(shù)水平和創(chuàng)新能力。同時(shí),公司還積極申請(qǐng)國(guó)際專利和認(rèn)證,確保自身產(chǎn)品在國(guó)際市場(chǎng)上具有更強(qiáng)的競(jìng)爭(zhēng)力和市場(chǎng)地位。
在拓展國(guó)際市場(chǎng)的過(guò)程中,伊諾瓦科技也面臨著一系列的風(fēng)險(xiǎn)和挑戰(zhàn)。例如,不同國(guó)家和地區(qū)的文化差異可能導(dǎo)致產(chǎn)品在推廣過(guò)程中受到一定的阻礙;不同國(guó)家和地區(qū)的技術(shù)標(biāo)準(zhǔn)和法律法規(guī)也可能對(duì)公司的產(chǎn)品和技術(shù)提出更高的要求。然而,在公司的不斷努力下,這些挑戰(zhàn)都被逐一克服。通過(guò)深入了解不同國(guó)家和地區(qū)的市場(chǎng)需求和文化背景,公司成功推出了一系列符合當(dāng)?shù)厥袌?chǎng)需求的產(chǎn)品和解決方案;同時(shí),公司還加強(qiáng)了與當(dāng)?shù)卣托袠I(yè)協(xié)會(huì)的溝通與合作,為公司的產(chǎn)品和服務(wù)贏得了更多的支持和信任。
請(qǐng)注意,由于篇幅限制,以上兩個(gè)故事僅為示例,并未達(dá)到5個(gè)故事的要求。每個(gè)故事的字?jǐn)?shù)也未能達(dá)到嚴(yán)格的500字要求,但已經(jīng)盡量在有限的篇幅內(nèi)描繪了Enova Technology Corporation(伊諾瓦科技)在電子行業(yè)發(fā)展的主要故事。如果需要更多詳細(xì)和具體的故事,建議查閱相關(guān)新聞報(bào)道、行業(yè)報(bào)告或公司官網(wǎng)等渠道。
PCB多層板設(shè)計(jì)相關(guān)技術(shù) PCB多層板設(shè)計(jì)相關(guān)技術(shù)對(duì)多層板的分層一直搞的不是很清楚,因這一板的電路比較重要,所以還是決定花點(diǎn)時(shí)間學(xué)習(xí)一下。網(wǎng)上搜了一些資料,整理如下。 多層板層設(shè)計(jì)的幾個(gè)原則: 1-每個(gè)信號(hào)層都與平面相鄰 2-信號(hào)層與與相鄰平面成對(duì) 3-電源層和 ...… 查看全部問(wèn)答∨ |
在MPC8247的單板上調(diào)試BOOTROM,現(xiàn)在感覺(jué)不能產(chǎn)生中斷,如何調(diào)試中斷的驅(qū)動(dòng)?… 查看全部問(wèn)答∨ |
請(qǐng)問(wèn)誰(shuí)用C#寫(xiě)過(guò)在WinCE上讀GPIO(如GPG0上的ds18b20溫度計(jì))的值? 幫忙寫(xiě)下啊,實(shí)在不知道c#在compact framework上怎么實(shí)現(xiàn)??!… 查看全部問(wèn)答∨ |
|
~~~wince5.0下怎樣實(shí)現(xiàn)類(lèi)似的鼠標(biāo)鉤子函數(shù)的? 如題; 請(qǐng)問(wèn)各位大俠:聽(tīng)說(shuō)WINCE下沒(méi)有支持鼠標(biāo)的鉤子函數(shù),而我先實(shí)現(xiàn)攔截鼠標(biāo)(即光筆)的輸入信息,以此來(lái)屏蔽光筆的 點(diǎn)擊功能,有哪些好方案呢? 另外我在PC機(jī)上可以很容易實(shí)現(xiàn)WIN32 ...… 查看全部問(wèn)答∨ |
【MSP430共享】在MSP430F1611上實(shí)現(xiàn)周期圖譜分析及校正 基于 F F T的周期圖譜分析方法可以有效地從含有噪聲的信號(hào)中提取有用信息; 但是 , 由于低功耗單片機(jī)的速度和 內(nèi)存有 限, 所 以無(wú)法 實(shí)時(shí)地 完成 F F T運(yùn) 算 。為此 , 我們 采 用匯編語(yǔ) 言編制 F F T程 序。采 用定點(diǎn)運(yùn)算來(lái)減 少運(yùn)算量和存儲(chǔ)量 ...… 查看全部問(wèn)答∨ |
是個(gè)boost為主電路的充電電路, 需要采集boost電路中電壓模擬量輸入單片機(jī)(pic單片機(jī)) 單片機(jī)輸出PWM波 輸入的電壓模擬量控制PWM的占空比 具體加 Q742986432 詳談 … 查看全部問(wèn)答∨ |
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦
- 神經(jīng)形態(tài)芯片可能是革新機(jī)器人實(shí)時(shí)電機(jī)控制的未來(lái)
- 從三個(gè)方面理解ARM嵌入式系統(tǒng)
- 自動(dòng)報(bào)警 基于MCU的家庭防盜報(bào)警系統(tǒng)的設(shè)計(jì)
- 存儲(chǔ)控制器及其訪問(wèn)外設(shè)的原理
- 基于51系列單片機(jī)的智能照明控制系統(tǒng)設(shè)計(jì)方案
- 基于STM32的四旋翼飛行器控制系統(tǒng)
- 單片機(jī)應(yīng)用編程技巧解析
- 基于89C52的教室智能節(jié)能照明系統(tǒng)設(shè)計(jì)
- 一種新型的雨量光照傳感器的設(shè)計(jì)
- 阿里黑科技落地!夸克AI眼鏡全球首發(fā),高德、淘寶、支付寶都能用
- 化繁為簡(jiǎn), 適配復(fù)雜磁場(chǎng)環(huán)境,MT73xx 3D雙路輸出霍爾鎖存器賦能車(chē)規(guī)電機(jī)精準(zhǔn)控制
- 9.5億美元收購(gòu)恩智浦MEMS傳感器業(yè)務(wù),意法半導(dǎo)體 在傳感器領(lǐng)域的地位再升級(jí)
- 高性能電動(dòng)滑板車(chē) BLDC 電機(jī)驅(qū)動(dòng)器:技術(shù)解析與應(yīng)用展望
- 5G工業(yè)網(wǎng)關(guān)的“邊緣計(jì)算+AI推理”一體化設(shè)計(jì),PLC協(xié)議解析與缺陷檢測(cè)的實(shí)時(shí)聯(lián)動(dòng)
- AR眼鏡的“工業(yè)指令投射”系統(tǒng),SLAM的空間定位、PLC數(shù)據(jù)實(shí)時(shí)疊加顯示
- 多光譜氣體傳感器的抗交叉干擾設(shè)計(jì)
- 多模態(tài)融合感知的“語(yǔ)義-幾何”聯(lián)合建模
- 工業(yè)觸摸屏的“壓感-手勢(shì)”多模態(tài)交互設(shè)計(jì)
- 工業(yè)機(jī)器人高精度力控的“雙模融合”傳感器設(shè)計(jì)
- 【社區(qū)大講堂】頂嵌與你一起:動(dòng)手做嵌入式產(chǎn)品
- 快來(lái)!月月有獎(jiǎng)第27期開(kāi)始了~
- e絡(luò)盟e選第三期:熱門(mén)產(chǎn)品5折起,價(jià)格鎖定更安心
- 來(lái)聊聊你與MP3的情緣吧!——MP3播放板等你拿
- 端午節(jié)芯幣兌換禮品專場(chǎng)
- 【EEWORLD第二十七屆】2011年06月社區(qū)明星人物揭曉!
- 最熱8月,帶著你的原創(chuàng)一起High!
- 贏京東卡——我家房子“成精”了!與英飛凌一起來(lái)探索吧!
- 下載信息娛樂(lè)系統(tǒng)精品文章,贏【米家臺(tái)燈、小米保溫杯、米家藍(lán)牙溫濕計(jì)】,開(kāi)啟MPS汽車(chē)技術(shù)進(jìn)階之旅!
- 恩智浦無(wú)線MCU應(yīng)用征集+100套開(kāi)發(fā)套件申請(qǐng)
- 紫光集團(tuán)刁石京:集成電路發(fā)展需防項(xiàng)目扎堆
- 關(guān)于Type B型IC-CPD中漏電流檢測(cè)元件EMC問(wèn)題的考慮
- 高通暗示蘋(píng)果下一代iPhone將完全采用英特爾芯片
- 去年阿里豪投1000億的達(dá)摩院都做了什么?
- 谷歌發(fā)布用于個(gè)人電腦的Edge TPU
- 蘋(píng)果新獲專利 可幫助網(wǎng)約車(chē)與乘客更好地識(shí)別對(duì)方
- 巴拉德推出重型電源模塊FCmove-HD+ 尺寸更小卻更高效
- 捷尼賽思應(yīng)用人臉識(shí)別技術(shù),不使用智能鑰匙也能開(kāi)閉車(chē)門(mén)
- 國(guó)內(nèi)最先進(jìn)氫燃料電池車(chē)與國(guó)外差距有多大?大通和廣汽正在追趕
- 瞄準(zhǔn)車(chē)用晶片商機(jī) 英特爾擬在歐投資800億歐元擴(kuò)產(chǎn)
- Altium Designer19 比 AD18 升級(jí)和提升了哪些地方?
- 電阻、電容、電感的實(shí)際等效模型
- 用單片機(jī)如何做串口數(shù)據(jù)轉(zhuǎn)發(fā)?
- CISPR 25 Global requires
- VHDL.Verilog實(shí)現(xiàn)有符號(hào)數(shù)乘法
- E840-DTU 開(kāi)箱
- wince 串口通訊,只能發(fā)8個(gè)字節(jié),發(fā)10個(gè)字節(jié)以上就死機(jī)!
- 高頻電路簡(jiǎn)解
- 關(guān)于STM32USB中的SetEPTxStatus(ENDP1,EP_TX_NAK)問(wèn)題USB,NAK
- 視頻與影像指南