久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6132|回復(fù): 6
收起左側(cè)

單片機(jī)外部中斷計數(shù)時消除抖動的方法 很好用

[復(fù)制鏈接]
ID:718523 發(fā)表于 2021-3-20 19:59 | 顯示全部樓層 |閱讀模式
馬達(dá)上轉(zhuǎn)一圈會壓到限位開關(guān)然后發(fā)一個+12的電壓,我用7805接的取一個5V電壓用來連單片機(jī),聽說這樣的話共地會有影響有干擾然后我又加了個光藕,現(xiàn)在開關(guān)抖動的問題搞了半天也沒搞好都是用延時的教程但用延時又影響CPU和其它事件的執(zhí)行,偶然發(fā)現(xiàn)大神們有用電容來做硬件延時的我也照著弄了一個簡直太好了,發(fā)來給大家看下。

一個12V的東東怎么和5V的單片機(jī)簡單相連呢我的這種方法可以嗎?或者有其它什么更好的方法嗎?希望大神們幫我一下。還有雖然用了電容可是程序里還得寫延時雖然時間很短,要是不寫延時的話有機(jī)率會出現(xiàn)該亮不亮,不亮又亮的情況,怎么才能避免呢?
2.gif 1.gif
電路原理圖如下:
144F3425D8143592A7BC19C9CE95BD56.png

單片機(jī)源程序如下:
  1. #include<reg52.h>
  2. sbit LED=P1^0; //定義LED端口

  3. void DelayUs2x(unsigned char t);//us級延時函數(shù)聲明
  4. void DelayMs(unsigned char t); //ms級延時

  5. main()
  6. {
  7.   LED=0;         //LED燈點亮
  8.   EA=1;          //全局中斷開
  9.   EX1=1;         //外部中斷1開
  10.   IT1=1;         //IT1=1表示邊沿觸發(fā)
  11.   while(1)
  12.   {
  13.                  
  14.   }
  15. }


  16. void ISR_INT1(void) interrupt 2
  17. {

  18. if(!INT1)
  19.    {
  20.    DelayMs(20);//在此處可以添加去抖動程序,防止按鍵抖動造成錯誤
  21.    if(!INT1)
  22.    //while(!INT1);//等待按鍵釋放
  23.      {
  24.      LED=!LED;   
  25.      }
  26.    }
  27. }


  28. void DelayUs2x(unsigned char t)
  29. {   
  30. while(--t);
  31. }

  32. void DelayMs(unsigned char t)
  33. {
  34.      
  35. while(t--)
  36. {
  37.      //大致延時1mS
  38.      DelayUs2x(245);
  39.          DelayUs2x(245);
  40. }
  41. }
復(fù)制代碼

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:452950 發(fā)表于 2021-3-20 21:37 | 顯示全部樓層
可以用繼電器控制12V的電機(jī)

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:718523 發(fā)表于 2021-3-20 21:51 | 顯示全部樓層
xxpp2011 發(fā)表于 2021-3-20 21:37
可以用繼電器控制12V的電機(jī)

12V的電機(jī)要返回信號的,控制我就用繼電器,返回信號的過程弄不好了
回復(fù)

使用道具 舉報

ID:390416 發(fā)表于 2021-3-20 23:04 | 顯示全部樓層
你可以參考 框架式編程方式 學(xué)會少用死等延遲
回復(fù)

使用道具 舉報

ID:68800 發(fā)表于 2021-3-20 23:06 | 顯示全部樓層
限位開關(guān)輸出out直接接光耦,中間串電阻限流,在光耦兩端加電容濾波消抖

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:68800 發(fā)表于 2021-3-20 23:12 | 顯示全部樓層
如果一定要延時消抖,可以使用定時器延時。外部中斷進(jìn)去啟動定時器,定時時間到了以后再檢測電壓。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2021-3-21 08:02 | 顯示全部樓層
機(jī)械開關(guān)肯定會有抖動問題,用硬件或軟件濾波對于低速或?qū)憫?yīng)速度要求不高的場合沒有什么問題。否則得用光電或霍爾較佳。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲综合久久精品 | 伊人网站在线观看 | 91精品国产91久久久 | 国产超碰人人爽人人做人人爱 | 91精品国产日韩91久久久久久 | 男女污污动态图 | 一区二区精品在线 | 99亚洲精品 | 欧美国产91 | 日韩精品久久久久久 | 中国一级特黄毛片大片 | 色综合久久久 | 欧美精品片 | 国产精品中文字幕在线播放 | 日本成人中文字幕在线观看 | 黄色小视频入口 | 久久久久久久久久一区 | 久草资源在线视频 | 久热国产精品 | 久久免费视频网 | 精品亚洲一区二区三区 | 欧美久久电影 | 欧美日韩福利视频 | 精品福利在线 | 久久久久久国产精品mv | 成人h片在线观看 | 尤物视频在线免费观看 | 久久免费观看视频 | 九九热在线视频免费观看 | 国产成在线观看免费视频 | 自拍偷拍精品 | 久久国产一区二区 | 国产精品一区二区久久精品爱微奶 | 五月婷婷亚洲 | 欧美成人精品激情在线观看 | 在线中文字幕亚洲 | 久久久久国产 | 黄色毛片一级 | www.久久久久久久久久久久 | 美美女高清毛片视频免费观看 | 91视频.com|