《基于单片机的数字电子钟精编版》由会员分享,可在线阅读,更多相关《基于单片机的数字电子钟精编版(30页珍藏版)》请在金锄头文库上搜索。
1、精品资料推荐CHANGZHOU INSTITUTE OF TECHNOLOGY科研实践题目:基于单片机的数字电子钟二级学院(直属学部): 延陵学院 专业: 电气工程及其自动化 班级: 10电Y2 学生姓名: 学号: 10120827 指导教师姓名: 范力旻 职称: 副教授 2013年12月30日至2014年1月10日目 录一、绪 论31.1课题研究的背景和意义31.2 课题研究的目的3二、课题设计概况42.1 课题主要实现功能42.2 课题功能分析42.3 课题功能实现过程的描述4三、总体设计方案53.1 单片机的选择53.2数字电子钟显示方案论证5四、硬件设计64.1 总体设计结构图64.2
2、 单片机最小系统的设计64.3 输入电路的设计74.4 输出电路的设计8五、软件设计105.1 主程序结构图105.2 主程序流程图105.3 主要程序模块分析125.3.1 延时程序125.3.2 计24小时程序125.3.3 暂停/继续程序145.3.4 校时灯闪程序145.3.5 16进制转BCD码程序15六、Protues和keil仿真166.1 proteus软件的介绍及使用166.2 Keil软件的介绍及使用166.3 数字电子钟的仿真16七、实物制作217.1电路板焊接217.2电路板调试21八、总结和展望228.1科研实践总结228.2对未来的展望22附 录23参考文献23元器
3、件清单23原理图和PCB图24C语言程序代码25实物图30一、绪 论1.1课题研究的背景和意义 20世纪末,电子技术获得了飞速发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力的推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记时间,忘记了要做的事情,但是,一旦重要的事情,一时的耽误可能酿成大祸。目前,单片机正朝着高性能和多品种方向发展,发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。单片机模块中最常见的是数
4、字钟,数字钟是一种利用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛使用。数字电子钟是采用数字电路对时、分、秒数字显示的计时装置,广泛用于个人家庭、车站、码头、办公室等公共场所,成为人们日常生活中不可缺少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表,钟表的数字化给人们的生产生活带来了极大的方便,而且大大的扩展了钟表原来的报时功能,因此研究数字钟及扩大其应用,有着日常现实的意义。1.2 课题研究的目的复习KEIL软件的使用方法;学会编写数字电子钟的C语言程序;学会画数
5、字电子钟的PROTEUS图;学会稳压电源的制作方法;学会制作相应的实物。二、课题设计概况2.1 课题主要实现功能 1、该单片机数字电子钟能在LED数码管准确显示24小时(显示格式为:时时,分分,秒秒);2、可暂停时间的变动, 同时在暂停的时候可以通过调秒、调分和调时按钮校正时间,继续计时的时候按调整后的时间变动。每调整一次时间相对应的LED灯会亮三次,计时的时候灯不亮;3、每次上电的时候数码管显示“000000”,校时之后方可正常使用。2.2 课题功能分析 1、为了实现计时功能,必须有合适精确的秒源; 2、通过进位的方法可以实现分钟和小时的显示; 3、时、分、秒计到24、60、60要清零; 4
6、、给暂停和校时功能分别设置按钮,每按一次校时按钮相应的数码管显示加1,相应的LED灯亮; 5、通过软件编程课实现上述功能。2.3 课题功能实现过程的描述 给单片机上电之后,数码管显示时间为00时00分00秒,按下暂停/继续键后,通过三个校时按钮把时间校准到实际时间,再次按下暂停/继续键恢复计时。每一次校时的时候相应的灯就会闪,不调时的时候灯就灭。 三、总体设计方案3.1 单片机的选择 AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。A
7、T89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。而ATMEL公司的89C52单片机,是增强型RISC内载Flash的单片机。由于单片机的种类很多,在选择单片机时要依据实际设计要求选择合适的单片机。本数字电子钟产生的数据量并不
8、大,但是为了确保程序的运行,所以选择C51单片机。 表3-1 51和52的比较 数据存储器程序存储器定时器中断51系列128B4KB2552系列256B8KB383.2数字电子钟显示方案论证 本设计可以选择的方案有数码管显示和LCD显示。 由于只要实现时分秒的显示,LCD的显示尽管多,但无论在软件上还是硬件上都需要添加其它部件,比较复杂,因此选择数码管即可。四、硬件设计4.1 总体设计结构图数字电子钟总体设计结构图如下: 图4-1 数字电子钟的总体设计结构图4.2 单片机最小系统的设计1、时钟电路如下:单片机必须在时钟的驱动下才能工作.由之前所学的单片机原理最小系统内容,在单片机内部有一个时钟
9、振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)。为了匹配单片机的频率,经过试验选择匹配电容为30pF。时钟电路如下(注意接的是单片机18、19引脚): 图4-2 时钟电路 2、 复位电路 51单片机通常有两种复位方式,上电复位和按钮复位,本论文采用上电复位。由于本设计的晶体振荡器采用的是12M,因此RC采用典型值。复位时间计算:当取100us时为高电平,所以可以达到复位作用。复位电路图如下(请忽略时钟电路): 图4-3 复位电路4.3
10、 输入电路的设计1、暂停和校时电路如下:由于在P0口,所以要选择上拉电阻.参照总体结构设计图,最多顾及LED参数 (2.2V,10mA),计算(5-2.2)/0.01=280,为了保证完全满足参数要求,选一定可以满足条件的500,电流10mA。各个按钮的功能已经在下图中标明(按钮选择常见的TD-03B即可)。 图4-4 暂停和校时电路2、稳压电源计算如下: 在实际做硬件实物的时候制作出实际的5V直流稳压电源也是必要的一部分。由于主屏幕上的空间不够,所以并没有接稳压电源的线,让其参与仿真。 图4-5 稳压电路4.4 输出电路的设计1、校时时灯闪电路如下:上拉电阻选择同上。LED选择5的T1型红色
11、灯就行了(电流从参数已在上文叙述)。 图4-6 校时时灯闪电路2、数码管显示电路如下:本电子钟设计只牵涉到6位数码管的显示,因此采用6个7SEG-COM-CATHODE就够了。此数码管共阴极接地。端口引出还要加74LS48译码器接单片机,这样软件编程的内容就能清楚地显示了。 图4-7 数码管显示电路五、软件设计5.1 主程序结构图 系统初始化模块按键模块计时模块校时模块数码管显示模块暂停继续模块灯闪模块 图5-1 主程序结构图5.2 主程序流程图 流程图是使用图形表示算法的思路是一种极好的方法,不论采用何种程序设计方法,程序总体结构确定后,一般以程序流程图的形式对其进行描述。总体框图中的各个子
12、模块或各个子任务也应该结合具体的教学模型和算法画出较详细的程序流程图,供后面编写具体程序和阅读程序使用。 开始定义输入输出端口开始计时显示按暂停继续按钮YN按调秒按钮YN调秒闪灯按调分按钮YN调分闪灯时间暂停YN调分闪灯按调时按钮按暂停继续钮就继续计时YN继续暂停结束 图5-2 主程序流程图5.3 主要程序模块分析 所有的程序详见附录。5.3.1 延时程序通过软件和晶振电路的配合实现提供1ms的延时程序,当调用ms函数时,通过嵌套调用100us、50us、5us的乘法关系来实现1ms的输出。当晶振为12MHz时,由可知程序的确可以延时5us乃至1ms。考虑误差程序用的是11.0592MHz。流程图如下: 图5-3 延时程序流程图5.3.2 计24小时程序 由得到的10ms乘以100次可以得到1s,然后进行加法运算,满60秒进1清零,满60分进1清零,满24时清零。流程图如下: Y是否满24h?显示缓冲单元清0返回NY是否满60m?小时加1分值加1N计数器重新加载循环次数加1是否满1s?是否满60s?秒值加1N开始 图5-4 计24小时程序5.3.3 暂停/继续程序 通过确认暂停/继续键是否松开这样的去抖程序可以使得按下这一键以及按暂停键之后的动作得以完美执行。 流程图如下: 再按一次恢复运行确认暂停键低电平开始去抖暂停 图5-5 暂停/