1 / 7
文档名称:

“叮咚”门铃.doc.doc

格式:doc   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

“叮咚”门铃.doc.doc

上传人:bkuiooiu 2015/4/27 文件大小:0 KB

下载得到文件列表

“叮咚”门铃.doc.doc

文档介绍

文档介绍:“叮咚”门铃
实验任务
当按下开关SP1,AT89S51单片机产生“叮咚”,经过放大之后送入喇叭。
电路原理图

系统板上硬件连线
把“单片机系统”“音频放大模块”区域中的SPK IN端口上;
在“音频放大模块”区域中的SPK OUT端口上接上一个8欧或者是16欧的喇叭;
把“单片机系统”“独立式键盘”区域中的SP1端口上;
程序设计方法
我们用单片机实定时/计数器T0来产生700HZ和500HZ的频率,根据定时/计数器T0,我们取定时250us,因此,700HZ的频率要经过3次250us的定时,而500HZ的频率要经过4次250us的定时。
在设计过程,只有当按下SP1之后,才启动T0开始工作,当T0工作完毕,回到最初状态。
“叮”和“咚”,因此定时/,对于以250us为基准定时2000次才可以。
程序框图
主程序框图
开始
T0初始化
T0开中断
SP1按键识别成功否?
启动T0工作
T0工作完毕否?
T0中断服务程序框图
T05S加1
T0中断入口
T05S=2000吗?
T05S=0,Flag取反
Flag=1
Flag=0
T5HZ加1
T7HZ加1
T5HZ=4吗?
T7HZ=3吗?
T7HZ=0
T5HZ=0

中断返回

汇编源程序
T5HZ EQU 30H
T7HZ EQU 31H
T05SA EQU 32H
T05SB EQU 33H
FLAG BIT 00H
STOP BIT 01H
SP1 BIT
ORG 00H
LJMP START
ORG 0BH
LJMP INT_T0
START: MOV TMOD,#02H
MOV TH0,#06H
MOV TL0,#06H
SETB ET0
SETB EA
NSP: JB SP1,NSP
LCALL DELY10MS
JB SP1,NSP
SETB TR0
MOV T5HZ,#00H
MOV T7HZ,#00H
MOV T05SA,#00H
MOV T05SB,#00H
CLR FLAG
CLR STOP
JNB STOP,$
LJMP NSP
DELY10MS: MOV R6,#20
D1: MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
RET
INT_T0: INC T05SA
MOV A,T05SA
CJNE A,#100,NEXT
MOV T05SA,#00H
INC T05SB
MOV A,T05SB
CJNE A,#20,NEXT
MOV T05SB,#00H
JB FLAG,STP
CPL FLAG
LJMP NEXT
STP: SETB STOP
CLR TR0
LJMP DONE
NEXT: JB FLAG,S5HZ
INC T7HZ
MOV A,T7HZ
CJNE A,#03H,DONE
MOV