51单片机通过按键控制蜂鸣器发生详解.docx
- 文档编号:28801894
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:12
- 大小:265.93KB
51单片机通过按键控制蜂鸣器发生详解.docx
《51单片机通过按键控制蜂鸣器发生详解.docx》由会员分享,可在线阅读,更多相关《51单片机通过按键控制蜂鸣器发生详解.docx(12页珍藏版)》请在冰豆网上搜索。
51单片机通过按键控制蜂鸣器发生详解
单片机开发报告
院系:
电子工程学院
专业:
自动化
班级:
自动化1401
学号:
201405060118
姓名:
赵越
指导老师:
刘星光
2018年01月04日
一.系统任务
按键控制蜂鸣器发声
二.电路原理图
三.程序设计内容
“叮咚”电子门铃实验程序:
常见的家用电子门铃在有客人来访时候,如果按压门铃按钮时,室内会发出“叮咚”声音,本实验程序模拟电子门铃的发音,当我们按压实验板上的K1按钮时候,蜂鸣器发出“叮咚”音乐声,是一个比较实用的程序。
使用无源蜂鸣器输出7个基本音阶
声音是由物体振动所产生的。
只是由于物体的材料以及振幅、频率不同,而产生不同的声音。
声音的响度是由振幅决定的,而音调则是由频率决定的,那么我们只需要控制物体振动的频率,就可以发出固定的声调。
五.汇编程序
ORG0000H
AJMPSTART
ORG000BH
INC20H;中断服务,中断计数器加1
MOVTH0,#0D8H
MOVTL0,#0F0H12M晶振,形成10毫秒中断
RETI
ORG001BH
LJMPINTT1;跳转到T1中断服务程序
START:
MOVDPTR,#00H;初始化程序
MOVA,#00H
OBUF1EQU30H
OBUF2EQU31H
OBUF3EQU32H
OBUF4EQU33H
FLAGBBIT00H
STOPBBIT01H
MOVSP,#50H
MOVTH0,#0D8H
MOVTL0,#0F0H
MOVTMOD,#21H
MOVTH1,#09H
MOVTL1,#09H
MOVIE,#8AH
AJMPLOOP
LOOP:
JNBP3.2,MUSIC0
JNBP3.1,MAIN
AJMPLOOP
MAIN:
JBP3.1,MAIN;检测p3.1按钮
LCALLYS10M;延时去抖动
JBP3.1,MAIN
SETBTR1;按钮有效
MOVOBUF1,#00H
MOVOBUF2,#00H
MOVOBUF3,#00H
MOVOBUF4,#00H
CLRFLAGB
CLRSTOPB
JNBSTOPB,$
AJMPSTART;发出“叮咚”完毕,返回重新检测按钮
YS10M:
;10ms延时子程序
MOVR6,#20
D1:
MOVR7,#100
DJNZR7,$
DJNZR6,D1
RET
TING:
AJMPSTART
INTT1:
;定时器T1中断服务程序
INCOBUF3;中断服务程序中发出一声“叮咚”响声
MOVA,OBUF3
CJNEA,#100,NEXT
MOVOBUF3,#00H
INCOBUF4
MOVA,OBUF4
CJNEA,#20,NEXT
MOVOBUF4,#00H
JBFLAGB,PGSTP
CPLFLAGB
AJMPNEXT
PGSTP:
SETBSTOPB
CLRTR1
LJMPINT0RET
NEXT:
JBFLAGB,SOU2
INCOBUF2
MOVA,OBUF2
CJNEA,#04H,INT0RET
MOVOBUF2,#00H
CPLP1.5
LJMPINT0RET
SOU2:
INCOBUF1
MOVA,OBUF1
CJNEA,#05H,INT0RET
MOVOBUF1,#00H
CPLP1.5
INT0RET:
RETI
MUSIC0:
JBp3.2,MUSIC0
LCALLYS10M
JBp3.2,MUSIC0
NOP
MOVDPTR,#DAT表头地址送DPTR
MOV20H,#00H;中断计数器清0
MOVB,#00H;表序号清0
MAIN2:
JNBP3.3,TING
CLRA
MOVCA,@A+DPTR;查表取代码
JZEND0;是00H,则结束
CJNEA,#0FFH,MUSIC5
LJMPMUSIC3
MUSIC5:
NOP
MOVR6,A
INCDPTR
MOVA,B
MOVCA,@A+DPTR;取节拍代码送R7
MOVR7,A
SETBTR0;启动计数
MUSIC2:
NOP
CPLP1.5
MOVA,R6
MOVR3,A
LCALLDEL
MOVA,R7
CJNEA,20H,MUSIC2;中断计数器(20H)=R7否?
;不等,则继续循环
MOV20H,#00H;等于,则取下一代码
INCDPTR
INCB
LJMPMAIN2
MUSIC3:
;休止100毫秒
NOP
CLRTR0
MOVR2,#0DH
MUSIC4:
NOP
MOVR3,#0FFH
LCALLDEL
DJNZR2,MUSIC4
INCDPTR
LJMPMAIN2
END0:
NOP
MOVR2,#0FFH;歌曲结束,延时
MUSIC6:
MOVR3,#00H
LCALLDEL
DJNZR2,MUSIC6
CLRTR0
LJMPLOOP
DEL:
NOP
DEL3:
MOVR4,#03H
DEL4:
NOP
DJNZR4,DEL4
NOP
DJNZR3,DEL3
RET
DENG1:
MOVR3,#64H
DJNZR3,$
AJMPMAIN
DAT:
DB30h,30h,26h,26h,20h,20h,1ch,1ch,1ah,1ah,18h,18h,00h
END
六、程序下载及调试
步骤:
1.点击translate按钮预编译
2.点击build按钮编译
3.
点击rebuild按钮编译所有目标
4.打开普中烧录软件
5.点击程序下载
四.程序流程图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 通过 按键 控制 蜂鸣器 发生 详解