- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AT89S51单片机试验及实践教程之“叮咚”门铃.doc
AT89S51单片机试验及实践教程之“叮咚”门铃|第1
内容显示中
3. 系统板上硬件连线
1. 把“单片机系统”区域中的 P1.0 端口用导线连接到“音频放大模块”区域中的 SPK IN 端口上;
2. 在“音频放大模块”区域中的 SPK OUT 端口上接上一个 8 欧或者是 16 欧的喇叭;
3. 把“单片机系统”区域中的 P3.7/RD 端口用导线连接到“独立式键盘”区域中的 SP1 端口上;
4. 程序设计方法
1. 我们用单片机实定时 / 计数器 T0 来产生 700HZ 和 500HZ 的频率,根据定时 / 计数器 T0 ,我们取定时 250us ,因此, 700HZ 的频率要经过 3 次 250us 的定时,而 500HZ 的频率要经过 4 次 250us 的定时。
2. 在设计过程,只有当按下 SP1 之后,才启动 T0 开始工作,当 T0 工作完毕,回到最初状态。
3. “叮”和“咚”声音各占用 0.5 秒,因此定时 / 计数器 T0 要完成 0.5 秒的定时,对于以 250us 为基准定时 2000 次才可以。
6. 汇编源程序
T5HZ EQU 30H
T7HZ EQU 31H
T05SA EQU 32H
T05SB EQU 33H
FLAG BIT 00H
STOP BIT 01H
SP1 BIT P3.7
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 T7HZ,#00H
CPL P1.0
LJMP DONE
S5HZ: INC T5HZ
MOV A,T5HZ
CJNE A,#04H,DONE
MOV T5HZ,#00H
CPL P1.0
LJMP DONE
DONE: RETI
END
7. C语言源程序
#include lt;AT89X51.Hgt;
unsigned char t5hz;
unsigned char t7hz;
unsigned int tt;
bit stop;
bit flag;
void main(void)
{
unsigned char i,j;
TMOD=0x02;
TH0=0x06;
TL0=0x06;
ET0=1;
EA=1;
while(1)
{
if(P3_7==0)
{
for(i=10;igt;0;i--)
for(j=248;jgt;0;j--);
if(P3_7==0)
{
t5hz=0;
t7hz=0;
tt=0;
flag=0;
stop=0;
TR0=1;
while(stop==0);
}
}
}
}
void t0(void) interrupt 1 using 0
{
tt++;
if(tt==2000)
{
tt=0;
if(flag==0)
{
flag=~flag;
}
else
{
stop=1;
TR0=0;
}
}
if(flag==0)
{
t7hz++;
if(t7hz==3)
{
t7hz=0;
P1_0=~P1_0;
}
}
else
{
t5hz++;
if(t5hz==4)
{
t5hz=0;
P1_0=~P1_0;
}
}
}
您可能关注的文档
- -反不正当竞争法-与-反垄断法-理论之比较研究.doc
- -知识工程-之理论基础.doc
- -镇在平安创建活动工作会议上的发言材料.doc
- 1000t-a水煤浆工业放大线设计.doc
- 10G以太网的UTOPIA接口设计与实现.doc
- 10KV变电所无功补偿技术概述.doc
- 10kV电气化铁路信号灯系统并联数字电抗器的研究.doc
- 110 kV输变电工程电磁辐射污染的影响分析及防治对策.doc
- 110kV标准配送型智能变电站构计.doc
- 110份玉米自交系遗传多样性分析.doc
- AT89S51单片机试验及实践教程之“嘀、嘀、……”报警声.doc
- AT89S51单片机试验及实践教程之一键多功能按键识别技术.doc
- AT89S51单片机试验及实践教程之多路开关状态指示.doc
- AT89S51单片机试验及实践教程之定时计数器T0作定时应用技术(一).doc
- AT89S51单片机试验及实践教程之定时计数器T0作定时应用技术(二).doc
- AT89S51单片机试验及实践教程之广告灯的左移右移.doc
- AT89S51单片机试验及实践教程之按键识别方法之一.doc
- AT89S51单片机试验及实践教程之数字钟.doc
- AT89S51单片机试验及实践教程之模拟计算器数字输入及显示.doc
- AT91系列微处理器启动过程的分析与实现.doc
最近下载
- 《背影》课内阅读训练.doc VIP
- Amason艾茉森电子乐器VP-73GH说明书.pdf
- 《机械臂结构》课件.ppt VIP
- 护理学本科毕业论文范文范文本科护理护理学毕业论文范文.doc
- 11CD008-4 固定资产投资项目节能评估文件编制要点及示例(电气)(OCR).pdf VIP
- 单片机课程设计报告 简易电子琴 .pdf VIP
- 网课章节答案《科学启蒙》超星尔雅答案2023.pdf VIP
- 吉他六线谱空白模版A4 六线 2mm 8行 通用版2打印模板.pdf VIP
- 安全生产规章制度和操作规程完整版.pdf VIP
- 国家开放大学《管理英语4》边学边练Unit 1-4(答案全).docx VIP
原创力文档


文档评论(0)