AVR單片機驅動無源蜂鳴器C程序

2021-01-11 電子工程世界

/*內部1 M晶振。定時器實險,周期信號驅動無源蜂鳴器,些實驗基於定時器的CTC模式,由硬體產生頻率信號。程序中實現單一頻率的周期性提示音。程序採用單任務方式,軟體延時。*/#include "iom16v.h"

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

 unsigned char a, b; for (a = 1; a 

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 


關鍵字:AVR單片機  驅動無源蜂鳴器 編輯:什麼魚 引用地址:http://news.eeworld.com.cn/mcu/article_2017121336756.html

推薦閱讀

AVR單片機熔絲位的設置及拯救方法

AVR單片機需要設置合適的熔絲位才能實現其功能,如果熔絲位設置的不對將有可能導致單片機自鎖,這是我整理的AVR單片機熔絲位的設置及拯救方,希望對大家有幫助。 

發表於 2020-09-17

avr單片機秒表Proteus仿真程序 tm1637數碼管顯示

單片機源程序如下:/***版權所有(c)2018,艁ukasz Marcin Podkalicki*2009年12月13日            *簡單定時器(啟動/復位/停止),使用基於TM1637的一個按鈕和7段顯示模塊。              *            *注意,這個ATtiny13項目使用的內部時鐘並不精確           &nbsp

發表於 2020-09-16

AVR單片機教程——PWM調光

為0到9,分別表示LED的佔空比為0/9到9/9。比如,當佔空比為4/9時,在9毫秒的周期中,前4毫秒LED亮,後5毫秒LED不亮。可以看見,佔空比越大,LED亮度也越高。原來,在亮與暗之間,LED還有中間的狀態。我們不是通過讓引腳輸出一個0V和5V之間的電壓,而是讓引腳電平迅速地在高低之間變化來實現的。這種通過電平的快速跳變來實現模擬量效果的技術,稱為脈衝寬度調製,簡稱PWM。定時器大多數單片機的定時器都可以輸出PWM波,外設豐富的AVR單片機自然不例外。上一講提到定時器0有四種工作模式,後兩種就是快速PWM模式與相位修正PWM模式。在快速PWM模式中,TCNT0寄存器的動作與普通模式相同,但還可以把OCR0A作為上限。對於非反轉輸出

發表於 2020-09-09

AVR單片機教程——LCD1602

7)接到一個單片機引腳上。關於為什麼會有這種詭異的接法,這是設計時的失誤(也可能是不得已吧,畢竟單片機的32個IO已經佔滿了),參見:一個低電平引發的思考。協議1602與單片機之間是通過並行總線通信的。AVR單片機硬體上不支持並行總線,需要通過軟體模擬時序來實現。寫操作的時序如下:進行一個寫操作,需要先讓RS根據寫的類型設置電平,R/W輸出低電平,D0~D7輸出要發送的數據,然後在E的上升沿數據被對方讀取,並保持R/W與D0~D7電平不變,直到E的下降沿之後。兩次E的上升沿之間至少需要400us時間間隔。1602共有8條指令,都是一字節長度的。從高位到低位,每一條指令都由若干個0、一個1和有效指令組成,使得沒有兩條指令會有相同的二進位

發表於 2020-09-09

AVR單片機教程——UART進階

在第一期中,我們已經開始使用UART來實現單片機開發板與計算機之間的通信,但只是簡單地講了講一些概念和庫函數的使用。在這一篇教程中,我們將從硬體與軟體等各方面更深入地了解UART。USART組件一直在講的UART其實是USART組件的一部分,USART比UART多了同步的一部分,但這一部分用得太少(我從來沒用過),而且缺乏實例,所以就略過了。然而,單片機的設計者很機智地把這個雞肋功能升華了一下,USART組件可以支持SPI模式。SPI是一種同步串行總線,可以支持很高的傳輸速率。這個功能使得ATmega324PA支持最多3個SPI通道,其中一個是純SPI,另兩個就是SPI模式下的USART。我們將在下一講中揭開SPI的神秘面紗。回到

發表於 2020-09-08

AVR單片機教程——矩陣鍵盤

開發板上有4個按鍵,我們可以把每一個按鍵連接到一個單片機引腳上,來實現按鍵狀態的檢測。但是常見的鍵盤有104鍵,是每一個鍵分別連接到一個引腳上的嗎?我沒有考證過,但我們確實有節省引腳的方法。矩陣鍵盤這是一個4*4的矩陣鍵盤,共有16個按鍵只需要8個引腳就可以驅動。我們先來看看它的原理。每個按鍵有兩個引腳,當按鍵按下時接通。每一行的一個引腳接在一起,分別連接到左邊4個埠,稱為「行引腳」;每一列的另一個引腳接在一起,分別連接到右邊的4個埠,稱為「列引腳」。這就是矩陣鍵盤內部的電路連接方式。那麼如何驅動它呢?首先我們簡化一下,只考慮第一排:這樣就很簡單了吧,只要讓行引腳保持低電平,4個列引腳設置為輸入並開啟上拉電阻,讀到低電平

發表於 2020-09-08

相關焦點

  • AVR單片機驅動無源蜂鳴器
    定時器實險,周期信號驅動無源蜂鳴器,些實驗基於定時器的CTC模式,由硬體產生頻率信號。程序中實現單一頻率的周期性提示音。程序採用單任務方式,軟體延時。
  • 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學習心得(一)
    51是第一種,我以前的所有時間和注意範圍都放在了這種古老個又充滿生機的單片機上,帶著新的夢想我學習了第二種單片機——EMC。不過我對EMC做的不多,只是用153做了一個非常小的東西,但我認為我還是學會了EMC。這種單片機的特點是非常便宜,而美中不足的是它只能編一次程序,所以給學習帶來了很大的不便。
  • 有源蜂鳴器和無源蜂鳴器有什麼區別?
    蜂鳴器是經常用到的發聲器件,在單片機的實驗板、小孩玩具上經常見到,從發出的聲音上來區分呢,有的只會發出固定頻率的聲音,而有的卻可以發出較為明顯的音調
  • 單片機蜂鳴器的控制程序與驅動電路圖
    按照驅動方式分為有源蜂鳴器和無源蜂鳴器。這裡的有源和無源不是指電源,而是振蕩源。有源蜂鳴器內部帶了振蕩源,如圖1中所示,給了 BUZZ 引腳一個低電平,蜂鳴器就會直接響。而無源蜂鳴器內部是不帶振蕩源的,要讓他響必須給 500Hz~4.5KHz 之間的脈衝頻率信號來驅動它才會響。
  • 【安裝包】AVR開發環境_AVR_ studio4b528.zip
    AVR 所使用開發環境 avrstudio是一款avr單片機開發軟體,atmel公司推出的avr集成開發環境,,工程師常用軟體 ATMEL的AVR單片機的集成環境彙編級開發調試軟體,完全免費。它集彙編語言編譯、軟體仿真、晶片程序下載、晶片硬體仿真等一系列基礎功能,與任一款高級語言編譯器配合使用即可完高級語言的產品開發調試
  • 觸控螢幕驅動程序(輸入子系統)
    (x[2] - avr_x) : (avr_x - x[2]); det_y = (y[2] > avr_y) ?(x[3] - avr_x) : (avr_x - x[3]); det_y = (y[3] > avr_y) ?
  • 51單片機玩轉物聯網基礎篇04-蜂鳴器
    前言上一節,我們完成了按鍵操作,本節我們學習使用蜂鳴器,首先我們介紹下蜂鳴器,然後完成實驗:上電後默認驅動頻率為5KHZ,通過KEY1控制驅動頻率為1KHZ ,蜂鳴器,KEY2控制驅動頻率為 2KHZ,可以聽到不同的效果。
  • PIC單片機C語言程序設計(8)
    即可用MPLAB IDE7.40 對PIC 單片機建立彙編語言或C 語言的源程序、創建項目(project)、對源程序進行彙編(使用彙編語言時)或編譯(使用C 語言時),彙編或編譯通過後,會生成目標碼。hex 文件。有了目標碼。hex 文件,就可對PIC 單片機編程(燒寫)和對源程序進行模擬調試了。
  • 單片機驅動蜂鳴器C51程序
    uchar unsigned char#define uint unsigned intsbit k1=P1^4; //按鈕1sbit k2=P1^5; //按鈕2sbit beep=P3^7; //接蜂鳴器/*********************************************************本程序出自
  • 單片機C語言模塊化編程方法
    模塊化程序設計應該理解以下概述:(1) 模塊即是一個.c 文件和一個.h 文件的結合,頭文件(.h)中是對於該模塊接口的聲明;這一條概括了模塊化的實現方法和實質:將一個功能模塊的代碼單獨編寫成一個.c文件,然後把該模塊的接口函數放在.h文件中.舉例:假如你用到液晶顯示,那麼你可能會寫一個液晶驅動模塊,以實現字符、漢字和圖像的現實,命名為: led_device.c,該模塊的.
  • AVR單片機C語言的使用特點
    PORTX和PINX的使用區別AVR單片機每組I/O口有3個8位寄存器,分別是DDRx、PORTx和PINx;DDR用於控制I/O口的輸入輸出方向:DDRx=1時,I/O口輸出,PORTx=1時輸出高電平,PORTx
  • 有源蜂鳴器與無源蜂鳴器的區別(超全)
    有源蜂鳴器與無源蜂鳴器的區別(轉)   無源蜂鳴器的優點是:   1。便宜   2。聲音頻率可控,可以做出「多來米發索拉西」的效果   3。在一些特例中,可以和LED復用一個控制口   而無源內部不帶震蕩源,所以如果用直流信號無法令其鳴叫。必須用2K~5K的方波去驅動它。
  • 蜂鳴器驅動電路圖解_有源蜂鳴器原理_有源蜂鳴器和無源蜂鳴器如何...
    打開APP 蜂鳴器驅動電路圖解_有源蜂鳴器原理_有源蜂鳴器和無源蜂鳴器如何區分 發表於 2017-08-25 09:12:49
  • 單片機基礎:燥起來吧,蜂鳴器
    無源蜂鳴器:內部不不帶振蕩源,需外加振蕩信號,頻率可改變,較實用。4、本例分享無源蜂鳴器,如圖為單片機學習中常見的無源電磁式蜂鳴器新的蜂鳴器上表面貼有白色標籤,內容為「remove seal after washing」,即密封清洗後揭掉(PCB板焊接好後要清洗),才能得到最響的聲音(有的說聲音小就這緣故)5、蜂鳴器參數:電壓4-8V(常用5V),最大電流 =PS:諧振頻率指蜂鳴器最佳工作頻率
  • gcc c編譯器如何編譯c程序,如何為pic單片機選擇c編譯器
    對於c編譯器,大家應早已熟悉。往期文章中,小編帶來諸多c編譯器相關文章,尤其是gcc c編譯器。本文中,小編將對gcc c編譯器如何編譯c程序予以介紹,並在文章的後半部分向大家講解如果選擇pic單片機的c編譯器。如果你對本文即將要涉及的內容存在一定興趣,不妨繼續往下閱讀哦。
  • 基於Proteus仿真的AVR單片機串口程序
    以前在Proteus上做過51的串口仿真沒有成功,昨天再次嘗試atmega16的串口仿真居然成功了;當然仿真是最簡單的,實際做事的時候需要加上max232晶片,但仿真時就不需要了,本文引用地址:http://www.eepw.com.cn/article/201610/311532.htm  程序功能
  • Avr單片機編程---延遲函數
    avr-gcc提供了兩個延遲函數,可以在用戶的程序中使用,前提--加入avr/delay.h這個頭文件:********************************************* F_CPU在avr-gcc中有定義,這個值是在編譯的時候傳遞給編譯器的,說明用戶程序的晶振頻率,編譯器為了保證編譯過程中防止因用戶為定義這個 F_CPU的值,設定一個初值
  • stm32與pic單片機比較_哪個好
    、35、58條指令,屬精簡指令集,同時採用Harvard雙總線結構,運行速度快,它能使程序存儲器的訪問和數據存儲器的訪問並行處理,這種指令流水線結構,在一個周期內完成兩部分工作,一是執行指令,二是從程序存儲器取出下一條指令,這樣總的看來每條指令只需一個周期,這也是高效率運行的原因之一,此外PIC單片機之所以成為一時非常熱的單片機不外乎以下特點:   pic單片機特點