欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3637|回復: 8
收起左側

單片機程序怎么實現按鍵按下,蜂鳴器連響三下?用50ms定時器

[復制鏈接]
ID:912068 發表于 2022-4-1 16:58 | 顯示全部樓層 |閱讀模式
如題 求指導
回復

使用道具 舉報

ID:121859 發表于 2022-4-1 17:47 | 顯示全部樓層
檢測到按鍵后,調用三次蜂鳴器發聲程序,相互間加點延時就可以了。
回復

使用道具 舉報

ID:161164 發表于 2022-4-1 18:16 | 顯示全部樓層
1. 選擇有源蜂鳴器并建立電路,低電平發聲
2. 用50ms中斷產生500ms心跳Flag_500ms
3. 在main中掃描按鍵,有鍵按下,Beep_3_time=3
4. 在main中判斷心跳,如有心跳,清零心跳并判斷Beep_3_time是否零,如Beep_3_time非零蜂鳴器輸出腳取反并判斷輸出腳是否高電平,如是高電平,Beep_3_time減1
回復

使用道具 舉報

ID:319585 發表于 2022-4-1 20:01 來自觸屏版 | 顯示全部樓層
響一下,三下,一百有區別嗎?使用一個變量,奇數響偶數不響。定時器溢出變量減1
回復

使用道具 舉報

ID:292427 發表于 2022-4-1 22:09 | 顯示全部樓層
蜂鳴器響一下然后關蜂鳴器,加個延時然后再打開蜂鳴器響一下關蜂鳴器,加個延時再打開蜂鳴器
回復

使用道具 舉報

ID:123289 發表于 2022-4-2 09:12 | 顯示全部樓層
教你發生N次!
初始化建立四個東東:
1、按鍵標記:B_KEY,含義=0/1=未按/已按。
2、蜂鳴次數計數器:R_TIMES,你想讓蜂鳴器叫N次,在按鍵后就置數N。
3、蜂鳴器一次鳴叫時間計時器:R_BELLTIMES,時間以50ms為單位,例:一次叫0.4秒,就置數400/50=8。
4、蜂鳴器一次鳴叫間隔時間(停叫時間):R_STOPTIMES,時間以50ms為單位,例:間隔0.3秒,就置數300/50=6。
編程操作開始了!在50ms中斷服務程序中,以序做以下事件:
1、判斷是否需要啟動鳴叫程序:B_KEY=0/1? =0什么也不做退出;=1做以下事情:
2、判斷是否鳴叫結束:R_TIMES=0? 為0,結束鳴叫(復位:蜂鳴器=不叫,B_KEY=0,R_BELLTIMES=8,R_STOPTIMES=6,準備下次),退出;非0,則做以下事情:
3、判斷是否在叫之中:R_BELLTIMES=0? 非0,蜂鳴器=鳴叫,并計時一次:R_BELLTIMES-1,退出;=0,則做以下事情:
4、判斷是否在停叫中:R_STOPTIMES=0? 非0,蜂鳴器=不叫,并計時一次:R_STOPTIMES-1,退出;=0,則做以下事情:
5、計下叫了一次:R_TIMES-1;準備下次的鳴叫:R_BELLTIMES=8,R_STOPTIMES=6。退出
回復

使用道具 舉報

ID:123289 發表于 2022-4-2 09:21 | 顯示全部樓層
以上邏輯不夠精練,讓樓主去精練,但夠用了。
這種寫法有以下特點:
1、可以隨時叫停過鳴叫過程,方法是:蜂鳴器=不叫,B_KEY=0。
2、按鍵后可以任意讓它叫N聲,方法是:B_KEY=1,R_TIMES=N,R_BELLTIMES=8,R_STOPTIMES=6。
回復

使用道具 舉報

ID:912068 發表于 2022-4-2 13:40 | 顯示全部樓層
yzwzfyz 發表于 2022-4-2 09:12
教你發生N次!
初始化建立四個東東:
1、按鍵標記:B_KEY,含義=0/1=未按/已按。

謝謝
回復

使用道具 舉報

ID:1015060 發表于 2022-4-2 16:11 | 顯示全部樓層
調用一個響三下的函數應該可以吧
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表