1、第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!因此,电子万年历的出现带来了钟表计时业界跨跃性的进步。随着科学技术的快速发展,不断研究创新,对于电子万
2、年历采用直观的数字显示,可以同时显示年,月,日,时,分,温度等信息,还具有时间校准等功能,该电路采用AT89C51单片机作为核心,电压可选用3-5V电压供电。一、内容摘要本设计利用数量较少的芯片制作了一个运用简单的电子万年历。以单片机作为本设计的核心,实现时钟日历的显示:用八段LED数码管分别显示年、月、日、星期、时、分、秒,用DS1302作为该设计的实时时钟芯片,用74LS164寄存器来驱动数码管的各段码,用三极管来驱动数码管的各位码。并且通过AT89C51单片机读取数字温度芯片的内部数据,进行处理后送到数码管显示其温度功能,通过按键实现调试功能。 二、设计要求(1)设计电子万年历,实现时钟
3、日历的显示,或显示年、月、日或时、分、秒,用DS1302作为设计的实时时钟芯片。(2)温度记录仪电路设计:功能:1、记录温度并保存,每10分钟记录一次 温度数据。2、可显示时间、温度数据3、可查询温度数据4、可由上位机(电脑)读取温度数据。 三、设计方案1、显示时钟功能(1)单片机芯片的选择 采用AT89C51芯片作为硬件核心,并且与MCS-51系列单片机完全兼容。(2)显示模块的选择 采用LED数码管,更注重于显示多位数字。(3)时钟芯片的选择 采用DS1302时钟芯片实现时钟,且精度高,可自动对时、分、秒进行计数,工作电压在2.5-5.5V范围内。2、温度显示功能 AT89C51芯片 采用
4、LED数码管来显示温度(3)温度传感器的选择 采用温度传感器DS18B20,传感器DS1302 四、系统硬件框图(1)单片机模块引脚功能:AT89C51单片机有40个引脚。Vcc:电源电压+5VGND:接地P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。P1口:P1口是一个带内部上拉电阻的8位双向I/O,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信
5、号拉低时会输出一个电流。P2口:P2口是一个带内部上拉电阻的8位双向I/O,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。P3口:P3口是一组带内部上拉电阻的8位双向I/O,P3的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部的上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,见表3-1所示:RST:复位输入。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存器允许)输出脉冲用于锁存地址的低8位字节XTAL1:振荡器反相放大
6、器及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端。定时/计数器:AT89C51单片机内含有2个16位的定时器/计数器。中断系统:AT89C51单片机有6个中断源,中断系统主要由中断允许寄存器IE、中断优先级寄存器IP、优先级结构和一些逻辑门组成。(2)按键电路 (3)数码管显示 (4)热敏电阻 (5)DS1302系统(精确时钟) DS1302的控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操
7、作,控制字节总是从最低位开始输出。 DS1302 引脚图(6)蜂鸣器 (7)拨动开关 五、万年历软件系统的流程当接通电源开始工作后,单片机中的程序开始运行,将对DS18B20进行初始化,以便和单片机芯片达成通信协议。完成初始化后,由于本系统只有一个测温元件,单片机会向其发出跳过RAM指令,接下来便可向其发送操作指令,启动测温程序,测温过程完成后,发出温度转换指令,从而便可将温度转化成数字模式进行显示读取;同时DS1302将读取时分秒及年月日寄存器后通过LED数码管显示时间日期,键盘电路中按键可对实时时钟进行调整。 六、各单元元器件内容介绍1、温度信息采集通过DS18B20单线总线的所有执行处理
8、都从一哥舒适化序列开始,初始化序列包括一个由总线控制器发出复位脉冲和随后由从机发出的存在脉冲。(1)复位(2)存在脉冲(3)控制器发送ROM指令(4)控制器发送存储器操作指令(5)执行或数据读写2、时钟的读取 (1) DS1302控制字节(2)DS1302数据的输入和输出在控制指令字输入后的下一个SCLK时钟的上升沿时数据被写入DS1302,数据输入从低位即位0开始。在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位至高位7。(3)温度的显示控制先对LED数码管进行初始化,当所测温度从DS18B20输送到单片机上之后,在LED数码管上显示出来。(4
9、)按键模块使用按键可调整LED数码管上显示的数值。 七、相关的电路图和实物图电子万年历实物图 电子万年历封装图 八、调试与软件仿真 1、软件的仿真与调试 (1)打开KEIL,输入所编写的源程序进行编译,在软件的帮助下检查其中的错误并进行修改,直到编译正确后运行。 (2)绘制单片机电子万年历运行电路图。 (3)检查所画电路运行图,确保没错误后,在PROTEUS下对原理图进行加载KEIL下的源程序。 (4)加载完成后,进行仿真,观察LED数码管情况, 程序调试完成后2、硬件调试与连接 (1)检测AT89C51运行是否正常 (2)LED数码管显示是否正常 (3)各元件是否正常(4)将程序下载完调试完
10、后用仿真软件主机与从机连接 主机与从机连接后的电路板情况 九、问题分析与总结出现的问题:1、在焊接电路板时,有些元件出现假焊,致使LED数码管不能正常显示。2、在接芯片时引脚弄错,致使与电路图不能相互符合。3、在调试完成后,LED数码管不能正常显示或出现乱码,检查后发现是接触不良造成的。 总结在制作过程中一直不断出现很多常见的错误,导致结果都不理想,之后通过与老师与同学之间的交流后每个问题都得到了解决,这让我们更加加深印象。虽然出现很多问题但也学到了许多常识性的知识,这使我们的能力也得到锻炼和提高,也使对设计的整体流程有了更清楚的认识,小组成员们也一直在不断的努力,在经过老师与同学的帮助后最终有了成果使我们信心上得到了很大的支持。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1