数字万年历课程设计

合集下载

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

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

数字万年历的设计摘要电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。

它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且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两个和专业相关的软件,极大的拓宽了自己的知识宽度,期间产生的问题都与老师一起讨论得到了很好的解决,这对自己的问题阐述能力以及解决问题的能力都有很大的提升。

多功能数字万年历课程设计

多功能数字万年历课程设计
2.1
系统的功能往往决定了系统采用的结构,经过成本,性能,功耗等多方面的考虑决定 用三个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数字万年历的设计

11数字万年历的设计
(2)实现功能要求;
(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
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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仿真图。

相关文档
最新文档