数字万年历课程设计
数字万年历的设计毕业设计

数字万年历的设计摘要电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。
它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。
对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。
该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。
本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。
万年历的设计过程在硬件与软件方面进行同步设计。
硬件部分主要由AT89C52单片机,LED显示电路,以及调时按键电路等组成。
在单片机的选择上本人使用了AT89C52单片机,该单片机适合于许多较为复杂控制应用场合。
74HC164 是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。
软件方面主要包括日历程序、时间调整程序,公历转阴历程序,显示程序等。
所有程序编写完成后,在wave软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。
最后总在老师同学的帮助以及自己的努力下完成了此次电子万年历的设计。
关键词:时钟电钟 DS1302 DS18B20 动态扫描单片机AbstractE-calendar day time is a very wide range of tools, increasingly popular in modern society. It can be year, month, day, Sunday, hours, minutes, seconds for time, but also has a leap year compensation to a variety of functions, and the DS1302's long life, small error. For the digital electronic calendar using an intuitive digital display can simultaneously display year, month, day, Sunday, hours, minutes, seconds, and temperature and other information, but also a time-calibration and other functions. The circuit uses AT89S52 microcontroller as the core, power consumption, low-voltage work in 3V, the voltage can choose 3 ~ 5V voltage supply.The design is based on 51 series of microcontrollers to the design of electronic calendar, you can display date information on when the minutes and seconds, and weeks, with adjustable date and time functions. At the same time in the design of the theoretical basis of the MCU and peripheral expansion of knowledge of the more comprehensive preparation. The hardware and software design, there is no good basic knowledge and practical experience will be greatly limited, each feature is required to achieve the kind of hardware, procedures, how to write, how to implement such algorithms, there is no certain foundation can not be good implementation. Found during the preparation process to the existing knowledge to complete the preparation of the task alone difficult,In the help of teachers and students to complete the program part of the preparation.Calendar of the design process in hardware and software to synchronize the design. Hardware mainly by the AT89C52 microcontroller, LED display circuit, and the tune composed of the circuit when the button. In the SCM choice I used the AT89C52 microcontroller, which is suitable for many of the more complex control applications. Monitor the use of two 7SEG-MPX8-CA and a 7SEG-MPX4-CA. 7SEG-MPX8-CA is a total of eight-yang diode display, 7SEG-MPX4-CA is a total offour-yang diode display. In order to more easily control the three monitors, I use three 74HC164 to drive.74HC164 is an 8-bit edge-triggered shift register, serial input data, and parallel output. The software includes calendar program, time to adjust procedures, turn the lunar calendar programs, display programs. Programs written in assembly language used in order to more easily adjust the time and the realization of the lunar calendar display. All programming is complete, the wave software debugging, make sure that no problems, in the Proteus software within a microcontroller embedded in the simulation. The final overall the teacher to help students, as well as their own efforts to complete the design of the electronic calendar.Keywords:Clock electric clock DS1302 DS18B20 Dynamic scan SCM目录第一章设计要求与方案论证 (1)第一节设计要求 (1)第二节系统基本方案选择和论证 (1)第三节电路设计最终方案决定 (3)第二章系统的硬件设计与实现 (4)第一节电路设计框图 (4)第二节系统硬件概述 (4)第三节主要单元电路的设计 (4)第三章系统的软件设计 (8)第一节程序流程框图 (8)第四章指标测试 (12)第一节测试仪器 (12)第二节硬件测试 (12)第三节软件测试 (13)第四节测试结果分析与结论 (13)致谢词 (15)参考文献 (16)附录一系统电路图 (1)附录二系统使用说明书 (2)第一章设计要求与方案论证第一节设计要求一、基本要求:1.具有年、月、日、星期、时、分、秒等功能;2.时间与阴、阳历能够自动关联;3.具有温度计功能;4.具备年、月、日、星期、时、分、秒校准功能。
自动万年历课程设计

自动万年历课程设计一、引言万年历是一种常见的时间表示工具,能够提供年、月、日、星期等日期信息。
随着科技的发展,人们对于万年历的需求也越来越多样化。
本次课程设计旨在实现一个自动万年历的功能,通过编程实现自动计算日期、星期和节假日等功能。
二、设计目标设计一个自动万年历的程序,实现以下功能:1.输入年份和月份,自动计算该月的日期信息;2.根据输入的日期,自动计算该日是星期几;3.判断输入的日期是否是法定假日,如春节、清明节等;4.根据输入的年份,自动计算该年的各个节假日日期。
三、设计思路3.1 输入年份和月份,自动计算日期1.根据输入的年份和月份,判断该年是否为闰年;2.根据月份判断该月的天数;3.输出该月的日期信息。
3.2 根据日期,自动计算星期1.判断输入的年份是否为闰年;2.计算该日的累计天数;3.判断累计天数对7取模的结果,得到星期。
3.3 判断输入日期是否为法定假日1.根据输入日期判断是否是法定假日,需根据法定假日的具体规定进行判断;2.输出判断结果。
3.4 根据年份,自动计算节假日日期1.根据公历计算的时间规律,计算出春节的日期;2.根据农历计算的时间规律,计算出农历节日的日期;3.输出计算结果。
四、详细设计4.1 输入年份和月份,自动计算日期1.首先通过输入函数获取用户输入的年份和月份;2.使用条件语句判断输入的年份是否为闰年,根据结果确定二月的天数;3.根据月份和上一步得到的天数,使用循环结构输出该月的日期信息。
4.2 根据日期,自动计算星期1.输入年份、月份和日期;2.使用条件语句判断输入的年份是否为闰年,根据结果确定二月的天数;3.根据输入的年、月、日,计算出累计天数;4.使用计算得到的累计天数对7取模,得到星期。
4.3 判断输入日期是否为法定假日1.定义法定假日的日期范围和名称;2.输入日期;3.对输入日期进行判断,判断是否在法定假日日期范围内;4.输出判断结果。
4.4 根据年份,自动计算节假日日期1.输入年份;2.根据公历的时间规律,计算出春节的日期;3.根据农历的时间规律,计算出农历节日的日期;4.输出计算结果。
万年历设计报告

万年历设计1、设计目的:1、学会对单片机外围电路的使用。
2、熟悉使用proteus电路仿真软件。
3、熟悉使用KILE C语言编程软件。
4、了解数字万年历的工作原理及其组成。
2、设计任务:1、显示年月日时分秒及星期信息2、具有可调整日期和时间功能3、增加闰年计算功能3、方案比较:用单片机设计电子时钟通常有两种方法:一是通过单片机内部的定时器或者计数器。
这种方法硬件线路简单,采用软件编程实现时钟计数,一般称为软时钟。
系统的功能一般与软件设计有关,通常用在对时间精度要求不高的场合;二是采用时钟芯片,它的功能强大,功能部件集成在芯片内部,自动产生时钟等相关功能。
硬件成本相对较高,软件编程简单。
通常使用在对时钟精度要求较高的场合。
本次设计采用第一种方法4、设计方案4.1 设计原理:本方案有的时间脉冲由单片机内部的定时器/计数器产生,所以硬件电路相对简单,由单片机产生时钟信号,通过程序分别产生年月日时分秒,同时可以区分闰年闰月,加送数码管显示,同时加上按键电路,可以对年月日时分秒进行调整,还有清零。
4.2硬件设计:图1如图1该电路由51单片机为核心,使用数码管显示,按键电路进行调整,考虑到单片机P0口的驱动能力不足的情况,使用上拉电阻提升驱动能力。
4.3软件设计:仿真开始,先初始化系统时间加送数码管显示,然后判断按键是否按下,如果按下,就表明要对时间进行调整,接下来则显示调整完的时间,如果没有按下,则显示初始时间。
5、设计结果图2如图2所示,数码管阵列第一列显示年月日,第二列显示时分秒,按键电路从上到下分别为复位,秒分时日月年的调整按键。
每当秒到60则分进位,同理,分满时进位,时满日进位,日满月进位,月满年进位,还可以区分闰年闰月。
6、总结和个人体验通过该课程设计很好的掌握了KILE,proteus两个和专业相关的软件,极大的拓宽了自己的知识宽度,期间产生的问题都与老师一起讨论得到了很好的解决,这对自己的问题阐述能力以及解决问题的能力都有很大的提升。
多功能数字万年历课程设计

系统的功能往往决定了系统采用的结构,经过成本,性能,功耗等多方面的考虑决定 用三个8位74LS164串行接口外接LED显示器,RESPACK-8对单片机AT89C51进行供电,时间芯片DS1302连接单片机AT89C51。从而实现电子万年历的功能。
2.2
单片机AT89C51
电容RESPACK-8
(2)AT89C51单片机
AT89C51单片机的主要特性如下:
与MCS-51产品指令系统完全兼容
4K字节的在线编程Flash存储器,1000次擦写周期
4.0~5.5V的工作电压范围
全静态工作模式:0~33MHz
三级程序存储器锁
128×8字节内部RAM
32个可编程I/O口线
2个16位定时/计数器
6个中断源
(3)在硬件设计时,结构要尽量简单实用、易于实现,使系统电路尽量简单。
(4)根据硬件电路图,在开发板上完成器件的焊接。
(5)根据设计的硬件电路,编写控制AT89C51芯片的单片机程序。
(6)通过编程、编译、调试,把程序下载到单片机上运行,并实现本设计的功能。
(7)在硬件电路和软件程序设计时, 主要考虑提高人机界面的友好性,方便用户操作 等因素。
设计原始资料
教材、元器件数据手册、网上相关资料
三、 设计完成后提交的文件和图表 文字部分:
一、设计思路、程序清单(可打印)、安装调试体会、经验、问题,总结 二、操作使用方法。
山东交通学院课程设计报告
图纸部分: 设计原理图、电路图、程序流程图,仿真调试过程抓图、正常工作图片
仿真环境下的可运行电子文档。以及上述文档的电子稿。
(1)MCS-51系列单片机
MCS-51系列单片机主要是指Intel公司生产的以51位内核的单片机芯片,具有8位CPU、4K字节ROM、128字节RAM、可扩展外部64K字节RAM和ROM、2个16位的定时器/计数器、4个8位并行I/O口、1个全双工串行I/O口、21字节的专用寄存器、5个中断 源、片内自带振荡器、片内单总线等功能部件。
课程设计___数字万年历(显示温度星期)

信息与电子工程学院课程设计报告目录一、课程设计概述 (3)1、课程设计背景 (3)2、课程设计内容 (3)二、方案的选择及确定 (3)2.1设计思路 (3)2.2设计方案 (3)2.3 方案比较论证 (3)三、系统硬件设计 (4)3.1总体硬件设计 (4)3.2 单片机主控制模块的设计 (4)3.3 时钟电路模块的设计 (5)3.4 温度采集模块设计 (6)3.5 功能按钮设计 (6)3.6 16*2 LCD1602液晶显示电路设计 (7)3.7总体电路图 (7)四、系统软件设计 (8)4.1 系统模块的功能分划分 (8)4.2 总体程序流程框图 (9)4.3 时钟调整时间的流程图 (9)4.4 修改键“UP”的功能流程图 (10)4.5温度转换流程图 (11)五、系统调试过程 (13)六、遇到的问题及解决方法/总结 (13)七、参考文献 (13)八、附录 (13)1、仪器与设备 (13)2、元器件清单 (14)3、原理图 (14)4、PCB图 (15)5、实物图 (15)6、操作说明书 (16)一、课程设计概述1、课程设计背景随着计算机技术的和控制系统的广泛应用,以及设备向小型化、智能化发展,单片机作为高新技术之一,以其体积小、功能强、价格低、使用灵活等优势,显示出了很强的生命力。
进入21世纪以来,开发推出单片机的公司很多,各种高性能单片机芯片市场异常活跃,新技术的不断采用,更加使单片机的种类、性能以及应用领域不断扩大和提高。
因其功耗低、超高型、低成本、功能完整,在国内越来越受到用户的重视和广泛使用。
2、课程设计内容要求设计的单片机作息时间控制钟完成以下功能:①实时显示当前温度;②实时显示当前时间;③实时显示当前日期;④能修改当前时钟二、方案的选择及确定2.1设计思路用STC89C52RC处理产生内部时钟数据或者读取外部时钟数据和采集外部传感器的信息进行处理,并暂时寄存在其内部的储存器中,再通过单片机调用内部RAM 的数据并送到LCD或者LED数码管上显示出来。
数字万年历课程设计

《数字万年历》学号:B10040221 姓名:李重阳本设计采用AT89C51和DS1302实时时钟芯片进行万年历电路设计和软件设计,该万年历能实现能够实现年、月、日、时、分的显示,也可以人为校正时间,初始时间:2000 01 01 12.00。
本次设计以12MHZ晶振与AT89C51相连,通过编程实现以24小时为一周期,利用单片机的定时器和计数器产生定时效果,通过编程产生数字时钟效果,然后用数码管动态扫描显示内部处理的数据。
通过端口读入当前外部控制状态来改变程序的不同状态从而实现不同功能。
本次万年历设计以单片机为核心软硬件结合,使硬件部分大为简化,也提高了系统的稳定性。
一.方案的确定1.1单片机芯片的选择方案采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容1.2显示方案硬件方案:采用51单片机作为核心控制单元,采用7SEG-MPX6对时间进行显示,同时为了节省I/O口线采用MAX7221,方案设计的电路图如下图所示:1.3时钟芯片的选择方案采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高, RAM 做为数据暂存区,工作电压2.5V ~5.5V 范围内,2.5V 时耗电小于300nA 。
二.系统的硬件设计与实现2.1电路设计框图:2.2主要单元电路的设计2.2.1单片机主控制模块的设计MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。
单片机的最小系统如下图所示,2.2.2时钟电路模块的设计下图为DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。
在主电源关闭的情况下,也能保持时钟的连续运行。
DS1302由Vcc1或Vcc2两者中的较大者供电。
万年历课程设计

万年历课程设计一、课程目标知识目标:1. 学生能理解万年历的基本概念,掌握年、月、日的关系及其计算方法。
2. 学生能运用所学知识,制作并解释简单的阴阳历、阳历和阴历。
3. 学生能通过实例分析,了解不同文化背景下时间记录方式的异同。
技能目标:1. 学生能够运用万年历知识,解决生活中的实际问题,如日期推算、节日计算等。
2. 学生通过小组合作,提高沟通协调能力,共同完成万年历的制作。
3. 学生能够运用信息技术,收集、整理万年历相关资料,提高信息处理能力。
情感态度价值观目标:1. 学生培养对时间管理的重视,养成珍惜时间、合理安排时间的良好习惯。
2. 学生通过学习不同文化背景下的时间记录方式,增强对多元文化的尊重和理解。
3. 学生在合作探究过程中,培养团队协作精神,提高问题解决能力和自信心。
课程性质:本课程为实践性、综合性课程,结合数学、历史、文化等多学科知识,旨在培养学生的综合素质。
学生特点:六年级学生具备一定的数学基础和动手操作能力,对新鲜事物充满好奇,善于合作交流。
教学要求:注重理论与实践相结合,以学生为主体,激发学生兴趣,引导学生主动探究,培养学生的实践能力和创新精神。
通过课程目标的分解,使学生在学习过程中达到预期的学习成果,为后续教学设计和评估提供依据。
二、教学内容1. 万年历的基本概念- 日期的组成:年、月、日- 阴阳历、阳历、阴历的定义及特点2. 年月日的关系及计算- 平年、闰年的判断- 月份数与天数的对应关系- 日期推算方法3. 不同文化背景下时间记录方式- 我国古代的时间记录方法- 西方阳历的发展及现行公历- 世界各地阴历的运用4. 万年历的制作与应用- 制作方法:手工绘制与电子表格- 实际应用:节假日计算、纪念日查询等5. 教学内容的安排与进度- 第一课时:万年历的基本概念,日期的组成- 第二课时:年月日的关系及计算方法- 第三课时:不同文化背景下时间记录方式- 第四课时:万年历的制作与应用,实践操作教学内容依据课程目标,结合教材章节进行组织,确保科学性和系统性。
11数字万年历的设计

(3)功能模块应有详细注释。
4.调试并排错,包括硬件电路和软件编程部分的错误。
5.写出完整的课程设计总结报告,并按时提交。
6.不允许抄袭,否则取消设计成绩。
4.主要参考文献北京航空航天大学出版社.2004.6.
2.王幸之等.单片机应用系统抗干扰技术.北京航空航天大学出版社.2000.2.
06月26日~06月29日
06月30日
下达任务书,任务布置及设计要求说明
查阅材料,方案设计;
完成设计初稿
仿真、调试
答辩、成绩考核
教研室主任审查意见:
负责人签字:
年月日
皖西学院
课程设计任务书
系别:
机电学院
专业:
09电信
学生姓名:
学号:
课程设计题目:
数字万年历的设计
起迄日期:
2012年06月03日~2012年06月17日
课程设计地点:
指导教师:
杜成涛
下达任务书日期: 2012年06月03日
课程设计任务书
1.本次课程设计应达到的目的:
微机应用课程设计是电子信息科学与技术专业本科生重要的实践性教学环节,在学习了预修课程的基础上,综合运用各种所学知识,通过学生独立进行某一课题的设计和调试,理解和掌握相关微机应用设计和调试方法,初步掌握微机应用系统的设计方法和步骤,培养独立思考,深入研究,分析问题、解决问题的能力。
3.赵广林编著.轻松跟我学Protel 99SE电路设计与制版.电子工业出版社. 2005.
4.李长林. Visual Basic串口通信技术与典型实例[M].北京:清华大学出版社2006.
5.求是科技编著.单片机典型模块设计实例导航[M].人民邮电出版社, 2004
课程设计说明万年历程序设计

《高级语言程序设计》课程设计说明书设计题目:万年历程序设计班级:学号:姓名:完成日期:一:课程设计目的《高级语言程序设计》课程设计是电子信息、光信息专业和物理学专业集中实践性环节之一,是学习完《高级语言程序设计》课程后进行的一次全面的综合练习,其目的在于加深对程序设计大体知识的明白得,把握利用C语言进行模块化软件设计的大体方式,提高通过编写程序解决实际问题的能力,为尔后从事设计工作和后续各类编程课程的学习打好基础。
二:需求分析题目:要求:输入年份和月份,自动输出该月的日历,清楚的显示每一天是礼拜几,输入年份,月份和具体日期能确信某天是礼拜几。
万年历是采纳数字电路实现对.时,分,秒.数字显示的计时装置,普遍用于个人家庭,车站, 码头办公室等公开场合,成为人们常生活中不可少的必需品,由于数字集成电路的进展和石英晶体振荡器的普遍应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如按时自动报警、按时自动打铃、时刻程序自动操纵、按时广播、自动起闭路灯、按时开关烘箱、通断动力设备、乃至各类按时电气的自动启用等,可是所有这些,都是以钟表数字化为基础的。
因此,研究万年历及扩大其应用,有着超级现实的意义。
它能够对年、月、日、周日、时、分、秒进行计时,关于数字电子万年历采纳直观的数字显示,能够同时显示年、月、日、周日、时、分、秒等信息,还具有时刻校准等功能。
综上所述此万年历具有读取方便、显示直观、功能多样、电路简练、本钱低廉等诸多优势,符合电子仪器仪表的进展趋势,具有广漠的市场前景。
三:概要设计1-判定是不是为闰年计算所输入的年份是不是可被4整除,假设不能被整除,为平年。
假设可被4整除,计算此年份可否被100整除,不能被100整除那么为闰年。
既能被4整除,也能被100整除的年份,假设也能被400整除,那么为闰年,不然为平年。
闰年366天,平年365天2-要紧设计思路四:详细设计源程序:#include <stdio.h> #include <stdlib.h>void DayOfWeek(){int rtnDay;int y,m,d;char ch;while (1){printf("请输入年月日(xxxx,xx,xx): ");scanf("%d,%d,%d", &y, &m, &d);fflush(stdin);rtnDay =(3*y-(7*(y+(m+9)/12))/4+(23*m)/9+d+17-((y+(m<3?-1:0))/100+1)*3/4) % 7; printf("%04d年%02d月%02d日是礼拜%d\n", y, m, d, rtnDay?rtnDay:7); printf("继续查询(y/n)");ch = getchar();if(ch != 'y' && ch != 'Y')break;}}void GetMonth(int D, int md, int n){int N ,m,d,y,c,Wd;int i,maxday,i1;if(md>=13||md<=0)printf("HAVE WRONG!");else{for(i1=0;;md++,i1++){if(md==0){md=12;D-=1;}elseif(md==13){md=1;D+=1;}m=md;printf("\n============%d,%2d============\n",D,md);if(0<m&&m<=12){switch(m){case 1:maxday=31;break;case 2:if(D%4==0&&D%100!=0||D%400==0) maxday=29;elsemaxday=28;break;case 3:maxday=31;break;case 4:maxday=30;break;case 5:maxday=31;break;case 6:maxday=30;break;case 7:maxday=31;break;case 8:maxday=31;break;case 9:maxday=30;break;case 10:maxday=31;break;case 11:maxday=30;break;case 12:maxday=31;break;default:printf("HAVE WRONG");}if(0<m&&m<=2){N=D-1;m=m+10;}else{N=D;m=m-2;}c=N/100;y=N%100;Wd=((1+(13*m-1)/5+y+y/4+c/4-2*c)%7+7)%7; printf(" SUN MOU TUE WED TUR FRI SAT\n"); for(i=0;i<Wd;i++)printf("%4c",' ');for(d=1;d<=maxday;d++){printf("%4d",d);Wd=(Wd+1)%7;if(Wd==0)printf("\n");}}elseprintf("HAVE WRONG!");if(i1==n)break;}}}void MonthOfYear(){char ch;int y, m;while (1){printf("请输入年月(xxxx,xx): "); scanf("%d,%d", &y, &m);fflush(stdin);GetMonth(y, m, 0);printf("\n继续查询(y/n)");ch = getchar();if(ch != 'y' && ch != 'Y')break;}}void GetYear(){char ch;int y;while (1){printf("请输入年: ");scanf("%d", &y);fflush(stdin);GetMonth(y, 1, 11);printf("\n继续查询(y/n)");ch = getchar();if(ch != 'y' && ch != 'Y')break;}}int main(){char ch;while(1){system("cls");printf("1.查询礼拜\n");printf("2.查询月份\n");printf("3.显示一年\n");printf("4.退出程序\n");ch = getchar();fflush(stdin);switch(ch){case '1':DayOfWeek();break;case '2':MonthOfYear();break;case '3':GetYear();break;case '4':printf("是不是退出(y/n)");ch = getchar();fflush(stdin);if(ch == 'y' || ch == 'Y')exit(0);break;}}}五:运行成效及分析1 登录界面输入3,通过输入年份可显示一年每一个月份的日历;输入2,通过输入年份和月份(中间以空格分开)可显示该月的日历;假设输入1,通过输入年份月份和日期(中间以逗号分开)可显示该日的礼拜;输入4,那么退出查询系统2查询礼拜输入1后回车,然后输入具体的年月日可查出该天为礼拜几3查询月历输入2回车,然后输入年月可显示该月月历4显示一年输入3后回车,输入一个有效年份可显示该年的十二个月的月历。
c万年历课程设计

c万年历课程设计一、课程目标知识目标:1. 学生能理解万年历的基本概念,掌握年、月、日的关系及其换算方法。
2. 学生能运用所学的数学知识,编写简单的万年历程序,计算任意日期是星期几。
3. 学生了解历法的起源和发展,理解我国农历与公历的区别和联系。
技能目标:1. 学生通过编写万年历程序,提高编程能力和逻辑思维能力。
2. 学生能够运用万年历知识解决实际问题,如计算节日日期、安排活动等。
3. 学生学会查阅相关资料,培养自主学习能力和合作精神。
情感态度价值观目标:1. 学生对万年历产生兴趣,激发学习数学和编程的热情。
2. 学生通过了解历法的发展,增强对传统文化的认识,培养民族自豪感。
3. 学生在合作学习中,学会尊重他人,培养团队协作意识。
本课程旨在结合学生年级特点,以提高学生的数学应用能力和编程技能为核心,通过万年历的学习,使学生在掌握知识的同时,培养良好的学习态度和价值观。
课程目标具体、可衡量,为教学设计和评估提供明确方向。
二、教学内容1. 万年历的基本概念:年、月、日的关系,闰年的判断方法,星期计算。
2. 编写万年历程序:流程图设计,算法实现,调试与优化。
3. 历法的起源与发展:古代历法,农历与公历的转换,二十四节气。
4. 实践应用:计算特定日期的星期,安排节日活动,了解历史上的今天。
教学大纲:第一课时:万年历的基本概念,闰年的判断方法,星期计算。
第二课时:编写万年历程序,学习流程图设计,实现基本算法。
第三课时:历法的起源与发展,了解农历与公历的转换,学习二十四节气。
第四课时:实践应用,解决实际问题,如计算节日日期,了解历史上的今天。
教学内容依据课程目标,结合课本章节,保证科学性和系统性。
通过以上安排,使学生掌握万年历相关知识,提高编程技能,并培养对传统文化的认识。
三、教学方法本课程采用以下多样化的教学方法,旨在激发学生的学习兴趣,提高主动性和参与度:1. 讲授法:教师通过生动的语言和形象的比喻,讲解万年历的基本概念、历法的发展和算法原理,为学生奠定坚实的理论基础。
万年历课程设计

万年历课程设计一、课程目标知识目标:1. 学生能够理解万年历的基本概念,掌握年、月、日的关系及其换算方法。
2. 学生能够运用所学的知识,制作并解释简单万年历,了解闰年和平年的判断规则。
3. 学生能够解释生活中的时间单位,如时、分、秒,并掌握它们之间的换算。
技能目标:1. 学生通过实际操作,学会制作和应用简单万年历,提升解决问题的能力和动手实践能力。
2. 学生能够运用万年历进行日期查询和推算,增强逻辑思维和计算能力。
3. 学生通过合作交流,提高表达和沟通能力,培养团队协作精神。
情感态度价值观目标:1. 学生培养对时间管理和计划安排的意识,养成珍惜时间、合理规划的好习惯。
2. 学生在学习过程中,体验探索和发现的乐趣,激发对自然科学和数学的兴趣。
3. 学生通过了解不同文化背景下的时间观念,增强跨文化理解和尊重多元文化的态度。
课程性质:本课程以实践性、探究性和趣味性为主要特点,结合数学、自然科学和社会文化知识,帮助学生建立时间观念,提高综合运用知识的能力。
学生特点:考虑到学生的年级特点,课程设计将注重直观演示和实际操作,以激发学生的兴趣和好奇心,同时结合学生的认知水平,逐步引导他们掌握万年历的制作和应用。
教学要求:教师在教学过程中,应关注学生的个体差异,提供个性化的指导和支持。
课程设计应注重培养学生的动手能力、逻辑思维能力和团队协作能力,确保学生能够达到预定的学习目标。
二、教学内容1. 年、月、日的概念及其关系- 介绍年、月、日的定义和相互关系。
- 年份的种类:闰年和平年的区别及判断方法。
2. 万年历的制作原理- 探索如何将日历与天文数据相结合,介绍格里高利历的基本原理。
- 学习如何通过计算确定每个月的天数,以及如何安排闰年的2月。
3. 日期的换算与查询- 学习日期的换算方法,如年与日、日与星期等。
- 实践操作:使用万年历进行日期查询和推算。
4. 实际应用与时间管理- 讨论如何利用万年历进行时间规划和管理。
电子信息工程之数字万年历课程设计方案

电子信息工程之数字万年历课程设计方案目录1、系统概述 (5)2、系统硬件设计 (5)2.1单片机控制系统原理 (5)2.2 硬件的设计总框图 (6)2.3 各种功能模块硬件设计及实现 (6)2.3.1 、AT89S52单片机 (7)2.3.2、DS1302实时时钟芯片 (10)2.3.3、温度模块 (13)2.3.4、1602液晶显示器 (15)3、系统程序设计 (18)3.1主程序流程图 (18)3.2中断服务流程图 (19)3.3程序 (21)设计总结 (41)参考文献 (42)附录 (43)1、系统概述本设计主要分为硬件电路设计和软件实现两大部分。
硬件电路设计采用模块设计:中央处理电路、时钟电路、温度测量电路三大部分;软件采用C语言编程实现,设计采用按功能模块划分,包括:主程序、显示程序、温度测量程序、时钟程序等。
在中央处理器上我们采用MCS-51单片机,该单片机是集CPU ,RAM ,ROM ,计数和多种接口于一体的微控制器。
自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注。
它体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易,广泛应用于智能生产和工业自动化上。
在时间功能上主要依靠实时时钟芯片DS1302来完成大部分功能,DS1302是具有涓细电流充电能力的低功耗实时时钟电路,它以其接口简单、价格低廉、使用方便,被广泛地采用。
它的主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。
采用普通32.768kHz晶振。
所以用此款芯片来实现时间功能是完全能满足电路的要求。
温度方面工作由数字式温度传感器DS18B20来完成,这款温度传感器是具有线路简单,体积小,方便易用等特点,温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出。
万年历课程设计报告

万年历课程设计报告一、课程目标知识目标:1. 学生能够理解万年历的基本概念,掌握年、月、日的关系及其换算方法。
2. 学生能够运用所学知识,独立制作并使用简易的万年历。
3. 学生了解我国农历与公历的区别及相互转换方法。
技能目标:1. 培养学生运用数学知识解决实际问题的能力,提高逻辑思维和推理能力。
2. 培养学生动手操作和团队协作能力,通过制作万年历的过程,锻炼实践操作技能。
情感态度价值观目标:1. 培养学生对时间管理的重视,树立珍惜时间的观念。
2. 增强学生对传统文化的认识,激发对中国古代天文历法的兴趣。
3. 培养学生积极探究、合作交流的良好学习态度,提高学习自信心。
课程性质分析:万年历课程属于数学与生活相结合的综合性课程,旨在让学生在实际问题中运用数学知识,提高解决实际问题的能力。
学生特点分析:考虑到学生所在年级的特点,课程内容应以直观、生动、有趣的方式进行设计,注重培养学生的动手操作能力和团队协作精神。
教学要求:1. 教师应充分准备教学资源,提供丰富的实例,引导学生主动参与学习过程。
2. 教学过程中,教师要以学生为主体,关注学生的个体差异,给予个性化指导。
3. 教师要关注学生的学习反馈,及时调整教学策略,确保课程目标的达成。
二、教学内容1. 年、月、日的关系及其换算方法- 公历与农历的基本概念- 年、月、日的定义及其相互关系- 闰年和平年的判断方法2. 简易万年历的制作- 万年历的基本结构- 制作步骤及注意事项- 万年历的使用方法3. 我国农历与公历的转换方法- 农历与公历的对应关系- 农历日期的推算方法- 二十四节气的计算与应用教学大纲安排:第一课时:导入万年历的概念,介绍年、月、日的关系及其换算方法,讲解闰年和平年的判断方法。
第二课时:指导学生动手制作简易万年历,掌握万年历的基本结构和使用方法。
第三课时:学习我国农历与公历的转换方法,了解二十四节气的计算与应用。
教材章节:《数学》教科书:第四章 时间与测量,第四节 万年历的制作与应用。
大班数学教案认识万年历

大班数学教案认识万年历一、引言本教案旨在帮助大班幼儿认识并理解万年历的基本概念和使用方法。
通过活动的设计,幼儿可以在实践中探索并掌握万年历的相关知识,培养他们的数字概念和时间观念。
二、活动目标1.培养幼儿对时间的敏感性和时间观念。
2.让幼儿了解并运用万年历来读取日期信息。
3.培养幼儿的观察、思维和判断能力。
三、活动准备1.适量的大型万年历。
2.幼儿专用的小型万年历,每个幼儿一份。
3.彩色纸和颜色笔。
4.游戏卡片,上面分别写有星期一至星期日。
四、活动步骤1.简单介绍万年历的基本概念和功能。
–万年历是一种记录日期和星期的工具,在日常生活中被广泛使用。
–万年历通常以一年为周期,记录了每天的日期和对应的星期。
2.给每位幼儿发放小型万年历,让他们观察并理解。
–幼儿可以通过观察小型万年历来学习月份的顺序、每个月有多少天,以及星期是如何循环的。
3.引导幼儿探索万年历的日期读取方法。
–利用大型万年历,教师根据日期向幼儿提问,例如:今天是几号?下个星期二是几号?–幼儿根据问句,使用小型万年历上的信息来回答。
4.进行日历上的日期填写练习。
–教师发放彩色纸和颜色笔给每个幼儿,让他们根据指导在彩色纸上模拟绘制一个日期格子,例如绘制1号,4号等。
–幼儿可以通过观察大型万年历,确定日期格子的位置。
5.游戏时间:找星期几!–将游戏卡片分发给每个幼儿,让他们根据卡片上的信息找到对应的日期和星期。
–幼儿可以通过小型万年历的帮助来确定正确的答案。
6.整理活动及总结。
–教师引导幼儿回顾整个活动的内容和所学知识。
–鼓励幼儿提出问题,解答疑惑,并与他们分享一些与日历相关的有趣事实。
五、教学反思通过本次活动,幼儿能够通过观察和实践,掌握使用万年历读取日期和星期的基本方法。
同时,通过游戏和绘制日期格子的练习,加深了他们对万年历的理解和记忆。
在今后的日常生活中,幼儿能够更好地应用所学的知识,提高他们的时间观念和数字概念。
六、延伸活动1.利用万年历进行每日日期表演,让幼儿当“月份导演”,按照大班每个幼儿的生日,指导其他幼儿找到对应的日期格子。
c万年历课程设计

c 万年历课程设计一、课程目标知识目标:1. 学生能够理解万年历的基本概念,掌握年、月、日之间的关系。
2. 学生能够运用数学知识,进行日期的计算和推算。
3. 学生能够了解不同历法的起源和发展,认识我国农历的特色。
技能目标:1. 学生能够运用所学知识,制作简单的万年历。
2. 学生能够通过观察、分析、推理等方法,解决日期计算问题。
3. 学生能够运用信息技术,查找历法相关资料,提高信息处理能力。
情感态度价值观目标:1. 学生培养对时间观念的尊重,养成珍惜时间的良好习惯。
2. 学生通过学习万年历,增强对我国传统文化的认同感。
3. 学生在学习过程中,培养合作意识,提高团队协作能力。
课程性质:本课程为数学学科拓展课程,结合实际生活,培养学生的实际应用能力。
学生特点:四年级学生具有较强的观察、分析、推理能力,对新鲜事物充满好奇心。
教学要求:注重理论与实践相结合,鼓励学生主动探究,充分调动学生的学习积极性。
在教学过程中,关注学生的个体差异,因材施教,确保每个学生都能达到课程目标。
通过课程学习,使学生能够将所学知识运用到实际生活中,提高综合素养。
二、教学内容1. 年、月、日的基本概念及关系- 介绍公历、农历的年份、月份、日期的表示方法。
- 讲解平年、闰年的判断方法及其意义。
2. 日期的计算与推算- 掌握日期推算的基本方法,如加减法、乘除法等。
- 引导学生运用所学知识,解决实际问题,如计算某人生日是星期几。
3. 历法的起源与发展- 简要介绍世界主要历法的发展历程。
- 着重讲解我国农历的起源、特点及其在生活中的应用。
4. 制作简单万年历- 教授制作方法,引导学生运用所学知识,动手制作属于自己的万年历。
- 选取合适的教学案例,展示万年历在实际生活中的应用。
5. 教学内容的安排与进度- 第一章节:年、月、日的基本概念及关系(1课时)- 第二章节:日期的计算与推算(2课时)- 第三章节:历法的起源与发展(1课时)- 第四章节:制作简单万年历(2课时)教学内容与教材关联性:本教学内容紧密围绕课程目标,结合教材相关章节,确保教学内容的科学性和系统性。
万年历c语言课程设计

万年历c语言课程设计一、课程目标知识目标:1. 让学生掌握C语言中结构体和指针的基本概念及应用。
2. 使学生理解万年历的核心算法,包括日期的存储、计算及显示。
3. 帮助学生掌握如何使用C语言进行简单的文件操作。
技能目标:1. 培养学生运用结构体和指针进行数据组织的能力。
2. 培养学生利用循环和判断语句进行逻辑处理的能力。
3. 提高学生利用C语言解决实际问题的编程能力。
情感态度价值观目标:1. 培养学生对编程的兴趣和热情,增强其学习动力。
2. 培养学生团队协作和沟通能力,使其在合作中共同解决问题。
3. 培养学生面对问题时的耐心和毅力,树立正确的价值观。
课程性质:本课程为C语言程序设计实践课,强调理论与实践相结合,培养学生的编程能力和实际应用能力。
学生特点:学生已经具备一定的C语言基础,了解基本语法和编程思路,但对结构体、指针等高级概念掌握不牢,需要通过实践加深理解。
教学要求:教师应注重引导学生运用所学知识解决实际问题,关注学生个体差异,提供个性化指导,确保学生在课程中学有所得。
通过本课程的学习,将目标分解为具体的学习成果,为后续的教学设计和评估提供依据。
二、教学内容1. 结构体和指针的概念与应用- 结构体定义和使用- 指针的基本概念和操作- 结构体指针及用法2. 万年历核心算法- 日期的存储与计算- 判断闰年的方法- 星期计算算法3. C语言文件操作- 文件的打开与关闭- 文件读写操作- 文件错误处理4. 万年历程序设计- 界面设计及用户交互- 功能模块划分与实现- 程序调试与优化教材章节关联:1. 结构体与指针:参考教材第3章“复合数据类型”和第4章“指针”。
2. 核心算法:结合教材第6章“控制语句”和第7章“函数”。
3. 文件操作:参考教材第8章“文件”。
4. 程序设计:综合运用教材第1章至第8章的知识点。
教学进度安排:1. 结构体和指针(2课时)2. 万年历核心算法(3课时)3. C语言文件操作(2课时)4. 万年历程序设计(4课时)三、教学方法本课程采用以下教学方法,旨在激发学生学习兴趣,提高教学效果:1. 讲授法:- 对于结构体、指针等基本概念和理论,采用讲授法进行教学。
KS-002 数字万年历-课程设计报告

课程名称:微机原理课程设计题目:万年历随着电子技术的迅速发展,特别是随大规模集成电路出现,给人类生活带来了根本性的改变。
由其是单片机技术的应用产品已经走进了千家万户。
电子万年历的出现给人们的生活带来的诸多方便。
本文首先描述系统硬件工作原理,并附以系统结构框图加以说明,着重介绍了本系统所应用的各硬件接口技术和各个接口模块的功能及工作过程,其次,详细阐述了程序的各个模块和实现过程。
本设计以数字集成电路技术为基础,单片机技术为核心。
本文编写的主导思想是软硬件相结合,以硬件为基础,来进行各功能模块的编写。
本设计是一种基于STC89C51单片机控制,DS1302报时的数字时钟设计。
它具有多项显示和控制功能。
能用LCD实时显示当前年、月、日、星期、时间;可对时间进行调整;具有调整时间和日期功能。
本设计通过一个基于单片机的能实现万年历功能电子时钟的设计,从而达到学习、了解单片机相关指令在各方面的应用。
系统由主控制器AT89C51、时钟电路DS1302、显示电路、按键电路和复位电路等部分构成,能实现时钟日历显示的功能,能进行时、分、秒的显示。
关键词:STC89C52单片机、LCD液晶显示、DS1302时钟芯片一、设计任务与要求 ........................................................................... - 4 -1.1 设计任务 .................................................................................................... - 4 -1.2 设计要求 .................................................................................................... - 4 -1.3 发挥部分 .................................................................................................... - 4 -二、方案总体设计 ........................................................................................... - 5 -2.1 显示部分 .................................................................................................... - 5 -2.2 时钟信号的选择 ........................................................................................ - 5 -2.3 总体方案 .................................................................................................... - 5 -三、硬件设计 ....................................................................................... - 7 -3.1 单片机最小系统 ........................................................................................ - 7 -3.2 DS1302时钟电路 ..................................................................................... - 10 -3.3 LCD液晶显示模块.................................................................................. - 11 -3.4 按键电路 .................................................................................................. - 12 -3.5 电源指示灯部分 ...................................................................................... - 14 -四、软件设计 ..................................................................................... - 15 -4.1 主程序流程图显示 .................................................................................. - 15 -4.2 时间设定程序流程图 .............................................................................. - 16 -五、系统仿真与调试 ......................................................................... - 17 -5.1 Proteus仿真软件简介 ............................................................................. - 17 -5.2 仿真及实物 .............................................................................................. - 18 -六、设计总结 ..................................................................................... - 20 -七、参考文献 ..................................................................................... - 21 -一、设计任务与要求1.1 设计任务基于52单片机的DS1302万年历;1.2 设计要求基于52单片机,利用DS1302时钟芯片生成万年历,使用液晶显示年月日时分秒,显示值可通过按键修改。
课程设计万年历

课程设计万年历一、课程目标知识目标:1. 学生能理解万年历的概念,掌握年、月、日的关系及其换算方法。
2. 学生能运用所学知识编制简单的万年历,并能够识别各类历法的基本特点。
3. 学生了解中国农历的历史及基本使用方法,增进对传统文化的理解。
技能目标:1. 学生通过动手制作万年历,提高观察、分析、解决问题的实践能力。
2. 学生能够运用万年历进行时间计算,提升生活实用技能。
3. 学生通过合作交流,培养团队协作能力和沟通技巧。
情感态度价值观目标:1. 学生培养对时间管理的重视,树立珍惜时间的观念。
2. 学生在学习过程中,体验探索的乐趣,增强对科学的热爱和求知欲。
3. 学生通过了解和制作中国农历,培养对传统文化的尊重和传承意识。
课程性质:本课程为综合实践活动课程,结合数学、历史及传统文化知识,注重实践性和应用性。
学生特点:考虑到学生所在年级,已有一定的数学基础和时间概念,好奇心强,喜欢动手操作,对传统文化有一定的兴趣。
教学要求:课程设计需注重理论与实践相结合,鼓励学生主动参与,注重培养学生解决问题的能力和团队合作精神。
通过课程学习,使学生将知识内化为具体的学习成果,提高综合素养。
二、教学内容1. 引言:介绍万年历的概念、作用及其在生活中的重要性。
2. 知识讲解:- 公历与农历的起源及发展历程。
- 年、月、日的定义及其关系。
- 闰年和平年的判断方法。
- 农历与24节气的联系。
3. 实践操作:- 制作简易的万年历,包括公历和农历的转换。
- 学习如何根据农历推算节气,了解农事活动的安排。
- 分析万年历中的数学规律,提高学生观察和推理能力。
4. 案例分析:- 选取具有代表性的农历案例,如春节、中秋节等,分析其文化内涵。
- 通过实际案例,让学生了解历法在历史长河中的作用和影响。
5. 文化传承:- 介绍中国农历的传统习俗和民间故事,增进学生对传统文化的了解。
- 讨论如何将传统文化与现代生活相结合,弘扬民族精神。
教学内容安排与进度:第一课时:引言、知识讲解(1-2点)第二课时:知识讲解(3-4点)、实践操作(1)第三课时:实践操作(2-3)、案例分析(1)第四课时:案例分析(2)、文化传承教材章节关联:《数学》:年月日及其换算、周期问题《历史与社会》:中国传统节日、文化习俗《综合实践活动》:时间管理、历法制作与应用三、教学方法1. 讲授法:- 对于万年历的基础知识,如年、月、日的换算关系以及历法的起源等理论性较强的内容,采用讲授法进行教学,使学生在短时间内掌握基本概念。
数字万年历课程设计

淮海工学院测控技术与仪器专业专业综合课程设计报告书题目:数字万年历设计班级:测控 091 姓名:唐朝学号: 030915127目录1 引言 (3)2 电子技术的发展与需求 (4)2.1电子技术的发展 (4)2.2 万年历的需求分析 (4)3 电子时钟系统设计思路 (5)3.1 设计要求 (5)3.2 硬件电路设计 (5)3.3 工作原理 (5)4 系统的硬件设计与实现 (7)4.1 系统电路示意图 (7)4.2 驱动电路 (7)4.3 时钟控制电路 (8)4.4 所需主要器件 (9)4.5系统硬件概述 (9)4.5.1 电阻: (9)4.5.2 电容: (9)4.5.3 电容发光二极管: (10)4.5.4 三极管 (11)4.5.5 稳压器7805 (12)4.5.7 数码管: (16)4.5.8 芯片T2518DD3: (17)4.5.9 晶振(32.768khz ): (20)4.5.10 微动开关: (20)4.5.11 喇叭: (21)5 系统的软件设计 (21)5.1 程序流程框图 (21)5.2 程序设计 (23)6 安装与调试 (29)6.1 安装 (29)6.2 调试 (30)6.3软、硬件测试 (30)6.3.1硬件测试 (30)6.3.2软件测试 (31)6.4测试结果分析与结论 (31)6.4.1 测试结果分析 (31)6.4.2 测试结论 (31)7 总结 (32)参考文献 (33)1 引言单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置到飞机上的各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡等,这些都离不开单片机。
单片机是集CPU、RAM、ROM、定时、计数和多种接口于一体的微控制器。
它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。
数字万年历在日常生活中最常见,应用也最广泛。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数字万年历》课程设计报告专业:自动化班级:*****姓名:*****指导老师:*****二零一一年六月摘要在当代繁忙的工作与生活中,时间与我们每个人都有非常密切的关系,每个人都被时间影响着,我们必须对时间有个度量,因此设计万年历来记录时间,本设计采用AT89C51和DS1302实时时钟芯片进行万年历电路设计和软件设计,该万年历能实现能够实现年、月、日、时、分的显示,也可以人为校正时间,初始时间:2000 01 01 12.00。
本次设计以12MHZ晶振与AT89C51相连,通过编程实现以24小时为一周期,利用单片机的定时器和计数器产生定时效果,通过编程产生数字时钟效果,然后用数码管动态扫描显示内部处理的数据。
通过端口读入当前外部控制状态来改变程序的不同状态从而实现不同功能。
本次万年历设计以单片机为核心软硬件结合,使硬件部分大为简化,也提高了系统的稳定性。
关键词:万年历单片机DS1302目录一、方案的确定 (3)1.1单片机芯片的选择方案 (3)1.2显示方案 (3)1.3时钟芯片的选择方案 (5)二、系统的硬件设计与实现 (6)2.1电路设计框图 (6)2.2主要单元电路的设计 (7)2.2.1单片机主控制模块的设计 (7)2.2.2时钟电路模块的设计 (8)三、系统的软件设计 (9)3.1程序流程框图 (9)3.1.1电子时钟计算程序图 (10)3.1.2调整流程图 (11)3.2程序设计 (12)四、致谢词 (15)参考文献 (15)附录:proteus仿真图 (16)一.方案的确定1.1单片机芯片的选择方案方案1:采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,实验室学生用的较多的也较为熟悉的处理单元。
方案2:采用AT89S52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,但AT89S52性价比不高。
所以选择采用89C51作为主控制系统。
1.2显示方案方案一:硬件方案:采用51单片机作为控制单元,显示器采用6位LED数码管(共阳),可分别显示时间或日期;(通过KB键可切换),显示器的驱动采用动态扫描电路形式。
所需的驱动电流比静态驱动时要大,因此要增加驱动电路。
可采用74LS244或者晶体管;其中74ls244是用来驱动段选码,晶体管是驱动位选码。
软件方案:“时钟”基准时间由单片机内部定时中断来提供,定时时间应该乘以一个整数得到“秒”,且不宜太长或太短,最长不能超过16位定时器的最长定时时间,最短不能少于定时中断服务程序的执行时间。
一般来说,基准时间越短,越有利于提高时钟运行的精确度。
本实验定时5ms乘以一个整数200得到1秒,用一个计数器(R4)对定时中断的次数进行计数,从而可以实现“秒”定时,同理可以实现“分”定时和“时”定时,甚至于“日”、“月”、“年”定时。
设计电路图如下图所示:方案二:硬件方案:同样采用51单片机作为核心控制单元,采用7SEG-MPX6对时间进行显示,同时为了节省I/O口线采用MAX7221,软件方案:由于此方案也是采用51单片机作为控制单元,软件方案同方案一。
方案二设计的电路图如下图所示:从电路图可以看出显示方案二比方案一要简单得多,看起来直观,硬件连接也相对容易,出错的几率也小得多。
因此采用方案二作为显示模块。
1.3时钟芯片的选择方案方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。
采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。
所以不采用此方案。
方案二:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V~5.5V范围内,2.5V时耗电小于300nA。
二.系统的硬件设计与实现2.1电路设计框图:2.2主要单元电路的设计2.2.1单片机主控制模块的设计MCS-51单片机共有4个8位的I/O 口(P0、P1、P2、P3),每一条I/O 线都能独立地作输出或输入。
单片机的最小系统如下图所示,2.2.2时钟电路模块的设计下图为DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。
在主电源关闭的情况下,也能保持时钟的连续运行。
DS1302由Vcc1或Vcc2两者中的较大者供电。
X1和X2是振荡源,外接32.768KHz 晶振。
RST 是复位/片选线,通过把RST 输入驱动置高电平来启动所有的数据传送。
RST 输入有两种功能:首先,RST 接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST 提供终止单字节或多字节数据的传送手段。
当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。
如果在传送过程中RSTS置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。
上电动行时,在Vcc大于等于2.5V之前,RST必须保持低电平。
中有在SCLK 为低电平时,才能将RST置为高电平,I/O 为串行数据输入端(双向)。
SCLK始终是输入端。
三、系统的软件设计3.1程序流程框图3.1.1电子时钟计算程序图3.1.2调整流程图3.2程序设计根据流程图的思路采用汇编语言编写程序,程序代码如下:DSRST BIT P1.0DSCLK BIT P1.1DSIO BIT P2.2DIN BIT P2.5CS BIT P2.6CLK BIT P2.7D158 EQU 30HD70 EQU 31HADDRESS EQU 32hCONTENT EQU 33hCOMMAND EQU 34hSECOND equ 35hMINITE equ 36hHOUR equ 37hORG 0000HLJMP MAINORG 0030HMAIN: LCALL INTI7221LCALL INTI1302LOOP: LCALL READ1302LCALL CONVERTLCALL DELAYLCALL DISPLAYLCALL DELAYSJMP LOOP;DS1302初始化INTI1302:MOV ADDRESS, #8EH MOV CONTENT, #00HLCALL SENT_BYTEMOV ADDRESS, #90HMOV CONTENT, #0A7H ;慢充电寄存器LCALL SENT_BYTEREAD1302: MOV ADDRESS, #81h LCALL REV_BYTEMOV SECOND, AMOV ADDRESS, #83hLCALL REV_BYTEMOV MINITE, AMOV ADDRESS, #85hLCALL REV_BYTEMOV HOUR, ARETSENT_BYTE: CLR DSRSTCLR CNOPCLR DSCLKNOPSETB DSRSTMOV A, ADDRESSMOV R3, #2MOV R2, #8LOOP0: RRC AMOV DSIO, CSETB DSCLKNOPCLR DSCLKDJNZ R2, LOOP0MOV A, CONTENTMOV R2, #8DJNZ R3, LOOP0CLR DSRSTRETREV_BYTE: PUSH 02H CLR DSRSTCLR CCLR DSCLKNOPSETB DSRSTMOV A, ADDRESS MOV R2, #8RDDS0: RRC AMOV DSIO, CSETB DSCLKNOPCLR DSCLKDJNZ R2, RDDS0CLR AMOV R2, #8RDDS1: MOV C, DSIO RRC ASETB DSCLKNOPCLR DSCLKDJNZ R2, RDDS1CLR DSRSTPOP 02HRETCONVERT:mov a, hour anl a, #0f0hswap amov 40h, amov a, houranl a, #0fhmov 41h, amov a, miniteanl a, #0f0hswap amov 42h, amov a, miniteanl a, #0fhmov 43h, amov a, secondanl a, #0f0hswap amov 44h, amov a, secondanl a, #0fhmov 45h, aretINTI7221: MOV D158, #09H MOV D70, #0FFHLCALL WRITEMOV D158, #0AHMOV D70, #0EHLCALL WRITEMOV D158, #0BHMOV D70, #05HLCALL WRITEMOV D158, #0CHMOV D70, #01HLCALL WRITEMOV D158, #0FH MOV D70, #00H LCALL WRITERETDISPLAY:MOV R6, #6 MOV R5, #0mov R0, #40h DIGIT: MOV A, R5 MOV DPTR, #TAB1 MOVC A, @A+DPTR MOV D158, AMOV D70, @R0INC R0LCALL WRITEINC R5DJNZ R6, DIGITRETORG 0250H WRITE: CLR CS MOV A, D158MOV R3, #2LOOP00: MOV R2, #8 LOOP11: CLR CLK RLC AMOV DIN, CSETB CLKDJNZ R2, LOOP11 MOV A, D70DJNZ R3, LOOP00 SETB CSRETTAB1: DB 01H,02H,03H,04H,05H,06HTAB2: DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H;time:1ms;12MHzDELAY: MOV R7, #200DEL0: MOV R6, #243DJNZ R6, $DJNZ R7, DEL0RETEND致谢词感谢学院给我们提供了一个展现自己的舞台,给我们一次难得煅炼的机会,使得我们的动手能力和专业技能都有了很大的提高。
在做作品的日子里得到了张晓虎老师的悉心指导,在此向我们的指导教师致以诚挚的谢意。
感谢提供相关技术帮助的老师和同学,你们的支持和鼓励使我们对这次的作品完成有了信心和动力,也给了我们很多无私的帮助和支持,我们在此深表谢意。
参考文献1刘勇编数字电路电子工业出版社20042陈正振编电子电路设计与制作广西交通职业技术学院信息工程系20073杨子文编单片机原理及应用西安电子科技大学出版社20064 王法能编单片机原理及应用科学出版社2004附:proteus仿真图。