在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【藍橋杯物聯網】第四章 按鍵

撞上電子 ? 2022-05-26 10:50 ? 次閱讀

第一節基本原理

鍵盤在單片機應用系統中能夠實現向單片機輸入數據、傳送命令的功能,是人工干預單片機的主要手段。下面介紹鍵盤的工作原理、鍵盤按鍵的識別過程和識別方法以及鍵盤與單片機的接口編程

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

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

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

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

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

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

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

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

第二節 硬件解讀

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

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

第三節 環境配置

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

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

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

1d4b9ce2-da90-11ec-b80f-dac502259ad0.png3,選中“A-Z”,查看藍橋杯嵌入式芯片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作為輸入引腳了,也據說用戶按鍵引腳。

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

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

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

8,點擊GENERATE CODE生成代碼。

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

9,點擊”CLOSE”,關閉stm32cubeMX,代碼生成成功。

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

第四節 程序編寫

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

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

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

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

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

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

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

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

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

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

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

6,在mian函數中初始化LED:

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

7,編寫while里面的函數:

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

8,編譯代碼。

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

9,點擊”Options for Target...“。

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

10,點擊”Debug“,然后選擇下載器”CMSIS-DAP Debugger“,并點擊”OK“。

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

11,選擇“Settings”。

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

12,選擇”Flash Downlosd”,勾選”Reset and Run”并點擊”OK”。

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

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

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

14,程序下載成功。

第五節 注意事項與實驗現象

實驗注意事項:

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

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

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

實驗現象:

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

宗旨:

免費的服務,永遠的開源

說明:

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 物聯網
    +關注

    關注

    2911

    文章

    44818

    瀏覽量

    375067
收藏 人收藏

    評論

    相關推薦

    藍橋中GPIO輸入之按鍵實驗

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

    藍橋聯網需要安裝哪些軟件?

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

    瑞薩電子榮獲維科·OFweek 2024聯網行業優秀開發平臺獎

    近日,由高科技行業門戶OFweek維科網主辦、OFweek聯網承辦的“OFweek 2024(第九屆)聯網產業大會”暨“維科·OFwe
    的頭像 發表于 12-23 11:45 ?260次閱讀

    藍橋聯網開發板硬件組成

    第一節開發板簡介聯網設計與開發競賽實訓平臺由藍橋大賽技術支持單位北京梯科技有限公司設計和生產,該產品可用于參加
    的頭像 發表于 12-22 21:30 ?463次閱讀
    <b class='flag-5'>藍橋</b><b class='flag-5'>杯</b><b class='flag-5'>物</b><b class='flag-5'>聯網</b>開發板硬件組成

    藍橋該如何備賽?

    藍橋聯網已經換了三次開發板了,每次換板子,題目難度都會降低不少,所以說,藍橋
    的頭像 發表于 12-19 21:02 ?272次閱讀
    <b class='flag-5'>藍橋</b><b class='flag-5'>杯</b>該如何備賽?

    大華股份第四屆創新大會暨首屆“大華”技術創新大賽圓滿落幕

    近日,由浙江省發明協會指導,大華股份主辦的大華股份第四屆創新大會暨首屆“大華”技術創新大賽圓滿落下帷幕。
    的頭像 發表于 12-11 11:00 ?248次閱讀

    華為-射頻基礎知識培訓

    課程目標z 熟悉和掌握射頻基本概念和知識z 了解無線射頻系統結構z 了解天饋系統的概念和知課程內容第一 無線通信的基本概念第二 射頻常用計算單位簡介第三 射頻常用概念辨析第四章
    發表于 12-10 13:39 ?1次下載

    《DNESP32S3使用指南-IDF版_V1.6》第四章 認識ESP-IDF

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

    “聯想·創新第四屆中國高校ESG案例大賽拉開帷幕

    “創新”中國高校ESG案例大賽是由首都經濟貿易大學中國ESG研究院和工商管理學院聯合主辦的大學生ESG案例大賽。第四屆中國高校ESG案例大賽由聯想集團贊助,致力于在中國高校推廣ESG理念,發掘和培養中國ESG商業領域儲備人才。
    的頭像 發表于 10-31 11:36 ?485次閱讀

    藍橋單片機】第一 大賽概述

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

    【「嵌入式Hypervisor:架構、原理與應用」閱讀體驗】+第三四章閱讀報告

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

    【北京迅為】iTOP-i.MX6開發板使用手冊第四部分固件編譯第十四章非設備樹Android4.4系統編譯

    【北京迅為】iTOP-i.MX6開發板使用手冊第四部分固件編譯第十四章非設備樹Android4.4系統編譯
    的頭像 發表于 09-12 15:43 ?570次閱讀
    【北京迅為】iTOP-i.MX6開發板使用手冊<b class='flag-5'>第四</b>部分固件編譯第十<b class='flag-5'>四章</b>非設備樹Android4.4系統編譯

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

    工程師)對LoongArch內核架構演講。 龍芯云平臺技術及應用.mp435:11分鐘30.62MB 文件大小 2023-05-09發表。其內容是2023年度龍芯精英百強賽前培訓,龍芯發展歷程,中科院計算所,三大架構
    發表于 09-11 18:10

    雙麒麟系統!迅為RK3588開發板+銀河麒麟/開放麒麟

    Build root系統功能測試 第四章 Ubuntu系統功能測試 第五 Debian系統功能測試 第六 openkylin系統功能測試 第七 銀河麒麟系統功能測試
    發表于 07-15 10:35

    搭配100教學實驗案例,輕松解決老師備課難題!

    Linux系統使用實驗第三Linux設備驅動程序開發實驗第四章基于ARM基礎外設實驗第五LinuxQt開發實驗第六LinuxPython開發實驗向下滑動查看所有內容
    的頭像 發表于 05-01 08:31 ?434次閱讀
    搭配100教學實驗案例,輕松解決老師備課難題!
    主站蜘蛛池模板: 午夜视频福利在线| 老色批影院| 国产国拍亚洲精品mv在线观看| 国产永久视频夜色资源网| 日本三级在线视频| 亚洲福利在线视频| 美国一级大黄香蕉片| 一级福利视频| 国内在线观看精品免费视频 | 国产亚洲精品aa在线观看| 亚洲国产第一区二区香蕉| 国产一区二区三区在线观看视频 | 视频一区日韩| 下农村女人一级毛片| 免费污视频在线| 一二三区在线视频| 欧美黑人性受xxxx喷水| 国产精品色片| 开心色xxxx| 五月欧美| 欧美操穴视频| 禁漫羞羞入口| 最新bt合集| 狠狠一区| 亚洲成熟| 女人张开腿让男人捅爽| 欧美综合影院| 日本网站免费观看| 精品一区二区三区免费爱| 免费拍拍视频| 男人都懂得网址| 国产在线播| 天天干夜夜操视频| 日本黄色网址大全| 免费一级毛片正在播放| 欧美午夜免费观看福利片| 天天av天天翘天天综合网| 色综合天天综合网站中国| 人人澡 人人澡 人人看| 日本日本69xxxx| 亚洲天堂一区二区三区|