基于AT89C51单片机的多功能电子万年历的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
. . .. . . 单片机应用系统设计
课题:基于AT89C51单片机的多功能电子万年
历的设计
姓名:
班级:
学号:
指导老师:
日期:
.. .专
目录
一.绪言 (3)
二.系统总体方案设计 (3)
三.硬件系统设计: (4)
四.系统软件设计 (5)
五.设计总结 (8)
六.参考文献 (8)
七.附录 (9)
一.绪论
随着电子技术的迅速发展,特别是随大规模集成电路出现,给人类生活带来了根本性的改变。由其是单片机技术的应用产品已经走进了千家万户。电子万年历的出现给人们的生活带来的诸多方便。
本文首先描述系统硬件工作原理,并附以系统结构框图加以说明,着重介绍了本系统所应用的各硬件接口技术和各个接口模块的功能及工作过程,其次,详细阐述了程序的各个模块和实现过程。
万年历是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,但是所有这些,都是以钟表数字化为基础的。因此,研究万年历及扩大其应用,有着非常现实的意义。
本系统采用了以广泛使用的单片机技术为核心,软硬件结合,使硬件部分大为简化,提高了系统稳定性,并采用LED显示电路、键盘电路,使人机交互简便易行。
二.系统总体方案设计
1.系统设计硬件框图
2.实现的基本原理
在本实验中,我引用了DS1302的时,分,秒功能,当时计数字24时通过74LS164给
2.硬件原理图
四.系统软件设计
仿真过程
1、打开PROTEUS软件,并出画单片机电子万年历具体运行电路图。
3、检查所画电路运行图,确保没有错误以后,加载源程序。
4、加载完成后,单击电路图框下的开始按钮,进行仿真,观察LED数码管现实情况,此时LED数码管开始显示数字。调节开关进行时间的调节。当秒的显示间隔快与或慢与实际间隔时,调节石英晶体震荡器的频率参数,从而使秒的间隔达到标准。然后检查电路其它问题,并对其的各参数进行调整,使之正确。仿真结果
通过对源程序的编译,改正了其中的很多错误,然后运行,保证源程序的正确性。然后按原理图选择正确合理的电器元件,画出正确的电路图,加载源程序运行,顺利实现了单片机数字电子钟的“小时”、“分钟”、“秒”的显示。
1主程序流程图设计
2显示模块流程图
基本显示模块设计的重点是由显示代码取得相应的段码、显示段码数据的串行发送,程序流程如图1-11所示。其中时个位的段码必须加上小数点,即带小数点显示时个位,目的是以小数点符代替时间分割符“-”。
软件秒脉冲发生器其实质是利用了定时器0的定时溢出中断,将它设定为100ms溢出中断,则10次中断的时间正好为1s。将时间参数设计为100ms的原因有两个:1)根据系统时钟主频为6M的特点,16位定时器最大定时时间为65536×2M(M 为机器周期,这里是2μS),即131ms,取整数100便于计次数;
2)如取的太短,如10ms,则定时器频繁中断,干扰系统正常运行效果。
有了秒脉冲发生器,10次中断为1s,秒指示灯闪亮1次,秒变量单元加1,60后分变量单元加1,如果为60分则时变量单元加1。任何一个变量的变化,则显示刷新一次(更新)。上述思想的实现均集成在定时器0的中断子程序中。
该设计显示模块流程图如图
运行结果
学无止境,我们现在所做的一切都还只是一个开始。
主要参考资料:
[1] 林志琦.基于Proteus的单片机可视化软硬件仿真[M].:航空航天大学,2006.9
[2] 周润景,丽娜.基于PROTEUS的电路及单片机系统设计与仿真[M].:航空航天大学,2006.5
[3] 靖武,周灵彬.单片机系统的PROTEUS设计与仿真[M].:电子工业,2007.4
[4] 周润景,丽娜.PROTEUS入门实用教程[M].:机械工业,2007.9
[5] 戴俊峰.嵌入式系统大屏幕LED点阵显示器[J].现代电子技术,2004,27(19):68-89,72.
[6] 寿鹏.基于嵌入式系统的LED信息显示技术研究[J].现代电子技术,2005(1):15-47.
[7] 楼然苗,光飞.51系列单片机设计实例[M].:航空航天大学,2003.3
[8] 楼然苗,光飞.单片机课程设计指导[M].:航空航天大学,2007.7
[9] 贾东耀,汪仁煌. 数字温度传感器在仓库温度检测系统的应用[J]. 传感器世界,2001.
[10] DALLAS DS18B20数据手册[Z]..maximic.
[11]付旭,方康玲.利用VB6.0实现PC机与单片口通讯[J].微计算机信息,2002,18(10):30-31
[12] 江全,丽,岑红蕾.Visual Basic串口通信与测控应用技术实战详解[M].:人民邮电,2007.
[13] 法国Humirel公司.HS1101使用说明手册.
[14] 太阳人电子.SMC1602A LCM使用说明手册.
附录:
;*****************************
;* 万年历程序*
;*****************************
;67H(高两位年)66H(低两位年)65H(月)64H(星期)
;63H(日)62H(小时)61H(分)60H(秒)57H(农历月)56H(农历日)
;显示缓冲单元CH~7BH(4CH~4BH)年低位,AH~79H(4AH~49H)月,
;78H(48H)星期,H~76H(47H~46H)日,H~74H(45H~44H)时,
;73H72H(43H~42H)分,H~70H(41H~40H)秒,EH~5DH(55H~54H)农历年
;5CH~5BH(53H~52H)农历月,AH~59H(51H~50H)农历日
;闰年标志为F0,定时器T1为调整时候闪烁用
; LCALL GETWEEK
; MOV 78H,WEEk
SCLK BIT P3.2
IO BIT P3.3
RST BIT P3.4
TIME_YEAR DATA 66H
TIME_MONTH DATA 65H
WEEK DATA 64H
TIME_DAY DATA 63H
HOUR DATA 62H
MINTUE DATA 61H
SECOND DATA 60H
DS1302_ADDR DATA 32H
DS1302_DATA DATA 31H
start_year EQU 01; 定义查询表起始年份,01--199 表示1901-2099 年