0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用單片機(jī)制作一個(gè)報(bào)警器的資料和源代碼說明

Wildesbeast ? 來源:單片機(jī)教程網(wǎng) ? 作者:單片機(jī)教程網(wǎng) ? 2020-05-05 15:07 ? 次閱讀

1.實(shí)驗(yàn)任務(wù)

用AT89S51單片機(jī)產(chǎn)生“嘀、嘀、…”報(bào)警聲從P1.0端口輸出,產(chǎn)生頻率為1KHz,根據(jù)上面圖可知:1KHZ方波從P1.0輸出0.2秒,接著0.2秒從P1.0輸出電平信號,如此循環(huán)下去,就形成我們所需的報(bào)警聲了。

2.電路原理

圖4.18.1

3.系統(tǒng)板硬件連線

(1. 把“單片機(jī)系統(tǒng)”區(qū)域中的P1.0端口用導(dǎo)線連接到“音頻放大模塊”區(qū)域中的SPK IN端口上,

(2. 在“音頻放大模塊”區(qū)域中的SPK OUT端口上接上一個(gè)8歐或者是16歐的喇叭;

4.程序設(shè)計(jì)方法

(1.生活中我們常常到各種各樣的報(bào)警聲,例如“嘀、嘀、…”就是常見的一種聲音報(bào)警聲,但對于這種報(bào)警聲,嘀0.2秒鐘,然后斷0.2秒鐘,如此循環(huán)下去,假設(shè)嘀聲的頻率為1KHz,則報(bào)警聲時(shí)序圖如下圖所示:

上述波形信號如何用單片機(jī)來產(chǎn)生呢?

(2. 由于要產(chǎn)生上面的信號,我們把上面的信號分成兩部分,一部分為1KHZ方波,占用時(shí)間為0.2秒;另一部分為電平,也是占用0.2秒;因此,我們利用單片機(jī)的定時(shí)/計(jì)數(shù)器T0作為定時(shí),可以定時(shí)0.2秒;同時(shí),也要用單片機(jī)產(chǎn)生1KHZ的方波,對于1KHZ的方波信號周期為1ms,高電平占用0.5ms,低電平占用0.5ms,因此也采用定時(shí)器T0來完成0.5ms的定時(shí);最后,可以選定定時(shí)/計(jì)數(shù)器T0的定時(shí)時(shí)間為0.5ms,而要定時(shí)0.2秒則是0.5ms的400倍,也就是說以0.5ms定時(shí)400次就達(dá)到0.2秒的定時(shí)時(shí)間了。

5.程序框圖

主程序框圖

中斷服務(wù)程序框圖

圖4.18.2

6.匯編源程序

T02SA EQU 30H

T02SB EQU 31H

FLAG BIT 00H

ORG 00H

LJMP START

ORG 0BH

LJMP INT_T0

START: MOV T02SA,#00H

MOV T02SB,#00H

CLR FLAG

MOV TMOD,#01H

MOV TH0,#(65536-500) / 256

MOV TL0,#(65536-500) MOD 256

SETB TR0

SETB ET0

SETB EA

SJMP $

INT_T0:

MOV TH0,#(65536-500) / 256

MOV TL0,#(65536-500) MOD 256

INC T02SA

MOV A,T02SA

CJNE A,#100,NEXT

INC T02SB

MOV A,T02SB

CJNE A,#04H,NEXT

MOV T02SA,#00H

MOV T02SB,#00H

CPL FLAG

NEXT: JB FLAG,DONE

CPL P1.0

DONE: RETI

END

7. C語言源程序

#include 《AT89X51.H》

unsigned int t02s;

unsigned char t05ms;

bit flag;

void main(void)

{

TMOD=0x01;

TH0=(65536-500)/256;

TL0=(65536-500)%6;

TR0=1;

ET0=1;

EA=1;

while(1);

}

void t0(void) interrupt 1 using 0

{

TH0=(65536-500)/256;

TL0=(65536-500)%6;

t02s++;

if(t02s==400)

{

t02s=0;

flag=~flag;

}

if(flag==0)

{

P1_0=~P1_0;

}

}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6037

    文章

    44564

    瀏覽量

    635920
  • 報(bào)警器
    +關(guān)注

    關(guān)注

    12

    文章

    926

    瀏覽量

    108786
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3250

    瀏覽量

    114924
收藏 人收藏

    評論

    相關(guān)推薦

    51單片機(jī)溫度報(bào)警器

    電子發(fā)燒友網(wǎng)站提供《51單片機(jī)溫度報(bào)警器.zip》資料免費(fèi)下載
    發(fā)表于 12-30 14:16 ?0次下載

    接近感應(yīng)單片機(jī)在煙霧報(bào)警器抗干擾性的總結(jié)

    、電源干擾方面 功耗穩(wěn)定 XD08M3232單片機(jī)在8MHz@3.3V運(yùn)行時(shí)功耗典型值為5mA,穩(wěn)定的功耗使其在煙霧報(bào)警器電源波動(如電池電量變化或外部充電設(shè)備不穩(wěn)定)時(shí),自身運(yùn)行狀態(tài)受影響
    發(fā)表于 12-10 19:14

    單片機(jī)的中斷機(jī)制

    單片機(jī)的中斷機(jī)制種重要的處理方式,它允許單片機(jī)在執(zhí)行主程序的過程中,能夠暫停當(dāng)前任務(wù),轉(zhuǎn)而處理外部或內(nèi)部緊急事件。這種機(jī)制極大地提高了系
    的頭像 發(fā)表于 10-17 18:03 ?763次閱讀

    電子圍欄報(bào)警器報(bào)警常見問題

    電子圍欄報(bào)警器種安全防護(hù)設(shè)備,廣泛應(yīng)用于住宅、商業(yè)、工業(yè)等場所,用于防止非法入侵和盜竊。然而,在使用過程中,可能會遇到各種問題,導(dǎo)致報(bào)警器無法正常工作或誤報(bào)。 1. 系統(tǒng)安裝問題 1.1 圍欄
    的頭像 發(fā)表于 09-24 09:15 ?578次閱讀

    光柵報(bào)警器報(bào)警是什么原因

    光柵報(bào)警器種安全防護(hù)設(shè)備,通常用于防止非法入侵或保護(hù)特定區(qū)域。當(dāng)光柵報(bào)警器報(bào)警時(shí),可能有幾個(gè)原因。 1. 硬件故障 傳感
    的頭像 發(fā)表于 09-24 09:12 ?966次閱讀

    藍(lán)牙連接開發(fā)資料

    模塊資料里有多種單片機(jī)制作程序代碼
    發(fā)表于 09-21 14:27 ?0次下載

    基于51單片機(jī)煙霧檢測報(bào)警器設(shè)計(jì)

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機(jī)煙霧檢測報(bào)警器設(shè)計(jì)包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼(keil軟件打開)、元件清單(excel表格打開)。本
    發(fā)表于 06-26 10:51 ?1次下載

    基于51單片機(jī)熱釋紅外報(bào)警設(shè)計(jì)

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機(jī)熱釋紅外報(bào)警設(shè)計(jì)包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼(keil軟件打開)、元件清單(excel表格打開
    發(fā)表于 06-25 10:15 ?0次下載

    家庭燃?xì)?b class='flag-5'>報(bào)警器應(yīng)用示例

    燃?xì)獍踩珶o小事,燃?xì)?b class='flag-5'>報(bào)警器在檢測到氣體泄漏后發(fā)出報(bào)警并切斷燃?xì)忾y,范防于未“燃”。燃?xì)?b class='flag-5'>報(bào)警器通過高精度傳感檢測周圍環(huán)境氣體,產(chǎn)生電信號給到MCU,當(dāng)達(dá)到
    的頭像 發(fā)表于 03-14 10:58 ?1043次閱讀
    家庭燃?xì)?b class='flag-5'>報(bào)警器</b>應(yīng)用示例

    基于單片機(jī)的燃?xì)?b class='flag-5'>報(bào)警設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于單片機(jī)的燃?xì)?b class='flag-5'>報(bào)警設(shè)計(jì).doc》資料免費(fèi)下載
    發(fā)表于 03-04 09:46 ?1次下載

    門把手觸摸報(bào)警器分享

    報(bào)警器種用于防止或預(yù)防某事件發(fā)生所造成的后果的電子產(chǎn)品。它通過聲音、光、氣壓等形式來提醒或警示人們采取某種行動。報(bào)警器可以分為機(jī)械式報(bào)警器和電子
    的頭像 發(fā)表于 02-07 15:33 ?888次閱讀
    門把手觸摸<b class='flag-5'>報(bào)警器</b>分享

    基于單片機(jī)的燃?xì)?b class='flag-5'>報(bào)警器的設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于單片機(jī)的燃?xì)?b class='flag-5'>報(bào)警器的設(shè)計(jì).rar》資料免費(fèi)下載
    發(fā)表于 01-12 10:42 ?11次下載

    基于51單片機(jī)的火災(zāi)報(bào)警設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)的火災(zāi)報(bào)警設(shè)計(jì).rar》資料免費(fèi)下載
    發(fā)表于 01-12 10:04 ?3次下載

    基于51單片機(jī)的震動報(bào)警器設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)的震動報(bào)警器設(shè)計(jì).rar》資料免費(fèi)下載
    發(fā)表于 01-12 09:37 ?3次下載

    基于51單片機(jī)的紅外報(bào)警器的設(shè)計(jì)與制作

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)的紅外報(bào)警器的設(shè)計(jì)與制作.rar》資料免費(fèi)下載
    發(fā)表于 01-12 09:18 ?25次下載