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

標題: 如何能用一個51單片機邊刷新數碼管邊驅動無源蜂鳴器鳴叫呢 [打印本頁]

作者: 瀨某人    時間: 2020-6-20 19:39
標題: 如何能用一個51單片機邊刷新數碼管邊驅動無源蜂鳴器鳴叫呢
如題,讓兩個循環交替執行的話效果又不太好,是不是必須得加些外部電路了,求大佬給點建議(>﹏<)
作者: OHHO    時間: 2020-6-20 22:45
頂一頂,同問
作者: xianfajushi    時間: 2020-6-21 05:26
添加鎖存器可讓IO口復用。
作者: wulin    時間: 2020-6-21 07:50
51單片機當然可以邊刷新數碼管邊驅動無源蜂鳴器鳴叫。方案有很多,要根據硬件環境選擇具體采用那種方案。
作者: 瀨某人    時間: 2020-6-22 08:44
主要是我這沒有什么數字芯片,那我再上網找找資料
作者: wulin    時間: 2020-6-22 10:47
瀨某人 發表于 2020-6-22 08:44
主要是我這沒有什么數字芯片,那我再上網找找資料

不需要外圍數字芯片,給你一個數碼管鬧鐘程序,你仔細看看就明白邊刷新數碼管邊驅動無源蜂鳴器鳴叫的一種方法。 數碼管鬧鐘 仿真.zip (141.65 KB, 下載次數: 61)



作者: 瀨某人    時間: 2020-6-22 20:10
wulin 發表于 2020-6-22 10:47
不需要外圍數字芯片,給你一個數碼管鬧鐘程序,你仔細看看就明白邊刷新數碼管邊驅動無源蜂鳴器鳴叫的一種 ...

好的,謝謝大佬
作者: Y_G_G    時間: 2020-6-23 08:27
1:定時器中斷刷新數碼管,在中斷中驅動蜂鳴器
2:使用單片機自帶的PWM輸出控制蜂鳴器
3:在數碼管延時程序中驅動蜂鳴器
4:如果單片機有ADC,可以使用ADC中斷定時器,ADC的結果不需要理會就行了
作者: haokey    時間: 2020-6-23 11:42
個人使用的方法,如果不當望請指出

1.定時器中斷中刷數碼管
2.pwm管腳驅動蜂鳴器
或者:
一個定時器同時刷數碼管和蜂鳴器也可以,我一直都是這么做的,但是前提是你要把定時器溢出時間等于蜂鳴器的頻率。(比如125us或者250us)這樣每次進定時器中斷就翻轉蜂鳴器io口,就不會影響聲音。

寫個偽代碼:
#define    BUZ    蜂鳴器io口

void 定時器中斷服務函數()//125us(等于無緣蜂鳴器頻率)
{
      變量a(數碼管計數),變量b(蜂鳴器響的時間計數)

      if(++a > 80)//125us*80=10ms,10ms刷新一次數碼管
      {
            a = 0;
            //數碼管代碼
            //數碼管代碼
            //數碼管代碼
            //數碼管代碼等等
      }

      if(蜂鳴器使能標志位)
      {
            BUZ ^= 1;//翻轉io口
            if(++b > 4000)//125us*4000=500ms   響500毫秒
            {
                  b = 0;
                  蜂鳴器使能標志位 = 0;
            }
      }
}


作者: 498988598    時間: 2020-10-24 13:54
wulin 發表于 2020-6-22 10:47
不需要外圍數字芯片,給你一個數碼管鬧鐘程序,你仔細看看就明白邊刷新數碼管邊驅動無源蜂鳴器鳴叫的一種 ...

文件是空的

作者: amandv    時間: 2020-10-25 23:33
使用定時中斷就可以,數碼管在主程序循環刷,蜂鳴在中斷響。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1