新闻  |   论坛  |   博客  |   在线研讨会
51单片机系列之七:声音的设计
十年砍柴 | 2010-07-10 21:22:35    阅读:4552   发布文章

51单片机系列之七:声音的设计

一、     设计任务

1、如图1,单片机的P0口通过一个NPN管接在扬声器上。用单片机实现使扬声器发出滴滴滴滴滴的声音。

2、如图2,单片机的P0口通过一个NPN管接在扬声器上。用单片机实现使扬声器发出嘟—嘟 嘟—嘟的声音。

3、如图3,单片机的P0口通过一个NPN管接在扬声器上,P1.7口接上一个开关,当开关按下时,使扬声器发出悟无- 悟无- 报警器的声音。

二、电路原理图

         1:扬声器发出滴滴滴滴滴滴的声音

          2:扬声器发出:嘟---嘟的声音

            3:扬声器输出 悟无- 悟无- 报警器的声音

三、设计程序

//输出滴滴滴滴滴滴的声音

OUTPUT BIT P1.0

     ORG 00H

LOOP:CLR C

     MOV OUTPUT,C

     CALL DELAY

     SETB C

     MOV OUTPUT,C

     CALL DELAY

     AJMP LOOP

DELAY:MOV R7,#250

      DJNZ R7,$

      RET

      END

//输出嘟---嘟的声音

TCOUNT EQU 30H

FALG   BIT 00H

       ORG 00H

       SJMP START

       ORG 0BH

       LJMP INT_T0

START: CLR FALG

       MOV TCOUNT,#00H

       MOV TMOD,#01H

       MOV TH0,#(65536-1000)/256

       MOV TL0,#(65536-1000)MOD 256

       MOV IE,#82H

       SETB TR0

       SJMP $

INT_T0:MOV TH0,#(65536-1000)/256

       MOV TL0,#(65536-1000)MOD 256

       INC TCOUNT

       MOV A,TCOUNT

       CJNE A,#250,L1

       CPL FALG

       MOV TCOUNT,#00H

    L1:JB FALG,L2

       CPL P1.0

       SJMP RETUNE

    L2:CLR P1.0

RETUNE:RETI

       END

//按下开关,输出 悟无- 悟无- 报警器的声音

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

 

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客