基于单片机的数字电子钟论文.docx
《基于单片机的数字电子钟论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的数字电子钟论文.docx(33页珍藏版)》请在冰豆网上搜索。
基于单片机的数字电子钟论文
CHANGZHOUINSTITUTEOFTECHNOLOGY
科研实践
题目:
基于单片机的数字电子钟
二级学院(直属学部):
延陵学院
专业:
电气工程及其自动化
班级:
学生姓名:
学号:
指导教师姓名:
职称:
副教授
目录
一、绪论3
1.1课题研究的背景和意义3
1.2课题研究的目的3
二、课题设计概况4
2.1课题主要实现功能4
2.2课题功能分析4
2.3课题功能实现过程的描述4
三、总体设计方案5
3.1单片机的选择5
3.2数字电子钟显示方案论证5
四、硬件设计6
4.1总体设计结构图6
4.2单片机最小系统的设计6
4.3输入电路的设计7
4.4输出电路的设计8
五、软件设计10
5.1主程序结构图10
5.2主程序流程图10
5.3主要程序模块分析12
5.3.1延时程序12
5.3.2计24小时程序12
5.3.3暂停/继续程序14
5.3.4校时灯闪程序14
5.3.516进制转BCD码程序15
六、Protues和keil仿真16
6.1proteus软件的介绍及使用16
6.2Keil软件的介绍及使用16
6.3数字电子钟的仿真16
七、实物制作21
7.1电路板焊接21
7.2电路板调试21
八、总结和展望22
8.1科研实践总结22
8.2对未来的展望22
附录23
参考文献23
元器件清单23
原理图和PCB图24
C语言程序代码25
实物图30
一、绪论
1.1课题研究的背景和意义
20世纪末,电子技术获得了飞速发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力的推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记时间,忘记了要做的事情,但是,一旦重要的事情,一时的耽误可能酿成大祸。
目前,单片机正朝着高性能和多品种方向发展,发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。
单片机模块中最常见的是数字钟,数字钟是一种利用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛使用。
数字电子钟是采用数字电路对时、分、秒数字显示的计时装置,广泛用于个人家庭、车站、码头、办公室等公共场所,成为人们日常生活中不可缺少的必需品。
由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表,钟表的数字化给人们的生产生活带来了极大的方便,而且大大的扩展了钟表原来的报时功能,因此研究数字钟及扩大其应用,有着日常现实的意义。
1.2课题研究的目的
复习KEIL软件的使用方法;
学会编写数字电子钟的C语言程序;
学会画数字电子钟的PROTEUS图;
学会稳压电源的制作方法;
学会制作相应的实物。
二、课题设计概况
2.1课题主要实现功能
1、该单片机数字电子钟能在LED 数码管准确显示24小时(显示格式为:
时时,分分,秒秒);
2、可暂停时间的变动,同时在暂停的时候可以通过调秒、调分和调时按钮校正时间,继续计时的时候按调整后的时间变动。
每调整一次时间相对应的LED灯会亮三次,计时的时候灯不亮;
3、每次上电的时候数码管显示“000000”,校时之后方可正常使用。
2.2课题功能分析
1、为了实现计时功能,必须有合适精确的秒源;
2、通过进位的方法可以实现分钟和小时的显示;
3、时、分、秒计到24、60、60要清零;
4、给暂停和校时功能分别设置按钮,每按一次校时按钮相应的数码管显示加1,相应的LED灯亮;
5、通过软件编程课实现上述功能。
2.3课题功能实现过程的描述
给单片机上电之后,数码管显示时间为00时00分00秒,按下暂停/继续键后,通过三个校时按钮把时间校准到实际时间,再次按下暂停/继续键恢复计时。
每一次校时的时候相应的灯就会闪,不调时的时候灯就灭。
三、总体设计方案
3.1单片机的选择
AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
而ATMEL公司的89C52单片机,是增强型RISC内载Flash的单片机。
由于单片机的种类很多,在选择单片机时要依据实际设计要求选择合适的单片机。
本数字电子钟产生的数据量并不大,但是为了确保程序的运行,所以选择C51单片机。
表3-151和52的比较
数据存储器
程序存储器
定时器
中断
51系列
128B
4KB
2
5
52系列
256B
8KB
3
8
3.2数字电子钟显示方案论证
本设计可以选择的方案有数码管显示和LCD显示。
由于只要实现时分秒的显示,LCD的显示尽管多,但无论在软件上还是硬件上都需要添加其它部件,比较复杂,因此选择数码管即可。
四、硬件设计
4.1总体设计结构图
数字电子钟总体设计结构图如下:
图4-1数字电子钟的总体设计结构图
4.2单片机最小系统的设计
1、时钟电路如下:
单片机必须在时钟的驱动下才能工作.由之前所学的《单片机原理》最小系统内容,在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。
典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)。
为了匹配单片机的频率,经过试验选择匹配电容为30pF。
时钟电路如下(注意接的是单片机18、19引脚):
图4-2时钟电路
2、复位电路
51单片机通常有两种复位方式,上电复位和按钮复位,本论文采用上电复位。
由于本设计的晶体振荡器采用的是12M,因此RC采用典型值。
复位时间计算:
当取100us时
为高电平,所以可以达到复位作用。
复位电路图如下(请忽略时钟电路):
图4-3复位电路
4.3输入电路的设计
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型红色灯就行了(电流从参数已在上文叙述)。
图4-6校时时灯闪电路
2、数码管显示电路如下:
本电子钟设计只牵涉到6位数码管的显示,因此采用6个7SEG-COM-CATHODE就够了。
此数码管共阴极接地。
端口引出还要加74LS48译码器接单片机,这样软件编程的内容就能清楚地显示了。
图4-7数码管显示电路
五、软件设计
5.1主程序结构图
图5-1主程序结构图
5.2主程序流程图
流程图是使用图形表示算法的思路是一种极好的方法,不论采用何种程序设计方法,程序总体结构确定后,一般以程序流程图的形式对其进行描述。
总体框图中的各个子模块或各个子任务也应该结合具体的教学模型和算法画出较详细的程序流程图,供后面编写具体程序和阅读程序使用。
图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时清零。
流程图如下:
图5-4计24小时程序
5.3.3暂停/继续程序
通过确认暂停/继续键是否松开这样的去抖程序可以使得按下这一键以及按暂停键之后的动作得以完美执行。
流程图如下:
再按一次恢复运行
确认暂停键低电平
开始
去抖暂停
图5-5暂停/继续程序
5.3.4校时灯闪程序
参照上一个模块,在去抖之后可以执行相应的程序。
校时模块:
时分秒的思路其实是一样的,按下相应的键一次,把相应端口的值加1,时的端口时加1,分的端口分加1,秒的端口秒加1。
只要在暂停的情况下按几下校对时间的键相应端口的数码管就加几。
灯闪模块:
在端口加1之后,通过延时程序让LED亮0.1秒灭0.1秒,重复2次,以表明在校时。
流程图如下:
图5-6秒分时校时闪灯程序
5.3.516进制转BCD码程序
用十位乘以16加个位得到。
流程图省略。
六、Protues和keil仿真
6.1proteus软件的介绍及使用
Proteus软件是LabcenterElectronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的布图与仿真。
Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比如MCS-51系列、PIC系列等等,以及单片机外围电路,比如按键、LED、数码管等等。
通过Proteus仿真软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。
Proteus仿真时只需在AT89C52单片机中加载Keil软件生成的.HEX格式文件,即可启动仿真。
6.2Keil软件的介绍及使用
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境、将这些部分组合在一起。
运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。
如果你使用C语言编程,那么Keil几乎就是你的不二之选,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
本设