AVR單片機驅動無源蜂鳴器

2021-01-08 電子產品世界

內部1 M晶振。

定時器實險,周期信號驅動

無源蜂鳴器

,些實驗基於定時器的CTC模式,由硬體產生頻率信號。

程序中實現單一頻率的周期性提示音。

程序採用單任務方式,軟體延時。

*/

#include "iom16v.h"

/*延時函數*/
void delay_ms(unsigned char i) {

unsigned char a, b;
for (a = 1; a i; a++) {
for (b = 1; b; b++) {
;
}
}
}

void main(void) {

unsigned char i;

DDRA = 0x00; /*方向輸入*/
PORTA = 0xFF; /*打開上拉*/
DDRB = 0xFF; /*方向輸出*/
PORTB = 0xFF; /*高電平*/
DDRC = 0x00;
PORTC = 0xFF;
DDRD = 0xFF;
PORTD = 0xFF;

while (1) {
for (i = 0; i 8; i ++) {
PORTB = ~(1 i);
delay_ms(100);
}
TCCR1A = 0x40;
TCCR1B = 0x09;
OCR1A = 1000;
delay_ms(200);
TCCR1A = 0x00;
PORTD = ~(1 5);
}
} 蜂鳴器相關文章:蜂鳴器原理

相關焦點

  • AVR單片機驅動無源蜂鳴器C程序
    定時器實險,周期信號驅動無源蜂鳴器,些實驗基於定時器的CTC模式,由硬體產生頻率信號。程序中實現單一頻率的周期性提示音。程序採用單任務方式,軟體延時。  驅動無源蜂鳴器 編輯:什麼魚 引用地址:http://news.eeworld.com.cn/mcu/article_2017121336756.html 推薦閱讀 AVR單片機熔絲位的設置及拯救方法
  • 51單片機驅動無源蜂鳴器
    流水燈的程序相對我個人來說比較簡單,但是蜂鳴器有些難度,正常給I/0口一個信號,蜂鳴器既然不響,後經查證是無源蜂鳴器;無源的蜂鳴器,就要通過IO口輸出振蕩信號來驅動蜂鳴器本文引用地址:http://www.eepw.com.cn/article/201612/324157.htm
  • avr單片機和stm32區別與優缺點分析
    摘要:avr單片機和stm32單片機是目前使用較廣泛的單片機,那麼avr單片機和stm32單片機有什麼區別呢?有什麼優劣勢呢?   avr單片機特點:   1. avr系列沒有類似累加器A的結構,它主要是通過R16~R31寄存器來實現A的功能。
  • 有源蜂鳴器和無源蜂鳴器有什麼區別?
    蜂鳴器是經常用到的發聲器件,在單片機的實驗板、小孩玩具上經常見到,從發出的聲音上來區分呢,有的只會發出固定頻率的聲音,而有的卻可以發出較為明顯的音調
  • 【安裝包】AVR開發環境_AVR_ studio4b528.zip
    AVR 所使用開發環境 avrstudio是一款avr單片機開發軟體,atmel公司推出的avr集成開發環境,,工程師常用軟體 ATMEL的AVR單片機的集成環境彙編級開發調試軟體,完全免費。
  • 蜂鳴器驅動電路圖解_有源蜂鳴器原理_有源蜂鳴器和無源蜂鳴器如何...
    打開APP 蜂鳴器驅動電路圖解_有源蜂鳴器原理_有源蜂鳴器和無源蜂鳴器如何區分 發表於 2017-08-25 09:12:49
  • AVR學習心得(一)
    它花了我500個大洋,我希望我學會它後能給我找工作帶來更多的機會,也希望通過對AVR單片機的學習,打好學習ARM的基礎,為將來的ARM學習鋪平道路……本文引用地址:http://www.eepw.com.cn/article/201611/317322.htm 今天我向著我人生中的又一大目標進發了,這是我學習的第三種單片機。
  • 51單片機玩轉物聯網基礎篇04-蜂鳴器
    前言上一節,我們完成了按鍵操作,本節我們學習使用蜂鳴器,首先我們介紹下蜂鳴器,然後完成實驗:上電後默認驅動頻率為5KHZ,通過KEY1控制驅動頻率為1KHZ ,蜂鳴器,KEY2控制驅動頻率為 2KHZ,可以聽到不同的效果。
  • 一種低成本無源蜂鳴器的設計
    而無源蜂鳴器彌補了有源蜂鳴器缺點,但問題是無源蜂鳴器需要PWM驅動。在系統的設計中,微控制器的PWM資源往往是比較緊張的,同時使用PWM驅動也加大了軟體開發的難度。接下來筆者將引領大家學習如何設計一個無需PWM也能驅動無源蜂鳴器的低成本電路。  1.1 無源蜂鳴器常規驅動電路
  • 單片機基礎:燥起來吧,蜂鳴器
    無源蜂鳴器:內部不不帶振蕩源,需外加振蕩信號,頻率可改變,較實用。4、本例分享無源蜂鳴器,如圖為單片機學習中常見的無源電磁式蜂鳴器新的蜂鳴器上表面貼有白色標籤,內容為「remove seal after washing」,即密封清洗後揭掉(PCB板焊接好後要清洗),才能得到最響的聲音(有的說聲音小就這緣故)5、蜂鳴器參數:電壓4-8V(常用5V),最大電流 =PS:諧振頻率指蜂鳴器最佳工作頻率
  • 有源蜂鳴器與無源蜂鳴器的區別(超全)
    有源蜂鳴器與無源蜂鳴器的區別(轉)   無源蜂鳴器的優點是:   1。便宜   2。聲音頻率可控,可以做出「多來米發索拉西」的效果   3。在一些特例中,可以和LED復用一個控制口   而無源內部不帶震蕩源,所以如果用直流信號無法令其鳴叫。必須用2K~5K的方波去驅動它。
  • stm32與pic單片機比較_哪個好
    >   1、具有低工作電壓、低功耗、驅動能力強等特點。PIC系列單片機的I/O口是雙向的,其輸出電路為CMOS互補推輓輸出電路。I/O腳增加了用於設置輸入或輸出狀態的方向寄存器,從而解決了51系列I/O腳為高電平時同為輸入和輸出的狀態。   2、當置位1時為輸入狀態,且不管該腳呈高電平或低電平,對外均呈高阻狀態;置位0時為輸出狀態,不管該腳為何種電平,均呈低阻狀態,有相當的驅動能力,低電平吸入電流達25mA,高電平輸出電流可達20mA。
  • AVR單片機PCF8591AD-DA實驗
    //PCF8591 AVR單片機程序 默認為輸入模式下通道0開始通道0光敏電阻,通道1,熱敏電阻,通道2電位器,通道3外接電位器,如有標點符號丟失格式錯亂的情況可從這裡下載源碼:http://www.51hei.com/
  • Avr單片機編程---延遲函數
    avr-gcc提供了兩個延遲函數,可以在用戶的程序中使用,前提--加入avr/delay.h這個頭文件:********************************************* F_CPU在avr-gcc中有定義,這個值是在編譯的時候傳遞給編譯器的,說明用戶程序的晶振頻率,編譯器為了保證編譯過程中防止因用戶為定義這個 F_CPU的值,設定一個初值
  • 單片機蜂鳴器的控制程序與驅動電路圖
    按照驅動方式分為有源蜂鳴器和無源蜂鳴器。這裡的有源和無源不是指電源,而是振蕩源。有源蜂鳴器內部帶了振蕩源,如圖1中所示,給了 BUZZ 引腳一個低電平,蜂鳴器就會直接響。而無源蜂鳴器內部是不帶振蕩源的,要讓他響必須給 500Hz~4.5KHz 之間的脈衝頻率信號來驅動它才會響。
  • 用無源蜂鳴器製作一個延時警報器
    材料:一個103瓷片電容、一個9014三極體、一個9015三極體、兩個47uF電容、一個無源蜂鳴器、一個10k電阻、一個47k電阻、一個5.1k電阻。一個輕觸按鍵開關、一個雙7號電池槽、一塊洞洞板。這是一個無源蜂鳴器,可以看見底部標識的正負極。它必須有外部的振蕩電路驅動,才能鳴叫。工作電壓3伏,電流10~30mA。把無源蜂鳴器插在洞洞板右下角,正極朝上,負極朝下。把它的正極連接9015三極體的集電極,負極連接電池槽負極插腳。做好了,如果無源蜂鳴器鳴叫,說明電路起振了。電路圖。
  • 用兩個電容和一個三極體驅動無源蜂鳴器發出『噠噠』聲
    材料:一塊洞洞板、兩顆螺絲釘、一個無源蜂鳴器、一個8050三極體、一個1k電阻、一個2.2uF電容、一個2200uF電容。把兩顆螺絲釘頂部粘結固定在洞洞板左側邊緣,它們作為接線柱使用,下面的作為正極,上面的作為負極。注意這裡使用的是12伏直流電源,一定要使用大於9伏的電源。
  • 有源蜂鳴器特點是什麼_如何區別有源和無源蜂鳴器
    有源蜂鳴器特點:   內部有振蕩、驅動電路。加電源就可以響,你所說的估計就是那種。優點是用起來省事,缺點是頻率固定了,就只一個單音。      有源蜂鳴器和無源蜂鳴器的區別方法   有源蜂鳴器和無源蜂鳴器的根本區別是產品對輸入信號的要求不一樣;有源蜂鳴器工作的理想信號是直流電,通常標   示為VDC、VDD等。
  • 單片機小白學步(22) IO口:蜂鳴器的使用/三極體的工作原理
    蜂鳴器有兩種,無源蜂鳴器和有源蜂鳴器,一般用於發出報警的聲音。聲音是由震動產生的,大家都見過喇叭,喇叭裡面有磁鐵和線圈。給線圈通上不斷變化的電壓,在磁鐵產生的磁場中就會運動。於是和線圈固定在一起的振膜就會震動,於是就能聽見聲音了,而無源蜂鳴器和喇叭效果基本一樣。和無源蜂鳴器不同的是,有源蜂鳴器內部就有發聲電路,通上電壓合適的直流電就會發出叫聲。另外,有源蜂鳴器有正負極之分。
  • AVR的程式語言Arduino可用Proteus仿真調試
    ATMEGA168P控制器的AD轉換是10位的轉換器,5V對應的數字量為1024,2.5V應該是512,所以單片機一旦得知AD轉換後的數字量超過512時,把數字接口13的LED的變量ledpin為HIGH。下面是Arduino程序: