131 1300 0010
其他
當前位置: 首頁>> 元件技術>>其他>>
  • 導航欄目
  • 二極管
  • 整流橋
  • MOS管
  • 其他
  • AT89S51單片機報警器的設計
    AT89S51單片機報警器的設計
  • AT89S51單片機報警器的設計
  •   發(fā)布日期: 2019-05-14  瀏覽次數(shù): 1,330

    1.實驗任務

    用P1.0輸出1KHz和500Hz的音頻信號驅動揚聲器,作報警信號,要求1KHz信號響100ms,500Hz信號響200ms,交替進行,P1.7接一開關進行控制,當開關合上響報警信號,當開關斷開告警信號停止,編出程序。

     

    2.電路原理圖

    AT89S51單片機報警器的設計

    圖4.6.1

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

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

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

    (3).把“單片機系統(tǒng)”區(qū)域中的P1.7/RD端口用導線連接到“四路撥動開關”區(qū)域中的K1端口上;

    4.程序設計內容

    (1).信號產生的方法

    500Hz信號周期為2ms,信號電平為每1ms變反1次,1KHz的信號周期為1ms,信號電平每500us變反1次;

    5.程序框圖

    AT89S51單片機報警器的設計

    圖4.6.2

    6.匯編源程序

    FLAG BIT 00H

    ORG 00H

    START: JB P1.7,START

    JNB FLAG,NEXT

    MOV R2,#200

    DV: CPL P1.0

    LCALL DELY500

    LCALL DELY500

    DJNZ R2,DV

    CPL FLAG

    NEXT: MOV R2,#200

    DV1: CPL P1.0

    LCALL DELY500

    DJNZ R2,DV1

    CPL FLAG

    SJMP START

    DELY500: MOV R7,#250

    LOOP: NOP

    DJNZ R7,LOOP

    RET

    END

    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();

    }

    }

    }

    }


  • ·上一篇:
    ·下一篇:
  • 其他關聯(lián)資訊
    深圳市日月辰科技有限公司
    地址:深圳市寶安區(qū)松崗鎮(zhèn)潭頭第二工業(yè)城A區(qū)27棟3樓
    電話:0755-2955 6626
    傳真:0755-2978 1585
    手機:131 1300 0010
    郵箱:hu@szryc.com

    深圳市日月辰科技有限公司 版權所有:Copyright?2010-2023 m.elibeatofitness.com 電話:13113000010 粵ICP備2021111333號