简易数字钟的设计.doc

上传人:美****子 文档编号:77539840 上传时间:2023-03-15 格式:DOC 页数:13 大小:64.50KB
返回 下载 相关 举报
简易数字钟的设计.doc_第1页
第1页 / 共13页
简易数字钟的设计.doc_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《简易数字钟的设计.doc》由会员分享,可在线阅读,更多相关《简易数字钟的设计.doc(13页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、科信学院课程设计说明书2021 /2021 学年第 二 学期课程名称 : 单片机课程设计 题 目 : 简易数字钟课程设计 专业班级 : 学生姓名 : 学 号 : 指导教师 : 苗敬利、王立国等 设计周数 : 2周 设计成绩 : 2021年06 月27 日目 录目 录1 设计任务描述11.1 设计题目:简易数字钟的设计11.2 设计要求:11.2.1 设计目的11.2.2 根本要求11.2.3元件清单12 设计方框图2 数字钟硬件局部示意图2 数字钟软件局部组成框图32.2.1 时间调整的程序流程32.2.2 时钟显示程序流程43 各局部模块介绍53.1 单片机AT89C52芯片分析53.2 晶

2、振电路模块63.3 复位电路模块63.4 显示模块73.5 时间校对按键模块84 简易数字钟源程序8源程序85 数字钟源程序的仿真125.1 编译、连接125.2 仿真125.3 生成HEX文件136 数字钟硬件原理图15 总原理图15小 结16第 11 页1 设计任务描述1.1 设计题目:简易数字钟的设计 1.2 设计要求: 设计目的熟练使用Keil开发环境,具备编写单片机程序(汇编语言或C语言)的初步能力,通过完本钱课题的软硬件设计,使同学们了解单片机实例的整个开发流程。 根本要求简要说明任务与要求设计简易的数字钟,该数字钟满足以下要求:设计一台以MCS-5为核心的简易数字钟。四位数码管显

3、示小时与分钟,中间那个点来区分小时与分钟;每秒用一个LED灯闪烁一下;四个按键,分别为:选择键,加键,减键,确认键。时间要准确,整点报时,声音间隔一秒,并且可以调整时间,调整位闪烁提示。1.2.3 元件清单如下:元件名称型号数量用途元件名称型号数量用途单片机AT89S511控制核心电阻10K7按键电路晶振12MHz1晶振电路按键4电容30pF2数码管8段4位4显示电路电解电容30uF/10V1复位电路电阻3307电阻1k1电阻1001蜂鸣器及其驱动电路按键20014蜂鸣器DC5V1电源1提供+5V电源三极管901342 设计方框图2.1 数字钟硬件局部示意图该简易数字钟硬件局部主要由晶振、手动

4、复位、单片机AT89C52、数码管显示、时间调整按键模块组成。框图如下:单片机AT89S52电源复位电路晶振电路声音提示数码管显示按键电路基于AT89S51单片机数字钟系统框图图2.1 数字钟硬件系统示意图2.2 数字钟软件局部组成框图2 时间调整的程序流程YYNINT1中断效劳子程序时钟分位调整时钟分位+11小时到时钟分位清零返回时钟小时位调整?时钟小时+124小时到时钟小时位清零NY图2.2 时间调整程序流程框图2.2.2 时钟显示程序流程T1中断效劳子程序重置T1定时初值1秒到?秒位+11分到?分位+1、秒位清零1小时到?小时位+1、分位清零24小时到?小时位清零返回NNNN图2.3 2

5、4小时时钟3 各局部模块介绍3.1 单片机AT89C51芯片分析AT89C51单片机引脚图如下:图 3.1 AT89C51引脚图该单片机是标准的40引脚双列直插式集成电路芯片,其各个引脚功能如下:VCC:+5V电源。VSS: 接地。RST:复位信号。当输入的复位信号延续两个周期以上的高电平时即为有效,用来完成单片机的初始化操作。XTAL1与XTAL2:外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶体与微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。PO口:P0口作为一个8位漏极开路双向I/O口,当作输出口使用时,必须接上拉电阻才有高电平输出;当作输入口使用时,必须先向电路中

6、的锁存器写入“1,使FET截止,以防止锁存器为“0时对引脚输入的干扰。本次设计采用P0口作为数码管段选输出使用。P2口:内部有上拉电阻的8位I/O口,本次设计中作为数码管位选输出使用。3.2 晶振电路模块在AT89C51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。而在芯片内部,XTAL1与XTAL2之间跨接晶体振荡器与微调电容,从而构成一个稳定的自激振荡器。时钟电路产生的振荡脉冲经过触发器进展二分频之后,才成为单片机的时钟脉冲信号。图3.2 晶振电路3.3 复位电路模块单片机复位的条件是:必须使RST/VPD或RST引脚加上两个机器周期即24个振荡周期

7、的高电平。例如,假设时钟频率为12MHz,每个机器周期为1us,那么只需要2us以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。单片机常见的复位如下图。电路为上电复位,它利用电容充电来实现的。在接电瞬间,RESET端的电位及VCC一样,随着充电电流的减少,RESET的电位逐渐下降。只要保证RESET为高电平的时间大于两个机器周期,便能正常复位。该电路除具有上电复位功能外,假设要复位,只需按图中的RESET键,此时电源VCC经电阻分压,在RESET端产生一个复位高电平。图3.3 复位电路3.4 显示模块考虑采用动态显示局部,用P0口作为数码管数据段选,P2口作为数码管控制位选

8、。动态显示通常都是采用动态扫描的方法进展显示,即循环点亮每一个数码管,这样虽然在任意时刻都只有一位数码管被点亮,但由于人眼存在视觉暂留效应,只要每位数码管间隔时间足够短,就可以给人以通俗显示的感觉。上面第一局部已提到,我们采用了50ms左右的时间间隔,并且是合理的。6位数码管,实验室的硬件是共阴极的,故我们的数码表采用0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, 0x00;图3.4 显示模块3.5 时间校对按键模块本次设计要求了该简易数字钟必须具备时、分的调整功能。故必须接入2个简单的按键本设计设置问p1.4调时、p1.5调分,按键为实验

9、箱单次脉冲按键模块,并且在软件局部必须引入这2个独立按键的子程序。图3.5 时间校对按键电路4 简易数字钟源程序 源程序#include unsigned char code dispcode=0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,0x00; unsigned char dispbitcode=0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f; unsigned char dispbuf8=0,0,16,0,0,16,0,0; unsi

10、gned char dispbitcnt; unsigned char second; unsigned char minite; unsigned char hour; unsigned int tcnt; unsigned char mstcnt; unsigned char i,j; sbit P3_0=P30;sbit P3_1=P31;sbit P3_2=P32;void main(void) P2=0X00;TMOD=0x02; TH0=0x06; TL0=0x06; TR0=1; ET0=1; EA=1; while(1) if(P3_0=0) for(i=5;i!=0;i-)

11、for(j=248;j!=0;j-); if(P3_0=0) second+; if(second=60) econd=0; dispbuf0=second%10 ; dispbuf1=second/10; while(P3_0=0); if(P3_1=0) for(i=5;i!=0;i-) for(j=248;j!=0;j-); if(P3_1=0) minite+; if(minite=60) minite=0; dispbuf3=minite%10 ; dispbuf4=minite/10; while(P3_1=0); if(P3_2=0) for(i=5;i!=0;i-) for(j

12、=248;j!=0;j-); if(P3_2=0) hour+; if(hour=24) hour=0; dispbuf6=hour%10 ; dispbuf7=hour/10; while(P3_2=0); void t0(void) interrupt 1 using 0 mstcnt+; if(mstcnt=8) mstcnt=0; P0=dispcodedispbufdispbitcnt; P2=dispbitcodedispbitcnt; dispbitcnt+; if(dispbitcnt=8) dispbitcnt=0; tcnt+; if(tcnt=4000) tcnt=0;

13、second+; if(second=60) second=0; minite+; if(minite=60) minite=0; hour+; if(hour=24) hour=0; dispbuf0=second%10 ; dispbuf1=second/10; dispbuf3=minite%10 ; dispbuf4=minite/10; dispbuf6=hour%10 ; dispbuf7=hour/10; 5 数字钟源程序的仿真 5.1 仿真图5.2 编译、连接将数字钟源程序输入到keil软件,建立工程工程,添加完成程序的编译、连接,通过后无错误。如下图:图5.1 编译、连接图5

14、.3 仿真 生成HEX文件利用keil将编译、连接无误的源程序生成hex文件,准备及protues联调进展仿真。图 6.2.1 从keil里生成十六进制文件6 数字钟硬件原理图6.1 总原理图图6.1 数字钟硬件原理图7课设感受本次课程设计我们小组选择的课题是简易数字钟的设计。主要的设计思路是运用5个单元模块的组合来实现符合设计要求的数字钟。五大模块设置合理,各自发挥自己的作用,成为一个整体。分模块来调试,最终实现。通过这次课程设计,我学会了很多书本上学不到的知识,熟练掌握了Keil的开发环境,也加深了软件的使用。这个课设从自己找相关软件、装软件、学软件再到仿真,充满许多艰辛,付出了很多汗水与时间,在同组人员互相鼓励,互相探讨,互相竞争的团队协作下,克制这探索道路上的种种困难,最后终于做成了一份完整的课程设计。心里还是不免有一种成功后的喜悦之情。总之,回忆这一次单片机原理及应用的课程设计,让人感慨颇多,既为这门学科知识之深奥、奇妙所吸引,更为那些设计出那些经典程序的前人所折服。学习的道路是没有尽头的,也是艰辛的,但只要我们能够独立去思考、去想、去做,那么我们总能学到真正的实用知识。课程设计评 语课程设计成 绩指导教师签字 年 月 日

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 文案大全

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com