单片机用定时器设计的门铃.docx

上传人:b****5 文档编号:11939787 上传时间:2023-04-16 格式:DOCX 页数:8 大小:65.09KB
下载 相关 举报
单片机用定时器设计的门铃.docx_第1页
第1页 / 共8页
单片机用定时器设计的门铃.docx_第2页
第2页 / 共8页
单片机用定时器设计的门铃.docx_第3页
第3页 / 共8页
单片机用定时器设计的门铃.docx_第4页
第4页 / 共8页
单片机用定时器设计的门铃.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

单片机用定时器设计的门铃.docx

《单片机用定时器设计的门铃.docx》由会员分享,可在线阅读,更多相关《单片机用定时器设计的门铃.docx(8页珍藏版)》请在冰豆网上搜索。

单片机用定时器设计的门铃.docx

单片机用定时器设计的门铃

 

*******大学

 

课程设计说明书

 

课程设计名称:

《单片机》课程设计

专业:

机械设计制造及其自动化

学号:

1224140146

学生姓名:

***

指导教师:

****

 

1设计任务1

2系统总体设计1

3硬件系统设计2

4程序流程图3

5程序4

6软件仿真7

7设计总结7

参考文献8

1设计任务

用定时器设计的门铃,通过定时器控制门铃声响的系统设计,掌握定时/计数器的使用方法,和简单程序的编写,最终提高我们的逻辑抽象能力。

要按下开关的时候开启中断,定时器溢出进入中断后,在软件以标志位i来判断门铃声音呢,开始响铃。

先是“叮”,标志位i加1,延时后接着是“咚”,标志位i加1,然后是关中断。

检测铃响脉宽也是以标志位i来识别“叮咚”。

当i为0时给示波器A通道高电平,i为2时,给示波器B通道高电平。

 

2系统总体设计

1.针对本课题的设计任务,进行分析得到,本次设计是利用单片机实现对扬声器发省的,控制采用按钮操作,c51单片机进行控制,最终使扬声器发出“叮咚”声音。

2.绘制电路原理图,编写程序,并进行仿真,基本实现对输出频率的控制,用扬声器的管理。

其中有两个声音“叮”、“咚”,因此有两个输出的频率对应于两个不同扬声器声音的输出。

最终利用单片机实现对扬声器发声的控制,采用按钮操作,c51单片机进行控制,最后使扬声器发出“叮咚”声音。

3.本设计能模拟基本的扬声器发出声响的系统,是采用中断的方式定时控制不同频率的输出。

定时/计数器工作方式寄存器,定时器采用T0定时器工作于模式0,位数:

13位。

计数围:

0-8192;中断设置每次定时器中断执行两个不同频率的输出。

3硬件系统设计

单片机设计的门铃系统,可用单片机直接控制输出频率变化来实现门铃声响可以广泛的应用到现实门铃的设计中。

据此,本设计系统以单片机为控制核心,连接成最小系统。

系统的总体框图如上图所示。

因为它能够准确地划分成时钟频率,与UART(通用异步接收器/发送器)量常见的波特率相关。

特别是较高的波特率(19600,19200),不管多么古怪的值,这些晶振都是准确,常被使用的。

当定时器1被用作波特率发生器时,波特率工作于方式1和方式3是由定时器1的溢出率和SMOD的值(PCON.7-----双倍速波特率)决定。

 

4程序流程图

 

 

5程序

ORG0000H;规定汇编的起始地址为0000H

LJMPMAIN;把MAIN函数进行长转移

ORG000BH

LJMPT0ISR

ORG0030H

MAIN:

MOVTMOD,#00H;定义工作方式寄存器TMOD用于选择定时器/计数器的

工作模式和工作方式

MOVIE,#82H

MOVTH0,#HIGH(8192-700);定义定时器/计数器0(高字节)的地址

MOVTL0,#LOW(8192-700);定义定时器/计数器0(低字节)的地址

MOVR2,#0

MOVR3,#0

LOOP:

JBP2.0,$

SETBTR0

JNBP2.0,$;直接寻址位为零则转移

SJMPLOOP

T0ISR:

CPLP2.3;对P2.3取反

LCALLADDP

LCALLCMPP

JNZT01

MOVTH0,#HIGH(8192-700)

MOVTL0,#LOW(8192-700)

RETI;从中断返回

T01:

DECA;累加器减1

JNZT02

MOVTH0,#HIGH(8192-1000)

MOVTL0,#LOW(8192-1000)

RETI

T02:

CLRTR0

MOVR2,#0

MOVR3,#0

RETI

ADDP:

MOVA,R2

ADDA,#1;把立即数1加上累加器中的数寄存到累加器A中

MOVR2,A

MOVA,R3

ADDCA,#0;把立即数加到累加器

MOVR3,A

RET

CMPP:

CLRC

MOVA,R2

SUBBA,#90H

MOVA,R3

SUBBA,#1

JCCMPP0

CLRC;清进位位

MOVA,R2

SUBBA,#20H;累加器减去立即数20H

MOVA,R3

SUBBA,#3

JCCMPP1

MOVA,#2

RET

CMPP1:

MOVA,#1

RET

CMPP0:

MOVA,#0

RET;从子程序中返回

END

 

6软件仿真

7设计总结

这次课程设计使我得到了不小的收获,发现了自己的很多不足,知识体系上的漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还需很大提高。

首先拿到这个题目,我就开始收集大量的资料,包括C51单片机的原理,人的听力围等等与课程设计相关的各类知识,了解了很多之前并未注意的知识。

通过这次课程设计,开阔了我们的视野,提高了我们的兴趣。

在今后的学习中我们仍可以进行这方面的尝试,开拓自己的眼界和操作能力,提高自己的动手制作能力,在动手中学习,在动手中收获。

参考文献

[1]楼然苗.光飞.51系列单片机设计实例[M].航空航天大学,2001.

[2]王东峰等.单片机C语言应用100例[M].电子工业,2009.

[3]守义等.单片机技术基础[M].电子科技大学,2007.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1