機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
“嘀、嘀、……”報警聲
“嘀、嘀、……”報警聲
 更新時間:2008-7-27 16:03:22  點擊數(shù):2
【字體: 字體顏色

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

             圖4.18.1
3.系統(tǒng)板硬件連線
(1).把“單片機(jī)系統(tǒng)”區(qū)域中的P1.0端口用導(dǎo)線連接到“音頻放大模塊”區(qū)域中的SPK IN端口上,
(2).在“音頻放大模塊”區(qū)域中的SPK OUT端口上接上一個8歐或者是16歐的喇叭;
4.程序設(shè)計方法
(1).生活中我們常常到各種各樣的報警聲,例如“嘀、嘀、…”就是常見的一種聲音報警聲,但對于這種報警聲,嘀0.2秒鐘,然后斷0.2秒鐘,如此循環(huán)下去,假設(shè)嘀聲的頻率為1KHz,則報警聲時序圖如下圖所示:

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

  • 上一篇: AT29C040讀寫C51程序
  • 下一篇: 4×4矩陣式鍵盤識別技術(shù)
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1