91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【藍(lán)橋杯物聯(lián)網(wǎng)】第四章 按鍵

撞上電子 ? 2022-05-26 10:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

第一節(jié)基本原理

鍵盤在單片機應(yīng)用系統(tǒng)中能夠?qū)崿F(xiàn)向單片機輸入數(shù)據(jù)、傳送命令的功能,是人工干預(yù)單片機的主要手段。下面介紹鍵盤的工作原理、鍵盤按鍵的識別過程和識別方法以及鍵盤與單片機的接口編程。

在進(jìn)行鍵盤使用之前,需要先了解一下鍵盤的工作原理。以下將分三個部分介紹鍵盤的工作原理。

1.鍵盤輸入的特點鍵盤實質(zhì)上是一個按鍵開關(guān)的集合。通常鍵盤的開關(guān)為機械彈性開關(guān),利用的是機械觸點的合斷特性。一個電信號通過機械觸點的斷開、閉合過程,其行線電壓輸出波形如圖所示。

1c49ec7c-da90-11ec-b80f-dac502259ad0.png

圖中t1和t3是鍵閉合和斷開過程中的抖動期,抖動時間長短和機械特性有關(guān),一般為5~10ms;t2為穩(wěn)定的閉合期,時間由按鍵動作所決定;一般為十分之幾到幾秒;t0、t4為斷開期。

2.按鍵的確認(rèn)按鍵的閉合與否反映在行線輸出電壓是高電平還是低電平上,如果高電平表示斷開,則低電平表示鍵閉合,通過對行線電平的檢測從而判斷是否有按鍵被按下。

3.消除按鍵抖動消除按鍵的抖動通常有軟件和硬件兩種方法。硬件消抖一般采用雙穩(wěn)態(tài)消抖電路,如下圖所示。圖中兩個與非門構(gòu)成一個RS觸發(fā)器。b點的抖動電壓波形通過RS觸發(fā)電路后變成正規(guī)的正弦波,這一點很容易從RS觸發(fā)器的工作過程得到驗證。

1c9b6886-da90-11ec-b80f-dac502259ad0.png?

在按鍵較多時,硬件消抖無法勝任,因此常用軟件消除鍵盤的抖動,在第一次檢測到鍵按下時,延時10ms的時間再確認(rèn)該鍵的電平是否繼續(xù)保持閉合狀態(tài)的電平,如果繼續(xù)保持為閉合狀態(tài)的電平,則確認(rèn)有鍵按下,從而消除抖動的影響。

第二節(jié) 硬件解讀

藍(lán)橋杯嵌入式主板上面是有5個按鍵的,其中4個用戶按鍵,一個復(fù)位按鍵,本章的實驗就是用戶按鍵來控制LED燈。先看看下圖的原理圖吧:

1cc4a9d0-da90-11ec-b80f-dac502259ad0.png ?? 上圖就是4個獨立按鍵的原理圖,我們以左上角的為例,按鍵一端連接到GND,另外一端連接到VDD,也就是說,PB1平時是高電平的狀態(tài),一旦按鍵被按下,就與GND相連,變成低電平了。至于其他的消抖等等不再詳述,都學(xué)習(xí)stm32了,想必51應(yīng)該學(xué)過了。

第三節(jié) 環(huán)境配置

1,打開stm32cubeMX,選擇“File-New Project ...”。

1cffca6a-da90-11ec-b80f-dac502259ad0.png

2,如圖,在方框中搜索“stm32g431rb”(可大寫,可小寫)。然后選擇LQFPN64的封裝的芯片。

1d4b9ce2-da90-11ec-b80f-dac502259ad0.png3,選中“A-Z”,查看藍(lán)橋杯嵌入式芯片stm32g431rb的所有功能。

1d77d8c0-da90-11ec-b80f-dac502259ad0.png

4,選中“SYS”,在Debug項目中選擇“Serial Wire”,可以看見PA13與PA14引腳變成綠色,分別用作SYS_SWDIO和SYS_SWCLK。

1da4dcbc-da90-11ec-b80f-dac502259ad0.png

5,選中“PD2-GPIO_Output”,“PC8-GPIO_Output”,“PC9-GPIO_Output”,“PC10-GPIO_Output”,“PC11-GPIO_Output”,“PC12-GPIO_Output”,“PC13-GPIO_Output”,“PC14-GPIO_Output”和“PC15-GPIO_Output”,這樣就可以讓芯片的PD2和PC8~PC15作為輸出引腳了。

1dc6a306-da90-11ec-b80f-dac502259ad0.png

6,選中“PA0-GPIO_Input”,“PB0-GPIO_Input”,“PB1-GPIO_Input”,“PB2-GPIO_Input”,這樣就可以讓芯片的PA0和PB0~PB2作為輸入引腳了,也據(jù)說用戶按鍵引腳。

1e1314f2-da90-11ec-b80f-dac502259ad0.png

7,選中“Project Manager-Project”。在Project Name中填寫項目的名字(盡可能不要用中文),在Project Location中選擇項目保存的路徑,在Toolchain/IDE中選擇編譯器,藍(lán)橋杯嵌入式比賽用的是MDK5,所以我們選擇MDK-ARM V5。

1e3d5302-da90-11ec-b80f-dac502259ad0.png

8,點擊GENERATE CODE生成代碼。

1e6e3620-da90-11ec-b80f-dac502259ad0.png

9,點擊”CLOSE”,關(guān)閉stm32cubeMX,代碼生成成功。

1ebb7ebc-da90-11ec-b80f-dac502259ad0.png

第四節(jié) 程序編寫

1,用MDK5打開stm32cubeMX生成的工程。

2,點擊“Rebuild”,進(jìn)行代碼的編譯,可以看出代碼沒有任何問題,證明我們利用stm32cubeMX生成代碼很成功。

1f051b6c-da90-11ec-b80f-dac502259ad0.png

3,在main.c文件中添加下面定義:

1f5e847c-da90-11ec-b80f-dac502259ad0.png?

4,在main.c文件中加入以下封裝好了的函數(shù):

1f8871ba-da90-11ec-b80f-dac502259ad0.png

1fbdb5aa-da90-11ec-b80f-dac502259ad0.png

1febed30-da90-11ec-b80f-dac502259ad0.png

5,將封裝好的函數(shù)在main.h中聲明:

202ab560-da90-11ec-b80f-dac502259ad0.png

6,在mian函數(shù)中初始化LED:

2062c41e-da90-11ec-b80f-dac502259ad0.png

7,編寫while里面的函數(shù):

20a1d474-da90-11ec-b80f-dac502259ad0.png

8,編譯代碼。

20db3584-da90-11ec-b80f-dac502259ad0.png

9,點擊”O(jiān)ptions for Target...“。

211a2bfe-da90-11ec-b80f-dac502259ad0.png

10,點擊”Debug“,然后選擇下載器”CMSIS-DAP Debugger“,并點擊”O(jiān)K“。

2154441a-da90-11ec-b80f-dac502259ad0.png

11,選擇“Settings”。

219a43b6-da90-11ec-b80f-dac502259ad0.png

12,選擇”Flash Downlosd”,勾選”Reset and Run”并點擊”O(jiān)K”。

21d1bb48-da90-11ec-b80f-dac502259ad0.png

13,點擊”Download“,開始下載程序。

222b861e-da90-11ec-b80f-dac502259ad0.png

14,程序下載成功。

第五節(jié) 注意事項與實驗現(xiàn)象

實驗注意事項:

1,程序語句需要位于程序的BEGIN與END之間。

2,利用USB線將電腦USB口與開發(fā)板CN2口連接。

3,J6,J7,J8需要用跳線帽連接,否則無法下載程序。

實驗現(xiàn)象:

LD9和LD11常亮。按下B1,LD1亮;按下B2,LD2亮:按下B3,LD3亮;按下B4,LD4亮。

宗旨:

免費的服務(wù),永遠(yuǎn)的開源

說明:

1.本教程免費,開源,禁止用于任何商業(yè)用途,違者必究。

2.本教程版權(quán)所屬為東莞市東城墨竹公子電子工作室,盜版必究。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    【「Altium Designer 25 電路設(shè)計精進(jìn)實踐」閱讀體驗】+本書概覽與內(nèi)容特點介紹

    分也很具備工程實踐參考意義,屬于進(jìn)階部分。 第四章進(jìn)行了線速設(shè)計介紹,一般做消費類產(chǎn)品好像很少遇到,汽車上可能會涉及到第五介紹了原理圖設(shè)計第六介紹了PCB設(shè)計,拼版等都是具備工程實踐意義
    發(fā)表于 02-14 15:56

    日海智能旗下芯訊通斬獲維科·OFweek 2025聯(lián)網(wǎng)行業(yè)創(chuàng)新技術(shù)產(chǎn)品獎

    近日,備受聯(lián)網(wǎng)行業(yè)矚目的“維科·OFweek 2025(第十屆)聯(lián)網(wǎng)行業(yè)年度評選”頒獎典禮圓滿落幕。憑借在低功耗廣域網(wǎng)通信領(lǐng)域的技術(shù)創(chuàng)
    的頭像 發(fā)表于 12-31 14:46 ?572次閱讀
    日海智能旗下芯訊通斬獲維科<b class='flag-5'>杯</b>·OFweek 2025<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>行業(yè)創(chuàng)新技術(shù)產(chǎn)品獎

    國民技術(shù)榮獲維科·OFweek 2025聯(lián)網(wǎng)行業(yè)優(yōu)秀解決方案獎

    12月19日,國民技術(shù)股份有限公司憑借 “NSTurnkey-SmartToken:基于N32S0xx安全芯片的一站式交鑰匙方案” ,在“維科·OFweek 2025聯(lián)網(wǎng)行業(yè)年度評選”中,從近
    的頭像 發(fā)表于 12-28 11:49 ?598次閱讀
    國民技術(shù)榮獲維科<b class='flag-5'>杯</b>·OFweek 2025<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>行業(yè)優(yōu)秀解決方案獎

    利爾達(dá)榮獲維科·OFweek2025聯(lián)網(wǎng)行業(yè)杰出標(biāo)桿企業(yè)獎

    //12月19日,維科·OFweek2025(第十屆)聯(lián)網(wǎng)行業(yè)年度評選頒獎典禮暨答謝晚宴在深圳圓滿落幕。憑借卓越的市場表現(xiàn)、持續(xù)的技術(shù)創(chuàng)新能力及在多領(lǐng)域的深度場景落地成果,利爾達(dá)成功斬獲2025
    的頭像 發(fā)表于 12-25 17:40 ?513次閱讀
    利爾達(dá)榮獲維科<b class='flag-5'>杯</b>·OFweek2025<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>行業(yè)杰出標(biāo)桿企業(yè)獎

    圣邦微電子榮獲維科·OFweek 2025聯(lián)網(wǎng)行業(yè)創(chuàng)新技術(shù)產(chǎn)品獎

    圣邦微電子憑借創(chuàng)新產(chǎn)品SGM6040在行業(yè)矚目的“維科·OFweek 2025聯(lián)網(wǎng)行業(yè)評選”中脫穎而出,成功斬獲“聯(lián)網(wǎng)行業(yè)創(chuàng)新技術(shù)產(chǎn)品
    的頭像 發(fā)表于 12-24 15:30 ?366次閱讀
    圣邦微電子榮獲維科<b class='flag-5'>杯</b>·OFweek 2025<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>行業(yè)創(chuàng)新技術(shù)產(chǎn)品獎

    學(xué)習(xí)聯(lián)網(wǎng)怎么入門?

    隨著聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,越來越多的人開始關(guān)注學(xué)習(xí)這一領(lǐng)域。但是對于初學(xué)者來說,聯(lián)網(wǎng)似乎是一個龐雜的概念,學(xué)習(xí)起來很困難。因此,從哪里開始學(xué)習(xí)
    發(fā)表于 10-14 10:34

    【「DeepSeek 核心技術(shù)揭秘」閱讀體驗】--全書概覽

    講解Deepseek的使用方法 第三 深入剖析Deepseek-V3的模型架構(gòu)、訓(xùn)練框架、推理階段優(yōu)化、后訓(xùn)練優(yōu)化等關(guān)鍵技術(shù) 第四章關(guān)于DeepSeek-R1的技術(shù)剖析 第五 從宏觀角度分析
    發(fā)表于 07-21 00:04

    福田歐曼閃耀墨西哥Súper Copa第四屆超級

    在近日舉辦的墨西哥Súper Copa第四屆超級上,福田汽車攜旗下歐曼卡車實力亮相賽場,在競爭激烈的牽引車類別中嶄露頭角。車手Santiago Tovar和Michel Jourdain駕駛歐曼
    的頭像 發(fā)表于 06-26 16:35 ?710次閱讀

    初級工程師PCB設(shè)計技巧(PPT版)

    目錄第一:PCB 概述第二:PCB 設(shè)計流程及PCB Layout 設(shè)計第三: PROTEL 常用操作第四章: PCB Layout 技巧 獲取完整文檔資料可下載附件哦?。。?!
    發(fā)表于 06-26 15:50

    電源設(shè)計中功率因數(shù)校正講解

    不同的臨界導(dǎo)電模式拓?fù)洌ê愣ㄝ敵龊透S升壓版本)的設(shè)計指南、討論和顯著的效果。 第四章包括兩種不同的臨界導(dǎo)電模式拓?fù)洌▊鹘y(tǒng)的CCM升壓和CCM隔離反激)的設(shè)計指南、討論和顯著的效果。 第五提供從相同
    發(fā)表于 06-25 15:58

    聯(lián)網(wǎng)的應(yīng)用范圍有哪些?

    聯(lián)網(wǎng),簡單來說,就是“萬相連的互聯(lián)網(wǎng)”。它以互聯(lián)網(wǎng)為基石,將用戶端延伸至物品與物品之間,實現(xiàn)信息的交換與通信。打個比方,你的智能手表能實
    發(fā)表于 06-16 16:01

    【「# 運算放大器參數(shù)解析與LTspice應(yīng)用仿真」閱讀體驗】+全書概覽與第一閱讀分享

    拿到本書之后,看到本書不厚 但是翻開目錄可以看到,實際內(nèi)容還是很豐富的。 第一介紹了運放的基礎(chǔ)知識 第二介紹了運放的參數(shù)解析 第三介紹了專用放大器 第四章介紹了模擬電路
    發(fā)表于 05-22 23:18

    第四章 什么是寄存器

    本篇文章我們講解了寄存器的概念、地址映射和寄存器操作等內(nèi)容,內(nèi)容比較干,大家有個概念即可,不要求全部熟記掌握,有需要時可重復(fù)查閱觀看。下一篇我們將開始進(jìn)行實操內(nèi)容,通過控制單片機的GPIO來點亮一顆LED,敬請期待!
    的頭像 發(fā)表于 05-21 14:23 ?1486次閱讀
    <b class='flag-5'>第四章</b> 什么是寄存器

    為什么選擇蜂窩聯(lián)網(wǎng)

    在為您的聯(lián)網(wǎng)(IoT)應(yīng)用評估最合適的低功耗廣域網(wǎng)(LPWAN)技術(shù)時,除了考慮技術(shù)指標(biāo)外,還必須考慮各種因素,因為技術(shù)指標(biāo)本身可能與實際性能大相徑庭。與 LoRaWAN、Sigfox
    發(fā)表于 03-17 11:42

    第四章 定時任務(wù)】手把手教你玩轉(zhuǎn)新版正點原子云

    第四章 定時任務(wù)】手把手教你玩轉(zhuǎn)新版正點原子云 承接上篇,除了報警聯(lián)動這個功能,原子云還有一個特色功能也是各開發(fā)者喜歡用的,定時任務(wù)功能。 【正點原子】云平臺:原子云(點擊登錄原子云) 前言
    發(fā)表于 03-13 10:19