机械设计说明书—基于单片机多功能电子时钟的设计与仿真

上传人:秋乐****站 文档编号:232743294 上传时间:2023-09-26 格式:DOC 页数:48 大小:762.85KB
返回 下载 相关 举报
机械设计说明书—基于单片机多功能电子时钟的设计与仿真_第1页
第1页 / 共48页
机械设计说明书—基于单片机多功能电子时钟的设计与仿真_第2页
第2页 / 共48页
机械设计说明书—基于单片机多功能电子时钟的设计与仿真_第3页
第3页 / 共48页
点击查看更多>>
资源描述
第1章 绪 论1.1引言二十一世纪的今天,最具代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!因此,电子万年历的出现带来了钟表计时业界跨跃性的进步我国生产的电子万年历有很多种,总体上来说以研究多功能电子万年历为主,使万年历除了原有的显示时间,日期等基本功能外,还具有闹铃,报警等功能。商家生产的电子万年历更从质量,价格,实用上考虑,不断的改进电子万年历的设计,使其更加的具有市场。本设计为软件,硬件相结合的一组设计。在软件设计过程中,应对硬件部分有相关了解,这样有助于对设计题目的更深了解,有助于软件设计。基本的要了解一些主要器件的基本功能和作用。除了采用集成化的时钟芯片外,还有采用MCU的方案,利用AT89系列单片微机制成万年历电路,采用软件和硬件结合的方法,控制LED数码管输出,分别用来显示年、月、日、时、分、秒,其最大特点是:硬件电路简单,安装方便易于实现,软件设计独特,可靠。AT89C52是由ATMEL公司推出的一种小型单片机。95年出现在中国市场。其主要特点为采用Flash存贮器技术,降低了制造成本,其软件、硬件与MCS-51完全兼容,可以很快被中国广大用户接受。本文介绍了基于AT89C52单片机设计的电子万年历。1.2 选题背景及研究的目的与意义1.2.1 设计的目的电子钟已成为人们日常生活中必不可少的物品,广泛用于个人家庭以及车站 码头、剧院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来了极大的方便。随着技术的发展人们已经不再满足于钟表原先简单的计时功能,希望出现一些新的功能,诸如日历的显示闹钟的应用等,以带来更大的方便,而所有这些,又都以数字化的电子时钟为基础的。因此,研究实用电子时钟及其扩展应用,有着非常现实的意义,具有很大的实用价值。1.2.2 研究的意义 由于数字集成电路的发展采用了先进的石英技术,现代电子时钟具有走时准确性能稳定 制作维修简单等优点,弥补了传统钟表的许多不足之处。我们利用单片机技术设计制作的电子万年历,可以很方便的由软件编程进行功能的调整和改进,使其能够准确显示年月 日 时间 星期的同时,还能具有很多其他功能。如设置闹钟 语音报时 阴阳历的转换 二十四节气的显示等,有一定的新颖性和实用性,同时体积小 携带方便,使用也更为方便,具有技术更新周期短 成本低 开放灵活等优点,具备一定的市场前景。这里介绍的就是一款可满足使用者特殊要求,输出方式灵活 计时准确 性能稳定 维护方便的使用电子万年历。采用单片机进行遥控系统的应用设计,具有硬件接口简单方便,变成灵活多样,操作码个数可随意设定等优点。1.3 研究内容1、选用电子万年历芯片时,应重点考虑功能实在、使用方便、单片存储、低功耗、抗断电的器件。2、根据选用的电子万年历芯片设计外围电路和单片机的接口电路。3、在硬件设计时,结构要尽量简单实用、易于实现,使系统电路尽量简单。4、根据设计的硬件电路,编写控制AT89C51芯片的单片机程序。5、通过编程、编译、调试,把程序下载到单片机上运行,并实现本设计的功能。6、在硬件电路和软件程序设计时,主要考虑提高人机界面的友好性,方便用户操作等因素。7、软件设计时必须要有完善的思路,要做到程序简单,调试方便。1.4 国内外课题研究概况:1957年,Ventura发明了世界上的第一个电子表,奠定了电子时钟的基础,电子时钟开始迅速发展起来。20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎涉及了社会的各个领域,有力的推动了社会的发展和信息化社会程度的提高,同时使现在电子产品性能进一步提高,产品更新换代的节奏也越来越快。数字时钟已经成为人们日常生活中的必需品。尽管现在市场上已有现成的数字钟集成电路芯片出售,并且价格便宜,使用方便。但考虑到单片机电子时钟电路的基本组成包涵了数字电路的主要组成部分,因此进行数字时钟的设计和模拟是必要的。研究数字钟及扩大其应用范围有着非常重要意义。从电子时钟近年的发展趋势来看,正朝着多层次用户、多品种、多规格、高精度、小体积、低能耗等方面发展。在这种趋势下,时钟的数字化,智能化已经成为现代时钟生产研究的主导设计方向。带有时钟功能的电子产品和电子设备进年来广泛地出现在国内外市场中。例如奥运会倒计时显示屏、铁路安全显示屏、生产线看板、体育比赛记时屏、大型室外高亮度时钟等,这类产品覆盖银行、医院、地铁车站、体育运动、电视台、监控系统、高大建筑物等行业。电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许多场合可以看到数字电子钟。LCD数字电子钟已经成为一种时尚,但目前市场上各式各样的LCD数字电子钟大多数用全硬件电路实现,电路结构复杂,功率损耗大等缺点。因此有必要对数字电子钟进行改进。电子技术是十九世纪末、二十世纪初开始发展起来的新兴技术,二十世纪发展最迅速,应用最广泛,成为近代科学技术发展的一个重要标志。在其推动下,现代电子产品正在以前所未有的革新速度,向着功能多样化、体积最小化、功耗最低化的方向迅速发展,电子技术的发展有力的推动社会生产力的发展。机械式钟表虽然也可以告知人们时间,也可以定时,显示日历。但是由于受到机械结构、动力和体积的限制,在功能、性能以及造价上都没办法与电子时钟相比。电子钟是采用电子电路实现对时、分、秒进行数字显示的计时装置,广泛应用于个人家庭,室外广场,汽车站和火车站等公共场所,成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,电子钟的研究有着良好的发展前景和市场潜力。Protues软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。它与其他软件最大的不同及最大的优点在于它能够仿真大量的单片机芯片比如MCS-51系列,以及单片机的外围电路,比如键盘、LED等。通过protues软件的使用,我们能够轻易的获得一个功能齐全、实用方便的一个单片机实验室。本设计是以51系列单片机为核心的电子时钟,通过数码点阵显示,能够实现基本时间和日历的显示并且可通过键盘对时间进行调整。应用protues软件进行单片机系统电子时钟的设计与仿真的实现。该方法既能验证所设计的系统是否满足实际的技术要求,又能提高系统的设计与质量,降低开发成本,提高系统价值。第2章 整体设计方案2.1 设计要求基本要求:1.设计一个多功能电子钟系统;2.实现时间、日期、星期的显示;3.能进行对时;4.确定单片机的型号;5.设计单片机外部接线图及软件流程图。6.进行软件编程及调试。7.系统仿真。创新要求:加入一个检测温度的系统并能在LCD上显示2.2 系统基本方案的选择和论证2.2.1单片机芯片的选择方案和论证:方案一: 采用传统的AT89C51作为电机的控制核心。单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制,并且由于其功耗低、体积小、技术成熟和成本低等优点,使其在各个领域应用广泛。采用FTC10F04单片机,还带有非易失性Flash程序存储器。它是一种高性能、低功耗的8位CMOS微处理芯片,市场应用最多。其主要特点如下:8KB Flash ROM,可以擦除1000次以上,数据保存10年。由于本系统对CPU运算速度要求很高,需要执行很复杂的运算,方案一成本比较低,适合做设计,方案二运算速度高,性能好,所以两种方案都有可取之处。选用方案一作为主方案,方案二作为备用方案。2.2.2显示模块选择方案和论证:方案一: 采用LED液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用LED液晶显示屏。方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示。方案三:采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示文字,图形,显示多样,清晰可见.而且体积较小,使用方便,更容易满足工程上对于电路更加简洁的要求,让我们学习到更多的关于液晶显示器的知识,所以选择了液晶显示器,根据本设计的数据显示要求选择LCD1602液晶即可。2.2.3时钟芯片的选择和论证:方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。方案二:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V5.5V范围内,2.5V时耗电小于300nA。2.2.4温度传感器的选择方案与论证:方案一:使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行A/D转换。此设计方案需用A/D转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误差。方案二:采用数字式温度传感器DS18B20,此类传感器为数字式传感器而且仅需要一条数据线进行数据传输,易于与单片机连接,可以去除A/D模块,降低硬件成本,简化系统电路。另外,数字式温度传感器还具有测量精度高、测量范围广等优点(测温程序说明在附录)。2.3 系统总体方案按照系统设计功能的要求,对此次作品的方案选定: 采用AT89S52作为主控制系统; DS1302提供时钟;数字式温度传感器;LCD液晶显示屏作为显示单元;键盘。电路系统构成框图如图所示:图2.1 系统框图主控芯片使用51系列AT89C51单片机,时钟芯片使用美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟DS1302。采用DS1302作为计时芯片,可以做到计时准确。更重要的是,DS1302可以在很小电流的后备电源(2.55.5V电源,再2.5V时耗电小于300nA),而且DS1302可以编程选择多种充电电流来队后备电源进图。2.4 本章小结本章首先介绍了计算机控制系统的五种基本形式,经查阅相关资料确定了本文所需要设计的单片机电子时钟概念。根据实际情况与技术要求,画出了系统结构框图,并拟定了系统总体设计方案,包括传感器单元、键盘单元、时钟芯片及显示单元系统各部分,并对每一部分都进行了较详细的叙述。第3章 系统硬件设计3.1 本系统的硬件设计概述本电路是由AT89C51单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31*8的用于临时性存放数据的RAM寄存器。可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;温度的采集由DS18B20构成;显示部份由LCD显示。3.2 单片机的选择及分析3.2.1 单片机的定义和特点所谓单片机就是把CPU、寄存器、RAM/ROM、I/O接口电路集成在一块集成电路芯片上,构成一个完整的微型计算机。单片机的主要特点有:1、集成度高、功能强: 微型计算机通常由中央处理器(CPU)、存储器(RAM, ROM)以及I/O接口组成,其各部分分别集成在不同的芯片上。例如,大家熟悉的Z80微型计算机就是由Z80-CPU、存储器(RAM, ROM), PIO等芯片组成的,单片机则不同,它把CPU, RAM, ROM, I/O接口,以及定时器/计数器都集成在一个芯片上。目前应用得最多的是MCS-51系列单片机。 和微型计算机进行比较,单片机不仅体积大大减小,而且功能大为增强。MCS-51系列单片机内的定时/计数器为16位,而Z80微型计算机只有8位,MCS-51系列单片机中不但有4个并行I/O接口,而且还有串行接口,且时钟频率可达12MHz。2、结构合理: 目前单片机大多采用Harvard结构。这是数据存储器与程序存储器相互独立的一种结构。而在许多微型计算机(如Z80, Inte18085, M6800等)中,大都采用两类存储器合二为一(即统一编址)的方式。单片机采用上述结构主要有四点好处存储量大、速度快、抗干扰性、强指令丰富。3.2.2 单片机的发展概况自从1974年12月美国仙童(Fairchild )公司第一个推出8位单片机FS以来,单片机以惊人的速度发展,从4位机、8位机发展到16位机、32位机,集成度越来越高,功能越来越强,应用范围越来越广。到目前为止,单片机的发展主要可分为以下四个阶段:第一阶段:4位单片机。这种单片机的特点是价格便宜,控制功能强,片内含有多种I/O接口,如并行I/O接口、串行I/O接口、定冲计数器接口、中断功能接口等。根据不同用途,还配有许多专用接口,如打印机接口、键盘及显示器接口,PLA(可编程逻辑阵列)译码输出接口,有些甚至还包括A/D, D/A转换,PLL(锁相环),声音合成等电路。丰富的I/O功能大大地增强了4位单片机的控制功能,从而使外部接口电路极为简单。第二阶段:低、中档8位机(1974-1978年)。这种8位机一般不带有I/O接口,寻址范围通常为4KB。它是8位机的早期产品,如Mostek公司的3870, Intel公司的8048等单片机即属此类。第三阶段:高档8位机阶段(1978-1982年)。这一类单片机常有串行I/O接口,有多级中断处理,定时/计数器为16位,片内的RAM和ROM的容量相对增大,且寻址范围可达64KB,有的片内还带有A/D转换接口。这类单片机有Intel公司的MCS-51,Motorola公司的6801和Ziiog公司的Z8等。由于这类单片机应用领域较广,其结构和性能还在不断地改进和发展。第四阶段:16位单片机和超8位单片机(1982年至今)。此阶段的主要特征是,一方面不断完善高档8位机,改善其结构,以满足不同用户的需要;另一方面发展16位单片机及专用单片机。16位单片机除了CPU为16位外,片内RAM和ROM的容量也进一步增大,片内RAM为232字节,ROM为8KB,片内带有高速输入输出部件,多通道10位A/D转换部件,中断处理为8级,其实时处理能力更强。近来,32位单片机己进入实用阶段,但还未引入国内市场。在今后单片机的发展趋势将是:向着大容量、高性能化,小容量、低价格化和外围电路内装化等几个方面发展。3.2.3本系统单片机的选择AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4k bytes的反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元可灵活应用于各种控制领域。图3.1为其引脚图。1、主要特性:与MCS-51完全兼容 4K字节可编程FLASH存储器 寿命:1000写/擦循环 数据保留时间:10年 全静态工作:0Hz-24MHz 三级程序存储器锁定 1288位内部RAM 32可编程I/O线 两个16位定时器/计数器 5个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路2、功能性概述:AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可下降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。3、AT89C51的内部结构介绍单片机电路是系统控制的核心。单片机选用从ATMEL公司的低功耗、高性能的8位CMOS芯片AT89C51,其片内带有4K字节的闪速可编程及可擦除只读存储器(EPROM)。引脚功能说明如下:VCC:电源电压GND:地 P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的力式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校图3.1 AT89C51引脚图验时,要求外接上拉电阻。Pl口:P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级叫可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。Flash编程和程序校验期间,P1接收低8位地址。P2口:P2口是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部序程存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX RI指令)时,P2口线上的内容(也即特殊功能寄存器区中R2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其它控制信号。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/0口线外,更重要的用途是它的第二功能,如下表3.1所示。P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。表3.1 P3口第二功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外中断0)P3.3(外中断1)P3.4T0(定时/计数器0)P3.5T1(定时/计数器1)P3.6(外部数据存储器写选通)P3.7(外部数据存储去读选通)RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(CS)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。XTAL1:振荡器反相放大器及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。时钟振荡器:图3.2 内部振荡电路与外部振荡电路AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图3-2。外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。采用外部时钟的电路如图3.2所示,这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。时钟电路一般由晶体震荡器、晶震控制芯片和电容组成。时钟电路可以简单定义如下:1、就是产生象时钟一样准确的振荡电路。2、任何工作都按时间顺序。用于产生这个时间的电路就是时钟电路。现在流行的串行时钟电路很多,如DS1302、DS1307、PCF8485等。这些电路的接口简单、价格低廉、使用方便,被广泛地采用。3.3 DS1302时钟电路3.3.1 DS1302的介绍DS1302是美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟电路,它可以对年、月、日、周、日、时、分、秒进行计时,且具有闰年补偿等多种功能。传统的数据记录存在时钟精度不高,易受环境影响。而且传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此,只能记录数据而无法准确记录其出现的时间,出现时钟混乱等缺点。DS1302可以用于数据记录,特别是对某些具有特殊意义的数据点的记录,能实现数据与出现该数据的时间同时记录。这种记录对长时间的连续测控系统结果的分析及对异常数据出现的原因的查找具有重要意义。若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且,某些测控系统可能不允许。但是,如果在系统中采用时钟芯片DS1302,则能很好地解决这个问题。3.3.2 时钟电路连接在DS1302的引脚排列中,Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768KHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RSTS置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电动行时,在Vcc大于等于2.5V之前,RST必须保持低电平。中有在SCLK 为低电平时,才能将RST置为高电平,I/O为串行数据输入端(双向)。SCLK始终是输入端。3.3 温度采集模块设计DS18B20是一种改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现912位的数字值读数方式。可以分别在93.75 ms和750 ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使系统结构更趋简单,可靠性更高。1、DS18B20有独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。2、在使用中不需要任何外围元件。3、可用数据线供电,电压范围: 3.05.5 V。4、测温范围:-55125 。固有测温分辨率为0.5 。5、通过编程可实现912位的数字读数方式。6、用户可自设定非易失性的报警上下限值。7、支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。8、负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。3.4 显示模块介绍MLO16液晶模块采用HD44780控制器。HD44780具有简单而功能较强的指令集,可以实现字符移动、闪烁等功能。MLO16与单片机通讯可采用8位或者4位并行传输两种方式。HD44780控制器由两个8位寄存器、指令寄存器和数据寄存器、忙标志、显示数据RAM、字符发生器RAM、地址计数器、IR用于寄存指令码,只能写入不能独处;DR用于寄存数据,数据有内部操作自动写入DDRAM和CGRAM,或者暂存从DDRAM何CGRAM独处的数据。BF位1时,液晶模块处于内部处理模式,不响应外部操作指令和接收数据。DDRAM用来存储显示的字符,能存储80个字符码。CGROM有8位字符码生成5*7点阵字符或者4个5*10点阵字符。AC可以存储DDRAM和CGRAM的地址,如果地址码随指令写入IR则IR自动把地址码装入AC,同时选择DDRAM或者CGRAM单元。3.5 本章小结本章主要叙述了控制系统的硬件电路的功能和设计。首先,对本系统硬件部分先进行了总体概述并选择出单片机型号,除单片机的主控电路外,还有时钟电路模块,温度采集模块,显示模块的设计。对硬件输入与输出两方面的每一部分都进行了较详细的叙述,包括各器件的选型以及相关的信号调理电路。第4章 系统软件设计4.1程序流程图4.1.1系统的总体程序流程 在程序设计过程中,采用合理的程序设计结构很关键。在本系统设计过程中,主程序采用了自上而下的设计思路。本系统的总体程序流程图如下: 4.1系统总体流程图4.1.2按键调整程序流程图本设计采用三键调时(设置、上键、下键),当按下设置键后开始用上、下键调分,再次按下设置键开始调整小时(方法同上),依次类推调星期、日、月、年如下图。4.2本章小结软件设计是本系统的重点之一,它直接影响到系统的整体性能。本章详细描述了控制软件的功能和设计思路。首先介绍软件的设计结构,然后在说明软件的操作方法,然后列出软件相应的子程序流程图与程序清单。4.2 时间调整程序流程图第5章PROTEUS系统的仿真5.1编程环境PROTEUS介绍PROTEUS软件是由英国LabCenter Electronics公司开发的EDA工具软件,由ISIS和ARES两个软件构成,其中ISIS是一款便捷的电子系统仿真平台软件,ARES是一款高级的布线编辑软件,它集成了高级原理布线图、混合模式SPICE电路仿真、PCB设计以及自动布线来实现一个完整的电子设计。5.2用PROTEUS ISIS对时钟硬件电路设计通过PROTEUS ISIS软件的VSM(虚拟仿真技术),用户可以对模拟电路、数字电路、模数混合电路,以及基于微控制器的系统连同所有外围接口电子元器件一起仿真。用PROTEUS ISIS设计硬件电路的过程5.2.1选择设计图纸的到小根据设计所使用到元器件的多少,选择合适大小的设计图纸,操作是单击菜单栏上的SystemSet Sheet Size ,然后弹出如图5.1所示的对话框,从中选择合适大小的图纸,也可以选择User进行图纸的自定义设置。在设计过程中也可以通过此方法调整图纸的大小。图5.1选择图纸5.2.2选取仿真所需的元器件 选取元器件的方式是,单击如图5.2所示的按钮“P”。会弹出如图5.3所示的窗口。图5.2选取元器件图5.3元器件列表从此窗口的左上角的“Keywords”中输入电子万年历设计用到的器件,如输入“AT89C51”,在中间会列出带有输入关键字的元器件,选择合适的元器件并双击它,则已经选择好了该元器件。然后再在“Keywords”中输入其他所需的元器件,用同样的方法进行操作。最后选择好所有的元器件如图5.4所示。图5.4所用器件AT89C51代表单片机会,DS1302代表时钟芯片,RESPACK-8代表八排电阻等。5.2.3把元器件放到图纸的合适位置进行布线单击如图5.3所示的元器件AT89C51,再在右边图纸上单击,就把元器件放入到了图纸上。再用同样的方法把DS1302放入到图纸的合适位置。如果元器件放置错误,这可通过两次右击删除所放置的元器件,如果位置放得不理想,可以先右击该器件,然后按住左键进行移动。在布线之前,如果觉得元器件的引脚的方向不好布线,则可以通过单击四个按钮进行调整,这四按钮的意思分别是:顺时针旋转90,逆时针旋转90,沿Y轴对称,沿X轴对称。通过这样的调整,可以使整个布局合理一些。接着进行布线,由于PROTEUS ISIS有自动布线的功能。ISIS还提供了网络布线,即不使用线连接也可以把两个引脚虚拟的连接了起来。具体操作是:单击要连线的一个引脚,连出适当的距离后双击,另一个引脚也同样操作,单击“LBL”按钮,在弹出的窗口中的“String”中填入名称,如“A” ,对OUT7引脚进行同样的操作,在“String”中也填入名称“A”,这样就完成了引脚的网络连接,这个好处避免两个距离比较远的器件进行真实线的连接,使布线美观。5.2.4编辑窗口连接端子要让最后的设计成功仿真时,必须放置并连接端子。选择,从中可以选择电路原理中的两个通用的端子,一个是接地,一个是电源。如图5.5所示。图5.5连接端子5.3Keil工程文件的建立、设置与目标文件的获得单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通 过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。5.3.1Keil工程的建立首先启动Keil软件的集成开发环境,这里假设读者已正确安装了该软件,可以从桌面上直接双击uVision的图标以启动该软件。UVison启动后,程序窗口的左边有一个工程管理窗口,该窗口有3个标签,分别是Files、Regs、和Books,这三个标签页分别显示当前项目的文件结构、CPU的寄存器及部份特殊功能寄存器的值(调试时才出现)和所选CPU的附加说明文件1、源文件的建立使用菜单“File-New”或者点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编缉窗口,在该窗口中输入汇编语言源程序保存该文件,注意必须加上扩展名(汇编语言源程序一般用asm或a51为扩展名),这里假定将文件保存为exam1.asm。需要说明的是,源文件就是一般的文本文件,不一定使用Keil软件编写,可以使用任意 文本编缉器编写,而且,Keil的编缉器对汉字的支持不好,建议使用UltraEdit之类的编缉 软件进行源程序的输入。2、建立工程文件在项目开发中,并不是仅有一个源程序就行了,还要为这个项目选择CPU(Keil支持数百种CPU,而这些CPU的特性并不完全相同),确定编译、汇编、连接的参数,指定调试的方式,有一些项目还会有多个文件组成等,为管理和使用方便,Keil使用工程(Project)这一概念,将这些参数设置和所需的所有文件都加在一个工程中,只能对工程而不能对单一的源程序进行编译(汇编)和连接等操作,下面我们就一步一步地来建立工程。点击“Project-New Project”菜单,出现一个对话框,要求给将要建立的工程起一个名字,你可以在编缉框中输入一个名字(设为exam1),不需要扩展名。点击“保存”按钮,出现第二个对话框,如图5.2所示,这个对话框要求选择目标CPU(即你所用芯片的型号),Keil 支持的CPU很多,我们选择Atmel公司的89C51芯片。点击ATMEL前面的“+”号,展开该层,点击其中的89C51,然后再点击“确定”按钮,回到主界面,此时,在工程窗口的文件页中,出现了“Target1”,前面有“+”号,点击“+”号展开,可以看到下一层的“Source Group1”,这时的工程还是一个空的工程,里面什么文件也没有,需要手动把刚才编写好的源程序加入,点击“Source Group1”使其反白显示,然后,点击鼠标右键,出现一个下拉菜单,选中其中的“Add file to Group”“Source Group1”,出现一个对话框,要求寻找源文件,注意,该对话框下面的“文件类型” 默认为C source file(*.c),也就是以C为扩展名的文件,图5.1而我们的文件是以asm为扩展名的,所以在列表框中找不到 exam1.asm,要将文件类型改掉,点击对话框中“文件类型”后的下拉列表,找到并选中“Asm Source File(*.a51,*.asm), 这样,在列表框中就可以找到 exam1.asm文件了。双击exam1.asm文件,将文件加入项目,注意,在文件加入项目后,该对话框并不消失,等待继续加入其它文件,但初学时常会误认为操作没有成功而再次双击同一文件,这时会出现如图4所示的对话框,提示你所选文件已在列表中,此时应点击“确定”,返回前一对话框,然后点击“Close”即可返回主界面,返回后,点击“Source Group 1”前的加号,会发现 exam1.asm 文件已在其中。双击文件名,即打开该源程序。图5.25.3.2工程的详细设置工程建立好以后,还要对工程进行进一步的设置,以满足要求。首先点击左边Project窗口的Target 1,然后使用菜单“Project-Option for targettarget1” 即出现对工程设置的对话框,这个对话框可谓非常复杂,共有 8个页面,要全部搞清可不容易,好在绝大部份设置项取默认值就行了。设置对话框中的Target页面,如图5所示,Xtal后面的数值是晶振频率值,默认值是所选目标CPU的最高可用频率值,对于我们所选的AT89C51而言是 24M,该数值与最终产生的目标代码无关,仅用于软件模拟调试时显示程序执行时间。正确设置该数值可使显示时间与实际所用时间一致,一般将其设置成与你的硬件所用晶振频率相同,如果没必要了解程序执行的时间,也可以不设,这里设置为12。Memory Model用于设置RAM使用情况,有三个选择项,Small是所有变量都在单片机的内部RAM中;Compact是可以使用一页外部扩展RAM,而Larget则是可以使用全部外部的扩展RAM。Code Model用于设置ROM空间的使用,同样也有三个选择项,即Small模式,只用低于2K的程序空间;Compact 模式,单个函数的代码量不能超过2K,整个程序可以使用64K程序空间;Larget 模式,可用全部64K空间。Use on-chip ROM选择项,确认是否仅使用片内ROM(注意:选中该项并不会影响最终生成的目标代码量);Operating 项是操作系统选择,Keil提供了两种操作系统:Rtx tiny和Rtx full,关于操作系统是另外一个很大的话题了,通常我们不使用任何操作系统,即使用该项的默认值:None(不使用任何 操作系统);Off Chip Code memory用以确定系统扩展ROM的地址范围,Off Chip xData memory组用于确定系统扩展RAM的地址范围,这些选择项必须根据所用硬件来决定,由于该例是单片应用,未进行任何扩展,所以均不重新选择,按默认值设置。图5.3设置对话框中的OutPut页面,如图4所示,这里面也有多个选择项,其中 Creat Hex file用于生成可执行代码文件(可以用编程器写入单片机芯片的HEX格式文件,文件的扩展名为.HEX),默认情况下该项未被选中,如果要写片做硬件实验,就必须选中该项,这一点是初学者易疏忽的,在此特别提醒注意。选中 Debug information将会产生调试信息,这些信息用于调试,如果需要对程序进行调试,应当选中该项。Browse information是产生浏览信息,该信息可以用菜单view-Browse来查看,这里取默认值。按钮“Select Folder for objects”是用来选择最终的目标文件所在的文件夹,默认是与工程文件在同一 个文件夹中。Name of Executable用于指定最终生成的目标文件的名字,默认与工程的名字相同,这两项一般不需要更改。工程设置对话框中的其它各页面与C51编译选项、A51的汇编选项、BL51连接器的连接选项等用法有关,这里均取默认值,不作任何修改。图5.4以下仅对一些有关页面中常用的选项作一个简单介绍。Listing标签页用于调整生成的列表文件选项。在汇编或编译完成后将产生( *.lst)的列表文件,在连接完成后也将产生(*.m51)的列表文件,该页用于对列表文件的内容和形式进行细致的调节,其中比较常用的选项是“C Compile Listing”下的“Assamble Code”项,选中该项可以在列表文件中生成C语言源程序所对应的汇编代码。C51标签页用于对Keil的C51编译器的编译过程进行控制,其中比较常用的是“Code Optimization”组,该组中Level是优化等级,C51在对源程序进行编译时,可以对代码多至9级优化,默认使用第8级,一般不必修改,如果在编译中出现一些问题,可以降低优化级别试一试。Emphasis是选择编译优先方式,第一项是代码量优化(最终生成的代码量小);第二项是速度优先(最终生成的代码速度快);第三项是缺省。默认的是速 度优先,可根据需要更改。设置完成后按确认返回主界面,工程文件建立、设置完毕。5.3.3编译、连接在设置好工程后,即可进行编译、连接。选择菜单Project-Build target,对当前工程进行连接,如果当前文件已修改,软件会先对该文件进行编译,然后再连接以产生目标代码;如果选择Rebuild All target files将会对当前工程中的所有文件重新进行编译然后再连接,确保最终生产的目标代码是最新的,而 Translate .项则仅对该文件进行编译,不进行连接。以上操作也可以通过工具栏按钮直接进行。图5.5是有关编译、设置的工具栏按钮,从左到右分别是:编译、编译连接、全部重建、停止编译和对工程进行设置。编译过程中的信息将出现在输出窗口中的Build页中,如果源程序中有语法错误,会有错误报告出现,双击该行,可以定位到出错的位置。图5.5对源程序反复修改之后,最终会得到如图5.6所示的结果,提示获得了名为exam1.hex的文件,该文件即可被编程器读入并写到芯片中,同时还产生了一些其它相关的文件,可被用于Keil的仿真与调试,这时可以进入下一步调试的工作。图5.65.4本章小结在开发产品时,有时软件(也就是应用程序)先行予硬件设计,可以用软件模拟仿真器对应用程序进行软件模拟调试。另外,现在应用程序的开发较多的情形往往几个人共同开发,一个人总汇,因此直接用硬件方法来调试软件会带来一定困难。Keil提供了一种仿真器dSimulator,位51单片机的调试带来了极大的方便。结 论本课题从理论到实际应用,用AT89C51单片机与一些芯片电路的组合,成功的设计出了一个电子万年历。而且所设计的电子万年历设计也按当初要求的能够在PROTEUS中进行仿真,并且能够很精确的显示年历。可以说该电子万年历具有很高的实用价值。在软件设计的过程中,利用了Keil这个软件在程序录入和调试的时候的优越性,让我能够在编写软件的时候很方便的发现软件中的错误,现在已经能够使用Keil对所设计的程序进行调试。对于PROTEUS这款软件,也能熟练掌握电路设计仿真。由于平时没有接触过这两个软件,加上毕业设计的时间有限,对于他们的连接调试程序,未能熟练掌握,但以后有机会的话会再好好学习的。本次设计的电子万年历也存在的不足的地方,比如由于能力有限,没有在万年历上显示阴历的月份。在以后的时间里,自已要认识到自己的不足,努力完善自己的知识基础和实践能力,将设计修改的更加完善。参考文献1 熊印国. 浅谈智能时钟控制系统设计J. 今日科苑,2008/24.2 宋建永. 基于MCS-51与8279的智能时控开关设计J . 电脑与电信,2008/093 陈立刚. 一种车用智能电子钟的设计与实现J. 科技创新导报 ,2008.4 朱斌. 基于红外遥控的智能时钟设计与实现J. 机电产品开发与创新. 2008/015 李响初. 基于MCS-51单片机的智能时钟控制系统设计J. 电源世界 .2007/066 朱斌 谭勇. 基于红外遥控的智能时钟设计与实现J. 机电产品开发与创新.20087 王令 王宏华. 基于80C196KC单片机的高精度智能时钟设计J. 计量与测试技术. 20058 钱君霞, 尹斌, 魏新棒. 基于I2C总线的日历时钟PCF8563在MSP430中的应用J. 济源职业技术学院学报. 2005年3期9 周向红, 范伟. DS12887实时时钟芯片及应用研究J. 企业技术开发. 2006年2期10 孙谊,张晓冬. 智能遥控LED单色时钟屏的控制系统设计J. 电子工程师. 2007第9期11 杨学昭,欧阳玲. MC146818时钟芯片在智能流量仪停电时的应用J. 电子产品世界. 2002第11B期12 赵长德.微型计算机原理与接口技术M.北京:机械工业出版社,1999:98-350.13 王忠民.微型计算机原理M.西安:西安科技大学出版社,2003:15-55.14 胡戴明.计算机组成原理M.北京:经济科学出版社,2005:43-56.15 纪宗南.单片机外围器件使用手册M.北京:北京航空航天大学出版社,622-655.16 周雪.模拟电子技术M西安: 西安电子科技大学出版社,2005:81-95.17 左金生.电子与模拟电子技术M.北京:电子工业出版社,2004:105-131.18 张毅刚等. MCS-51单片机应用设计M.哈工大出版社,2004年第2版 19 Heidelberg. Lecture Notes in Computer ScienceJ. Springer Berlin.2007.920 Springer London. Supporting routine decision-making with a next-generation alarm clockJ. Personal and Ubiquitous Computing. 2004.6致 谢本设计是在我的导师孙玉芳老师的严格要求和精心指导下完成的。在这几个月的毕业设计设计期间,孙老师渊博的知识、对待科学研究的严谨学风和对我们和蔼可亲的态度给我留下了深刻的印象,让我在大学的最后时间里学到了终身受用的东西。在这段时间里,我不仅把理论运用的实践中去、学到了很多的东西,更加明白了认认真真做事、认认真真做人的道理,相信在以后的工作中我会以“认认真真”作为做事的原则。在本设计完成之时,我要向孙老师以及教研室所有帮助我解决设计问题的老师表示深深的谢意。接着我要感谢和我一起做毕业设计的同学以及寝室室友,在这短短的三个月里,你们给我提出了很多宝贵意见,在毕业设计以及生活方面给了我极大的帮助,正是因为你们耐心的讲解和帮助,我才能完成这个毕业设计。最后,感谢各位学院领导和老师们在百忙之中抽出时间来指导我们毕业答辩,向参加论文评审、答辩的教师组表示衷心的感谢和崇高的敬意! 附 录主程序:#include#includeDS18B20_3.H#define uint unsigned int#define uchar unsigne
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 毕业论文


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!