亚洲综合图片区自拍_思思91精品国产综合在线观看_一区二区三区欧美_欧美黑人又粗又大_亚洲人成精品久久久久桥本

最新消息:使用STC15W408AS單片機(jī)I/O口的按鍵檢測(cè)

2023-06-15 15:15:38 來(lái)源:小猿豬哥


(資料圖片)

在上面介紹了使用I/O口點(diǎn)了LED,實(shí)際也可以用I/O口做按鍵檢測(cè)。這里采用的是P1.0口外接按鍵到GND。P1.1口外接LED到GND。

P1.0--->按鍵--->GND。

P1.1--->LED--->GND。

實(shí)驗(yàn)程序如下:

#include "stc15.h"void main(){  P11 = 0; // 初始設(shè)置P1.1為0 熄滅LED  while (1)  {    if(P10 == 0)    // P1.0口檢測(cè)到按鍵按下    {      P11 = !P11; // P1.1口輸出取反    }  }}

按鈕按下的時(shí)候的波形圖:

這里發(fā)現(xiàn),按鈕按下的時(shí)候并沒(méi)有機(jī)械抖動(dòng),而是波形直接被拉低了,松開之后也沒(méi)有抖動(dòng),波形也直接恢復(fù)了。這里我使用的是這種按鈕。

那么在之前的文章《8.樹莓派3B+按鈕操作)》中介紹的抖動(dòng)是有問(wèn)題了。當(dāng)時(shí)在這篇文章中的抖動(dòng)圖:

這個(gè)圖怎么說(shuō)呢,在我十年前接觸單片機(jī)的時(shí)候就是這么說(shuō)的,現(xiàn)在自己有示波器了,實(shí)際測(cè)試是沒(méi)有的。那么實(shí)際有沒(méi)有抖動(dòng)大家還是要以自己的測(cè)試為準(zhǔn)。按鈕檢測(cè)代碼也要以自己的實(shí)際電路和程序?yàn)闇?zhǔn)。之前我就是按照接觸的別人的知識(shí)處理的,在按鈕按下的時(shí)候等待20ms左右再次判斷電平。

if (rpio.read(button_pin) == rpio.LOW) { // 檢測(cè)到 低電平  rpio.msleep(20); // 按鍵消抖if (rpio.read(button_pin) == rpio.LOW) {    rpio.write(led_pin, rpio.HIGH); // 點(diǎn)亮LED  }}

在去年弄樹莓派的時(shí)候就一直對(duì)這個(gè)抖動(dòng)抱有懷疑,現(xiàn)在自己有示波器了,也就證實(shí)了之前的懷疑。還是實(shí)踐出真理。

標(biāo)簽:

上一篇:焦點(diǎn)速看:基于Multisim的壓頻轉(zhuǎn)換電路設(shè)計(jì)與仿真
下一篇:最后一頁(yè)