51单片机通过按键控制蜂鸣器发生详解.docx

51单片机通过按键控制蜂鸣器发生详解.docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

word

word

1/14

1/14

单片机开发报告

系:

业:

电子工程学院

自 动 化

级:

自动化1401

号:

201405060118

名:

赵 越

word

指导教师: X 星 光

2018年 01 月 04 日

按键控制蜂鸣器发声二.电路原理图

三.程序设计内容

“叮咚〞电子门铃实验程序:常见的家用电子门铃在有客人来访时

2/14

word

word

PAGE

PAGE10/14

候,如果按压门铃按钮时,室内会发出“叮咚〞声音,本实验程序模

候,如果按压门铃按钮时,室内会发出“叮咚〞声音,本实验程序模

拟电子门铃的发音,当我们按压实验板上的K1

拟电子门铃的发音,当我们按压实验板上的K1按钮时候,蜂鸣器发

出“叮咚〞音乐声,是一个比拟实用的程序。

使用无源蜂鸣器输出

使用无源蜂鸣器输出7个根本音阶

声音是由物体振动所产生的。只是由于物体的材料以与振幅、频率不同,而产生不同的声音。声音的响度是由振幅决定的,而音调如此是由频率决定的,那么我们只需要控制物体振动的频率,就可以发出固定的声调。

声音是由物体振动所产生的。只是由于物体的材料以与振幅、频率不

同,而产生不同的声音。声音的响度是由振幅决定的,而音调如此是

由频率决定的,那么我们只需要控制物体振动的频率,就可以发出固

定的声调。

五.汇编程序

ORG 0000HAJMPSTART

ORG 000BH

INC 20H ;中断服务,中断计数器加1MOV TH0,#0D8H

MOV TL0,#0F0H 12M晶振,形成10毫秒中断RETI

ORG 001BH

LJMPINTT1 ;跳转到T1中断服务程序START:MOVDPTR,#00H ;初始化程序

MOVA,#00H

OBUF1 EQU30H

OBUF2 EQU31H

OBUF3 EQU32H

OBUF4 EQU33H

FLAGB BIT00H

STOPB BIT01HMOV SP,#50H

MOV TH0,#0D8HMOV TL0,#0F0HMOV TMOD,#21H

MOV TH1,#09HMOV TL1,#09H

MOV IE,#8AHAJMPLOOP

LOOP:JNB P3.2,MUSIC0JNBP3.1,MAIN

AJMPLOOPMAIN:

P3.1,MAIN

LCALL

YS10M

;延时去抖动

SETB

P3.1,MAIN

TR1

;按钮有效

MOV

OBUF1,#00H

MOV

OBUF2,#00H

MOV

OBUF3,#00H

MOV

OBUF4,#00H

CLR

FLAGB

CLR

STOPB

JNBSTOPB,$

AJMP START ;发出“叮咚〞完毕,返回重新检测按钮YS10M: ;10ms延时子程序

MOV R6,#20D1:

MOV R7,#100

DJNZ R7,$

DJNZ R6,D1RET

TING:AJMP START

INTT1: ;定时器T1中断服务程序INC OBUF3 ;中断服务程序中发出一声“叮咚〞响声MOV A,OBUF3

CJNE A,#100,NEXT

MOV OBUF3,#00H

INC OBUF4

MOV A,OBUF4

CJNE A,#20,NEXT

MOV OBUF4,#00HFLAGB,PGSTP

CPL FLAGB

AJMP NEXTPGSTP:

SETB STOPB

CLR TR1

LJMP INT0RETNEXT:

FLAGB,SOU2

INC OBUF2

MOV A,OBUF2

CJNE A,#04H,INT0RET

MOV OBUF2,#00H

LJMP INT0RETSOU2:

INC OBUF1

MOV A,OBUF1

CJNE A,#05H,INT0RET

MOV OBUF1,#00H

INT0RET:

RETI

MUSIC0: p3.2,MUSIC0LCALL YS10M

p3.2,MUSIC0NOP

MOV DPTR,#DAT 表头地址送DPTR

MOV 20H,#00H ;中断计数器清0MOV B,#00H ;表序号清0

MAIN2:JNB P3.3,TINGCLR A

MOVCA,A+DPTR ;查表取代码

JZ END0 ;是00H,如此完毕CJNEA,#0FFH,MUSIC5

LJMPMUSIC3

MUSIC5:

NOP

MOV R6,AINC DPTR

MOV A,B

MOVCA,A+DPTRMOV R7,ASETBTR0

MUSIC2:

NOP

MOVA,R6MOVR3,ALCALLDEL

;取节拍代码送R7

;

文档评论(0)

165720323137e88 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档