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

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

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

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