ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:260.73KB ,
资源ID:765481      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-765481.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(51单片机通过按键控制蜂鸣器发生详解.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

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

1、51单片机通过按键控制蜂鸣器发生详解单片机开发报告院 系: 电子工程学院专 业: 自 动 化 班 级: 自动化1401 学 号: 201405060118姓 名: 赵 越 指导老师: 刘 星 光 2018 年 01 月 04 日一.系统任务按键控制蜂鸣器发声二电路原理图三程序设计内容 “叮咚”电子门铃实验程序:常见的家用电子门铃在有客人来访时候,如果按压门铃按钮时,室内会发出“叮咚”声音,本实验程序模拟电子门铃的发音,当我们按压实验板上的K1按钮时候,蜂鸣器发出“叮咚”音乐声,是一个比较实用的程序。 使用无源蜂鸣器输出7个基本音阶声音是由物体振动所产生的。只是由于物体的材料以及振幅、频率不同,

2、而产生不同的声音。声音的响度是由振幅决定的,而音调则是由频率决定的,那么我们只需要控制物体振动的频率,就可以发出固定的声调。五汇编程序 ORG 0000H AJMP START ORG 000BH INC 20H ;中断服务,中断计数器加1 MOV TH0,#0D8H MOV TL0,#0F0H 12M晶振,形成10毫秒中断 RETI ORG 001BH LJMP INTT1 ;跳转到T1中断服务程序START: MOV DPTR,#00H ;初始化程序 MOV A,#00H OBUF1 EQU 30H OBUF2 EQU 31H OBUF3 EQU 32H OBUF4 EQU 33H FLA

3、GB BIT 00H STOPB BIT 01H MOV SP,#50H MOV TH0,#0D8H MOV TL0,#0F0H MOV TMOD,#21H MOV TH1,#09H MOV TL1,#09H MOV IE,#8AH AJMP LOOPLOOP: JNB P3.2,MUSIC0 JNB P3.1,MAIN AJMP LOOPMAIN: JB P3.1,MAIN ;检测p3.1按钮 LCALL YS10M ;延时去抖动 JB P3.1,MAIN SETB TR1 ;按钮有效 MOV OBUF1,#00H MOV OBUF2,#00H MOV OBUF3,#00H MOV OBUF

4、4,#00H CLR FLAGB CLR STOPB JNB STOPB,$ AJMP START ;发出“叮咚”完毕,返回重新检测按钮 YS10M: ;10ms延时子程序 MOV R6,#20D1: MOV R7,#100 DJNZ R7,$ DJNZ R6,D1 RETTING: AJMP STARTINTT1: ;定时器T1中断服务程序 INC OBUF3 ;中断服务程序中发出一声“叮咚”响声 MOV A,OBUF3 CJNE A,#100,NEXT MOV OBUF3,#00H INC OBUF4 MOV A,OBUF4 CJNE A,#20,NEXT MOV OBUF4,#00H J

5、B FLAGB,PGSTP CPL FLAGB AJMP NEXTPGSTP: SETB STOPB CLR TR1 LJMP INT0RETNEXT: JB FLAGB,SOU2 INC OBUF2 MOV A,OBUF2 CJNE A,#04H,INT0RET MOV OBUF2,#00H CPL P1.5 LJMP INT0RETSOU2: INC OBUF1 MOV A,OBUF1 CJNE A,#05H,INT0RET MOV OBUF1,#00H CPL P1.5INT0RET: RETIMUSIC0: JB p3.2,MUSIC0 LCALL YS10M JB p3.2,MUSI

6、C0 NOP MOV DPTR,#DAT 表头地址送DPTR MOV 20H,#00H ;中断计数器清0 MOV B,#00H ;表序号清0MAIN2: JNB P3.3,TING CLR A MOVC A,A+DPTR ;查表取代码 JZ END0 ;是00H,则结束 CJNE A,#0FFH,MUSIC5 LJMP MUSIC3 MUSIC5: NOP MOV R6,A INC DPTR MOV A,B MOVC A,A+DPTR ;取节拍代码送R7 MOV R7,A SETB TR0 ;启动计数MUSIC2: NOP CPL P1.5 MOV A,R6 MOV R3,A LCALL DE

7、L MOV A,R7 CJNE A,20H,MUSIC2 ;中断计数器(20H)=R7否? ;不等,则继续循环 MOV 20H,#00H ;等于,则取下一代码 INC DPTR INC B LJMP MAIN2MUSIC3: ;休止100毫秒 NOP CLR TR0 MOV R2,#0DHMUSIC4: NOP MOV R3,#0FFH LCALL DEL DJNZ R2,MUSIC4 INC DPTR LJMP MAIN2END0: NOP MOV R2,#0FFH ;歌曲结束,延时MUSIC6: MOV R3,#00H LCALL DEL DJNZ R2,MUSIC6 CLR TR0 LJMP LOOPDEL: NOPDEL3: MOV R4,#03HDEL4: NOP DJNZ R4,DEL4 NOP DJNZ R3,DEL3 RETDENG1: MOV R3,#64H DJNZ R3,$ AJMP MAINDAT: DB 30h,30h,26h,26h,20h,20h,1ch,1ch,1ah,1ah,18h,18h,00h END六、程序下载及调试 步骤:1 点击translate 按钮 预编译2 点击build 按钮 编译3 点击 rebuild 按钮 编译所有目标4 打开普中烧录软件5 点击程序下载 四程序流程图NoYes中断中断Yes

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2