1 / 10
文档名称:

毕业论文-基于单片机的多功能数字钟设计报告.doc

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

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

分享

预览

毕业论文-基于单片机的多功能数字钟设计报告.doc

上传人:钻石文档库 2013/7/5 文件大小:0 KB

下载得到文件列表

毕业论文-基于单片机的多功能数字钟设计报告.doc

文档介绍

文档介绍:基于单片机的多功能数字钟课程设计报告
学校东莞理工学院
学院电子工程学院
班级 09通信工程2班
姓名车冠
学号 200941302214
同组同学:练宏中蔡惠坚李健奕
指导老师任斌
日期 2011-12-22
一、设计目的
通过设计与实践,制作出具有准确显示小时、分、秒的数字钟,且可以校时和实现闹铃功能。
二、功能要求
①自动计时,有两个四位LED数码管显示时分秒
②具备调整功能,可以直接由0~9数字键设置当前时间
③具备定时闹钟功能
三、所需器件及其功能
所用元件名称、型号、数量
四位数码管引脚图以及封装尺寸
本实验用两个四位数码管代替一个六位数码管
89c51引脚图
8155引脚图
需要用到的工具:剥线钳,电烙铁,烙铁架,焊锡,万用表,电源,小刀。
四、设计步骤
数字钟电路由单片机、键盘输入模块、时钟显示模块及闹铃设置模块组成。程序结构设计如下
主程序。
实现初始化与键盘监控
定时器T0中断服务程序。
利用T0进行中断定时,T0工作在1,初值为3CB0H,每隔100ms益处中断一次,实现时、分、秒的计时功能,同时刷新计时缓冲区,小时计时24次则时间重新回到00:00:00.
时间设置和闹钟设置子程序。
实现当前时间及定时启闹时间的键盘输入设置。其功能是用键盘设置子程序将键入的6位时间值送入键盘设置缓冲区,用合子程序压成BCD码,若输入的小时打入23或分和秒大于59,则不合法,清0重新开始计时。
键盘扫描子程序。
判断是否有键按下,有则求其建号后返回,无键按下则循环等待
显示子程序。
实现缓冲区的6位BCD码的动态方式显示,并用到拆字子程序将BCD码送到缓冲区
定时比较子程序。
实现当前时间与预设的启闹时间的比较,二者相同则启动蜂鸣器鸣叫并置位闹钟标志位,重新按下ALM键时,停闹并清0闹钟标志。
其它辅助功能子程序
①键盘设置子程序
②拆字子程序
③合字子程序
主程序流程图
定时比较流程图(左) 键盘设置子程序流程图(右)
时间设置键盘扫描
8155地址分配如下:
控制寄存器:8000H,定义为PORT
A口:8001H, 定义为PORTA
B口:8002H定义为PORTB
C口:8003H定义为PORTC
片内RAM及标志位的分配:
五、电路的仿真
熟悉了各部分的原理就是连接电路图,参照各芯片的引脚图在proteus的仿真软件上开始连接电路图。通过自己的努力、同学的帮助和在网上查找的资料,终于在仿真软件上实现了设计所要求的内容。电路图如下图所示:
六、电路板的焊接
在仿真成功后,我们终于开始了电路板的焊接。本以为焊接只要按照图焊好就行了,应该很容易。但是焊了一会儿之后就知道这不是一件轻松的活。因为我没有做一部分就检查一部分,我花了很久的时间一次性把所有的连线都焊好了。焊好之后,我兴致勃勃拿去接通电源,接通之后发现根本不是那么回事。我自己又检查了几遍发现没什么问题,我就有点为难了,不知道怎么办。我找了一个以前焊接过这电路板的同学帮我检查了一遍,他说我的最严重的问题就是存在很多的虚焊,他说这是焊接中很容易出现的问题,特别是我们这些以前没焊过的。老师在我们焊电路板之前也提醒我们要注意虚焊,但是我没怎么注意。那同学帮我指出那些应该重新焊