欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
單片機10mS主循環,按鍵和蜂鳴器如何處理?
[打印本頁]
作者:
liucan2020
時間:
2022-7-30 15:04
標題:
單片機10mS主循環,按鍵和蜂鳴器如何處理?
請問大佬,如果主循環以10mS的基礎時鐘運行,那么在這種情況下,1:按鍵使用中斷觸發是如何消抖的? 2:蜂鳴器是如何連續發聲1秒的?是否有好的示例可以參考?
作者:
xianfajushi
時間:
2022-8-1 08:22
按鍵使用中斷觸發是硬件消抖,有源蜂鳴器是計時1秒執行
作者:
yzwzfyz
時間:
2022-8-1 09:42
1:按鍵使用中斷觸發是如何消抖的?
方案很多,與【主循環以10mS的基礎時鐘運行】沒有矛盾。
舉例:每N毫秒(例5ms,你用10ms也行)檢測一次按鍵,M次(6次,你用3次也行)檢測得到的開關狀態一致,就判斷開關穩定了。
2:蜂鳴器是如何連續發聲1秒的?
它的開關變化,只是瞬間的事,只與你需要對它作業的瞬間操作即可,更何況音響多個少個10ms,人是聽不出來的。
作者:
robinsonlin
時間:
2022-8-1 10:07
節拍計數,符合條件停止。
KeySign ++;
if(KeySign>=2)
{
KeySign = 0;
//執行案件操作
}
Buz = 1;
BuzSign ++;
if(BuzSign>=100)
{
BuzSign = 0;
Buz = 0;
}
作者:
lkc8210
時間:
2022-8-1 10:11
先假設你用C51
void main()
{
while(1)
{
if(Flag10ms)
{
static unit8_t Delay_XD = 0;
static unit8_t Delay_Beep = 0;
Flag10ms = 0;
if(!Key)//有鍵按下,低電平
{
if(Delay_XD<0xFF)Delay_XD++;
if(Delay_XD==2)
{
Delay_Beep = 100;
}
}else{
Delay_XD = 0;
}
if(Delay_Beep)
{
Beep = 0;//低電平啟動蜂鳴器輸出
Delay_Beep--;
}else
{
Beep = 1;//高電平停止蜂鳴器輸出
}
}
}
}
復制代碼
作者:
大漠落日
時間:
2022-8-4 08:51
定時器中斷定時,產生一個時間標志,在主程序中判斷調用
作者:
杰西Jesse
時間:
2022-8-24 16:32
按鍵消抖可以用CPU去執行別的代碼在回頭執行按鍵,例如1ms蜂鳴器
作者:
is03zong
時間:
2022-8-26 00:09
可以多次檢測,例如20ms內檢測若干次,若結果穩定了才處理。
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1