91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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ù)單片機的主要手段。下面介紹鍵盤的工作原理、鍵盤按鍵的識別過程和識別方法以及鍵盤與單片機的接口編程

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

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”,進行代碼的編譯,可以看出代碼沒有任何問題,證明我們利用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)推薦
    熱點推薦

    【「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

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

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

    第四章 什么是寄存器

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

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

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

    汽車電路初識

    第一 汽車電路分析基礎(chǔ)第二 汽車電路圖識讀第三 典型汽車電器電路分析第四章 汽車電路檢修第五 汽車電子電路圖識讀
    發(fā)表于 03-10 18:04 ?7次下載

    藍(lán)橋中GPIO輸入之按鍵實驗

    第一節(jié)按鍵的基本知識按鍵按照結(jié)構(gòu)原理可分為兩類,一類是觸點式開關(guān)按鍵,如機械式開關(guān)、導(dǎo)電橡膠式開關(guān)燈;另一類是無觸點式開關(guān)按鍵,如電氣式按鍵
    的頭像 發(fā)表于 01-09 21:02 ?846次閱讀
    <b class='flag-5'>藍(lán)橋</b><b class='flag-5'>杯</b>中GPIO輸入之<b class='flag-5'>按鍵</b>實驗

    藍(lán)橋聯(lián)網(wǎng)需要安裝哪些軟件?

    藍(lán)橋聯(lián)網(wǎng)比賽需要安裝的軟件有如下幾種,需要大家自己在練習(xí)的時候自行安裝。下面是安裝教程。以下是需要安裝的軟件,本教程會一一帶領(lǐng)大家安裝,【注意:一定要按照順序安裝】沒有安裝包的話,
    的頭像 發(fā)表于 12-23 21:02 ?1078次閱讀
    <b class='flag-5'>藍(lán)橋</b><b class='flag-5'>杯</b><b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>需要安裝哪些軟件?

    藍(lán)橋聯(lián)網(wǎng)開發(fā)板硬件組成

    第一節(jié)開發(fā)板簡介聯(lián)網(wǎng)設(shè)計與開發(fā)競賽實訓(xùn)平臺由藍(lán)橋大賽技術(shù)支持單位北京梯科技有限公司設(shè)計和生產(chǎn),該產(chǎn)品可用于參加
    的頭像 發(fā)表于 12-22 21:30 ?1282次閱讀
    <b class='flag-5'>藍(lán)橋</b><b class='flag-5'>杯</b><b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>開發(fā)板硬件組成

    藍(lán)橋該如何備賽?

    藍(lán)橋聯(lián)網(wǎng)已經(jīng)換了三次開發(fā)板了,每次換板子,題目難度都會降低不少,所以說,藍(lán)橋
    的頭像 發(fā)表于 12-19 21:02 ?1517次閱讀
    <b class='flag-5'>藍(lán)橋</b><b class='flag-5'>杯</b>該如何備賽?

    大華股份第四屆創(chuàng)新大會暨首屆“大華”技術(shù)創(chuàng)新大賽圓滿落幕

    近日,由浙江省發(fā)明協(xié)會指導(dǎo),大華股份主辦的大華股份第四屆創(chuàng)新大會暨首屆“大華”技術(shù)創(chuàng)新大賽圓滿落下帷幕。
    的頭像 發(fā)表于 12-11 11:00 ?646次閱讀

    華為-射頻基礎(chǔ)知識培訓(xùn)

    課程目標(biāo)z 熟悉和掌握射頻基本概念和知識z 了解無線射頻系統(tǒng)結(jié)構(gòu)z 了解天饋系統(tǒng)的概念和知課程內(nèi)容第一 無線通信的基本概念第二 射頻常用計算單位簡介第三 射頻常用概念辨析第四章
    發(fā)表于 12-10 13:39 ?1次下載

    《DNESP32S3使用指南-IDF版_V1.6》第四章 認(rèn)識ESP-IDF

    第四章 認(rèn)識ESP-IDF ESP-IDF是樂鑫科技為其ESP32系列芯片提供的官方開發(fā)框架。這個框架主要用于開發(fā)、構(gòu)建和部署基于ESP32的聯(lián)網(wǎng)(IoT)應(yīng)用。我們要寫程序控制ESP32芯片
    發(fā)表于 11-22 09:49

    藍(lán)橋單片機】第一 大賽概述

    第一節(jié)藍(lán)橋是什么樣的比賽藍(lán)橋全國軟件和信息技術(shù)專業(yè)人才大賽(以下簡稱“藍(lán)橋”)是由中國教育
    的頭像 發(fā)表于 10-29 12:00 ?1424次閱讀
    【<b class='flag-5'>藍(lán)橋</b><b class='flag-5'>杯</b>單片機】第一<b class='flag-5'>章</b> 大賽概述

    【「嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用」閱讀體驗】+第三四章閱讀報告

    與重定向等機制。 第四章:PRTOS Hypervisor的設(shè)計與實現(xiàn) 內(nèi)容概述 : 第四章則聚焦于PRTOS(Portable Real-Time Operating System)Hypervisor
    發(fā)表于 10-09 18:29

    第四章:對廣東龍芯2K0300-蜂鳥板-v1.0視頻教程我的感觸

    工程師)對LoongArch內(nèi)核架構(gòu)演講。 龍芯云平臺技術(shù)及應(yīng)用.mp435:11分鐘30.62MB 文件大小 2023-05-09發(fā)表。其內(nèi)容是2023年度龍芯精英百強賽前培訓(xùn),龍芯發(fā)展歷程,中科院計算所,三大架構(gòu)
    發(fā)表于 09-11 18:10
    主站蜘蛛池模板: 色偷偷免费 | 久久久久久久免费 | 成年女人在线观看 | 亚州1区2区3区4区产品乱码2021 | 欧美三级免费看 | 免费h网站在线观看 | 免费在线黄色网 | 手机在线你懂得 | 色婷婷基地 | 国产美女作爱全过程免费视频 | 亚洲韩国欧美一区二区三区 | 性色网站 | 日本黄色激情视频 | 天天干天天射天天舔 | 国产色产综合色产在线观看视频 | 亚洲狠狠97婷婷综合久久久久 | se色综合视频 | 亚洲国产福利精品一区二区 | 一级黄色毛片播放 | 久久毛片视频 | 中日韩精品视频在线观看 | 四大名著成人高h肉版 | 国产午夜三区视频在线 | 午夜网站在线 | 天堂成人在线观看 | 午夜一级影院 | 黄色网在线看 | 亚洲不卡在线播放 | 你懂的在线视频网站 | 色成人免费网站 | 黄色免费在线网址 | 国产精品福利午夜h视频 | 色视频免费观看高清完整 | 欧美在线视频看看 | 老色网站 | 日本视频色 | 一久久| www.你懂的.com| 在线观看中文字幕一区 | 又粗又长又大真舒服好爽漫画 | 亚洲欧美日韩国产一区二区三区精品 |