求乙個關於微控制器的蜂鳴器的C語言程式,如果好,可行的話有追加分

2025-03-27 12:15:04 字數 2030 閱讀 3884

1樓:網友

6. 報警產生器。

1. 實驗任務。

用輸出1khz和500hz的音訊訊號驅動揚聲器,作報警訊號,要求1khz訊號響100ms,500hz訊號響200ms,交替進行,接一開關進行控制,當開關合上響報警訊號,當開關斷開告警訊號停止,編出程式。

2. 電路原理圖。

圖3. 系統板上硬體連線。

1. 把「微控制器系統」區域中的埠用導線連線到「音訊放大模組」區域中的spk in埠上;

2. 在「音訊放大模組」區域中的spk out埠上接上乙個8歐的或者是16歐的喇叭;

3. 把「微控制器系統」區域中的埠用導線連線到「四路撥動開關」區域中的k1埠上;

4. 程式設計內容。

1. 訊號產生的方法。

500hz訊號週期為2ms,訊號電平為每1ms變反1次,1khz的訊號週期為1ms,訊號電平每500us變反1次;

5. 程式框圖。

圖6. 彙編源程式。

flag bit 00h

org 00h

start: jb ,start

jnb flag,next

mov r2,#

dv: cpl

lcall dely500

lcall dely500

djnz r2,dv

cpl flag

next: mov r2,#

dv1: cpl

lcall dely500

djnz r2,dv1

cpl flag

sjmp start

dely500: mov r7,#

loop: nop

djnz r7,loop

retend

7. c語言源程式。

#include

#include

bit flag;

unsigned char count;

void dely500(void)

unsigned char i;

for(i=250;i>0;i--)

nop_()

void main(void)

while(1)

if(p1_7==0)

for(count=200;count>0;count--)

p1_0=~p1_0;

dely500();

for(count=200;count>0;count--)

p1_0=~p1_0;

dely500();

dely500();

2樓:網友

就是個溫度報警器嗎?還要用微控制器?我昨晚做了個帶繼電器輸出的,很簡單,模電就夠了。

求c51微控制器蜂鳴器演奏《青花瓷》c語言程式

3樓:網友

把那**的音調控制好就可以了。用pwm控制,跟打**差不多。

4樓:網友

我擦,你這個太複雜了,用pwm控制嗎?

控制本身並不難,難的是你有音調對應的頻率資料嗎。

求微控制器c語言程式,實現功能:蜂鳴器報警,要求按鍵停止聲音才能停止。

5樓:網友

具體其它程式自己新增:

#define key p1_0#define beep p1_2#define key_on 0#define beep_on 1#define beep_off 0

if(key==key_on)

else

微控制器 揚聲器發出嘟嘟聲c語言程式

6樓:網友

最簡單的不要求 程式的可靠穩定,就用簡單的延時函式,搞個迴圈 就ok

如果要求高的話,可以用中斷的方法實現延時,只需要置標誌位,然後開啟蜂鳴器關閉蜂鳴器就ok,主函式該幹啥幹啥,不影響。

希望對你有所幫助。

7樓:黃楊全

輸入特定頻率的方波就行了。

pic微控制器c程式的問題,PIC微控制器C程式的問題

學微控制器一定要先看微控制器的記憶體表,即map,知道微控制器內部的暫存器設定,及每個暫存器位址。上面的程式就是直接對暫存器操作,這是微控制器學習較高的境界。adr 8其實是對adr進行移位操作,8是2的三次方。即是把adr的位址左移三位。可以看成是 基位址 偏移位址的方式來取位址。bit應該是3位...

51微控制器的簡單程式,51微控制器的乙個簡單程式

51微控制器的乙個簡單程式如下 org 0000h ljmp main org 0030h main mov a,p0 anl a,1eh cjne a,02h,main1 setb p1.1 clr p1.2 clr p1.8 sjmp main main1 cjne a,04h,main2 cl...

求教,怎樣控制51微控制器的蜂鳴器發出不同頻率的聲音

我這裡有現成的程式bai,把分給我,留du下信箱,我就給zhi你發過去,呵呵 dao。我利用軟體定時和中斷回方式都有,答可以演奏 不過蜂鳴器演奏的實在夠難聽。看來樓主對程式不感興趣,我還是告訴你吧,你定時必須知道準確的定時時間,中do re mi si都是有一定的頻率也就是hz,都如下 c1 262...