收藏 分享(赏)

毕业设计(论文)-基于单片机多功能电子时钟的设计与仿真(含程序仿真).doc

上传人:QQ153893706 文档编号:1740692 上传时间:2018-08-21 格式:DOC 页数:50 大小:612.50KB
下载 相关 举报
毕业设计(论文)-基于单片机多功能电子时钟的设计与仿真(含程序仿真).doc_第1页
第1页 / 共50页
毕业设计(论文)-基于单片机多功能电子时钟的设计与仿真(含程序仿真).doc_第2页
第2页 / 共50页
毕业设计(论文)-基于单片机多功能电子时钟的设计与仿真(含程序仿真).doc_第3页
第3页 / 共50页
毕业设计(论文)-基于单片机多功能电子时钟的设计与仿真(含程序仿真).doc_第4页
第4页 / 共50页
毕业设计(论文)-基于单片机多功能电子时钟的设计与仿真(含程序仿真).doc_第5页
第5页 / 共50页
点击查看更多>>
资源描述

1、程序仿真等全套设计,联系 153893706第 1 章 绪 论1.1 引言二十一世纪的今天,最具代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用(电子万年历) ,使计时产品的走时日差从分级缩小到 1/600 万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星

2、期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!因此,电子万年历的出现带来了钟表计时业界跨跃性的进步 我国生产的电子万年历有很多种,总体上来说以研究多功能电子万年历为主,使万年历除了原有的显示时间,日期等基本功能外,还具有闹铃,报警等功能。商家生产的电子万年历更从质量,价格,实用上考虑,不断的改进电子万年历的设计,使其更加的具有市场。本设计为软件,硬件相结合的一组设计。在软件设计过程中,应对硬件部分有相关了解,这样有助于对设计题目的更深了解,有助于软件设计。基本的要了解一些主2要器件的基本功能和作用。除了采用集成化的时钟芯片外,还有采用 MCU 的方案,利用 AT89 系列单

3、片微机制成万年历电路,采用软件和硬件结合的方法,控制 LED 数码管输出,分别用来显示年、月、日、时、分、秒,其最大特点是:硬件电路简单,安装方便易于实现,软件设计独特,可靠。AT89C52 是由 ATMEL 公司推出的一种小型单片机。95 年出现在中国市场。其主要特点为采用 Flash 存贮器技术,降低了制造成本,其软件、硬件与MCS-51 完全兼容,可以很快被中国广大用户接受。本文介绍了基于 AT89C52 单片机设计的电子万年历。1.2 选题背景及研究的目的与意义1.2.1 设计的目的电子钟已成为人们日常生活中必不可少的物品,广泛用于个人家庭以及车站 码头、剧院、办公室等公共场所,给人们

4、的生活、学习、工作、娱乐带来了极大的方便。随着技术的发展人们已经不再满足于钟表原先简单的计时功能,希望出现一些新的功能,诸如日历的显示闹钟的应用等,以带来更大的方便,而所有这些,又都以数字化的电子时钟为基础的。因此,研究实用电子时钟及其扩展应用,有着非常现实的意义,具有很大的实用价值。1.2.2 研究的意义由于数字集成电路的发展采用了先进的石英技术,现代电子时钟具有走时准确性能稳定 制作维修简单等优点,弥补了传统钟表的许多不足之处。我们利用单片机技术设计制作的电子万年历,可以很方便的由软件编程进行功能的调整和改进,使其能够准确显示年月 日 时间 星期的同时,还能具有很多其他功能。如设置闹钟 语

5、音报时 阴阳历的转换 二十四节气的显示等,有一定的新颖性和实用性,同时体积小 携带方便,使用也更为方便,具有技术更新周期短 成本低 开放灵活等优点,具备一定的市场前景。这里介绍的就是一款可满足使用者特殊要求,输出方式灵活 计时准确 性能稳定 维护方便的使用电子万年历。采用单片机进行遥控系统的应用设计,具有硬件接口简单方便,变成灵活多样,操作码个数可随意设定等优点。1.3 研究内容1、选用电子万年历芯片时,应重点考虑功能实在、使用方便、单片存储、低功3耗、抗断电的器件。2、根据选用的电子万年历芯片设计外围电路和单片机的接口电路。3、在硬件设计时,结构要尽量简单实用、易于实现,使系统电路尽量简单。

6、4、根据设计的硬件电路,编写控制 AT89C51 芯片的单片机程序。5、通过编程、编译、调试,把程序下载到单片机上运行,并实现本设计的功能。6、在硬件电路和软件程序设计时,主要考虑提高人机界面的友好性,方便用户操作等因素。7、软件设计时必须要有完善的思路,要做到程序简单,调试方便。1.4 国内外课题研究概况:1957 年,Ventura 发明了世界上的第一个电子表,奠定了电子时钟的基础,电子时钟开始迅速发展起来。20 世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎涉及了社会的各个领域,有力的推动了社会的发展和信息化社会程度的提高,同时使现在电子产品性能进一步提高,产品更新换代的

7、节奏也越来越快。数字时钟已经成为人们日常生活中的必需品。尽管现在市场上已有现成的数字钟集成电路芯片出售,并且价格便宜,使用方便。但考虑到单片机电子时钟电路的基本组成包涵了数字电路的主要组成部分,因此进行数字时钟的设计和模拟是必要的。研究数字钟及扩大其应用范围有着非常重要意义。从电子时钟近年的发展趋势来看,正朝着多层次用户、多品种、多规格、高精度、小体积、低能耗等方面发展。在这种趋势下,时钟的数字化,智能化已经成为现代时钟生产研究的主导设计方向。带有时钟功能的电子产品和电子设备进年来广泛地出现在国内外市场中。例如奥运会倒计时显示屏、铁路安全显示屏、生产线看板、体育比赛记时屏、大型室外高亮度时钟等

8、,这类产品覆盖银行、医院、地铁车站、体育运动、电视台、监控系统、高大建筑物等行业。电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许多场合可以看到数字电子钟。LCD 数字电子钟已经成为一种时尚,但目前市场上各式各样的LCD 数字电子钟大多数用全硬件电路实现,电路结构复杂,功率损耗大等缺点。因此有必要对数字电子钟进行改进。电子技术是十九世纪末、二十世纪初开始发展起来的新兴技术,二十世纪发展最迅速,应用最广泛,成为近代科学技术发展的一个重要标志。在其推动下,现代电子产品正在

9、以前所未有的革新速度,向着功能多样化、体积最小化、功耗最低化的方向迅速发展,电子技术的发展有力的推动社会生产力的发4展。机械式钟表虽然也可以告知人们时间,也可以定时,显示日历。但是由于受到机械结构、动力和体积的限制,在功能、性能以及造价上都没办法与电子时钟相比。电子钟是采用电子电路实现对时、分、秒进行数字显示的计时装置,广泛应用于个人家庭,室外广场,汽车站和火车站等公共场所,成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时

10、自动打铃、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,电子钟的研究有着良好的发展前景和市场潜力。Protues 软件是英国 Labcenter electronics 公司出版的 EDA 工具软件。它不仅具有其它 EDA 工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。它与其他软件最大的不同及最大的优点在于它能够仿真大量的单片机芯片比如 MCS-51 系列,以及单片机的外围电路,比如键盘、LED 等。通过 protues 软件的使用,我们能够轻易的获得一个功能齐全、实用方便的

11、一个单片机实验室。本设计是以51系列单片机为核心的电子时钟,通过数码点阵显示,能够实现基本时间和日历的显示并且可通过键盘对时间进行调整。应用protues软件进行单片机系统电子时钟的设计与仿真的实现。该方法既能验证所设计的系统是否满足实际的技术要求,又能提高系统的设计与质量,降低开发成本,提高系统价值。5第 2 章 整体设计方案2.1 设计要求基本要求:1.设计一个多功能电子钟系统;2.实现时间、日期、星期的显示;3.能进行对时;4.确定单片机的型号;5.设计单片机外部接线图及软件流程图。6.进行软件编程及调试。7.系统仿真。创新要求:加入一个检测温度的系统并能在 LCD 上显示2.2 系统基

12、本方案的选择和论证2.2.1 单片机芯片的选择方案和论证:6方案一: 采用传统的 AT89C51 作为电机的控制核心。单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制,并且由于其功耗低、体积小、技术成熟和成本低等优点,使其在各个领域应用广泛。采用 FTC10F04 单片机,还带有非易失性 Flash 程序存储器。它是一种高性能、低功耗的 8 位 CMOS 微处理芯片,市场应用最多。其主要特点如下:8KB Flash ROM,可以擦除 1000 次以上,数据保存 10 年。由于本系统对CPU运算速度要求很高,需要执行很复杂的运算,方案一成本比较低,适合做设计,方案

13、二运算速度高,性能好,所以两种方案都有可取之处。选用方案一作为主方案,方案二作为备用方案。2.2.2显示模块选择方案和论证:方案一:采用 LED 液晶显示屏 ,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用 LED 液晶显示屏。方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示。方案三:采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示文字,图形,显示多样,清晰可见.而且体积较小,使用方便,更容易满足工程上对

14、于电路更加简洁的要求,让我们学习到更多的关于液晶显示器的知识,所以选择了液晶显示器,根据本设计的数据显示要求选择LCD1602液晶即可。2.2.3时钟芯片的选择和论证:方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。方案二:采用 DS1302 时钟芯片实现时钟,DS1302 芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的7RAM 做为数据暂存区,工作电压 2.5V5.5V 范围内,2.5V 时耗电小于 300n

15、A。2.2.4温度传感器的选择方案与论证:方案一:使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行 A/D转换。 。此设计方案需用 A/D 转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误差。方案二:采用数字式温度传感器DS18B20,此类传感器为数字式传感器而且仅需要一条数据线进行数据传输,易于与单片机连接,可以去除A/D 模块,降低硬件成本,简化系统电路。另外,数字式温度传感器还具有测量精度高、测量范围广等优点(测温程序说明在附录) 。2.3 系统总体方案按照系统设

16、计功能的要求,对此次作品的方案选定: 采用 AT89S52 作为主控制系统; DS1302 提供时钟;数字式温度传感器;LCD 液晶显示屏作为显示单元;键盘。电路系统构成框图如图所示:D S 1 3 0 2 时钟模块1 8 B 2 0 温度检测A T 8 9 C 5 1主控模块键盘输入模块显示模块图2.1 系统框图主控芯片使用 51 系列 AT89C51 单片机,时钟芯片使用美国 DALLAS 公司推出的一种高性能、低功耗、带 RAM 的实时时钟 DS1302。采用 DS1302 作为计时芯片,可以做到计时准确。更重要的是,DS1302 可以在很小电流的后备电源(2.55.5V 电源,再 2.

17、5V 时耗电小于 300nA) ,而且 DS1302 可以编程选择多种充电电流来队后备电源进图。2.4 本章小结本章首先介绍了计算机控制系统的五种基本形式,经查阅相关资料确定了本文所8需要设计的单片机电子时钟概念。根据实际情况与技术要求,画出了系统结构框图,并拟定了系统总体设计方案,包括传感器单元、键盘单元、时钟芯片及显示单元系统各部分,并对每一部分都进行了较详细的叙述。第3章 系统硬件设计3.1 本系统的硬件设计概述本电路是由AT89C51单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月

18、、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31*8的用于临时性存放数据的RAM寄存器。可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;温度的采集由DS18B20构成;显示部份由LCD显示。3.2 单片机的选择及分析3.2.1 单片机的定义和特点所谓单片机就是把 CPU、寄存器、RAM/ROM、I/O 接口电路集成在一块集成电9路芯片上,构成一个完整的微型计算机。单片机的主要特点有:1、集成度高、功

19、能强:微型计算机通常由中央处理器(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 接口,而

20、且还有串行接口,且时钟频率可达 12MHz。2、结构合理:目前单片机大多采用 Harvard 结构。这是数据存储器与程序存储器相互独立的一种结构。而在许多微型计算机(如 Z80, Inte18085, M6800 等)中,大都采用两类存储器合二为一(即统一编址)的方式。单片机采用上述结构主要有四点好处存储量大、速度快、抗干扰性、强指令丰富。3.2.2 单片机的发展概况自从 1974 年 12 月美国仙童(Fairchild )公司第一个推出 8 位单片机 FS 以来,单片机以惊人的速度发展,从 4 位机、8 位机发展到 16 位机、32 位机,集成度越来越高,功能越来越强,应用范围越来越广。到

21、目前为止,单片机的发展主要可分为以下四个阶段:第一阶段:4 位单片机。这种单片机的特点是价格便宜,控制功能强,片内含有多种 I/O 接口,如并行 I/O 接口、串行 I/O 接口、定冲计数器接口、中断功能接口等。根据不同用途,还配有许多专用接口,如打印机接口、键盘及显示器接口,PLA(可编程逻辑阵列)译码输出接口,有些甚至还包括 A/D, D/A 转换,PLL (锁相环),声音合成等电路。丰富的 I/O 功能大大地增强了 4 位单片机的控制功能,从而使外部接口电路极为简单。第二阶段:低、中档 8 位机(1974-1978 年)。这种 8 位机一般不带有 I/O 接口,寻址范围通常为 4KB。它

22、是 8 位机的早期产品,如 Mostek 公司的 3870, Intel 公司的8048 等单片机即属此类。第三阶段:高档 8 位机阶段(1978-1982 年)。这一类单片机常有串行 I/O 接口,有多级中断处理,定时/计数器为 16 位,片内的 RAM 和 ROM 的容量相对增大,且寻址范围可达 64KB,有的片内还带有 A/D 转换接口。这类单片机有 Intel 公司的 MCS-1051,Motorola 公司的 6801 和 Ziiog 公司的 Z8 等。由于这类单片机应用领域较广,其结构和性能还在不断地改进和发展。第四阶段:16 位单片机和超 8 位单片机(1982 年至今)。此阶段

23、的主要特征是,一方面不断完善高档 8 位机,改善其结构,以满足不同用户的需要;另一方面发展 16位单片机及专用单片机。16 位单片机除了 CPU 为 16 位外,片内 RAM 和 ROM 的容量也进一步增大,片内 RAM 为 232 字节,ROM 为 8KB,片内带有高速输入输出部件,多通道 10 位 A/D 转换部件,中断处理为 8 级,其实时处理能力更强。近来, 32位单片机己进入实用阶段,但还未引入国内市场。在今后单片机的发展趋势将是:向着大容量、高性能化,小容量、低价格化和外围电路内装化等几个方面发展。3.2.3本系统单片机的选择AT89C51是美国ATMEL 公司生产的低电压,高性能

24、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 位

25、内 部 RAM 32 可 编 程 I/O 线 两 个 16 位 定 时 器 /计 数 器 5 个 中 断 源 可 编 程 串 行 通 道 低 功 耗 的 闲 置 和 掉 电 模 式 片 内 振 荡 器 和 时 钟 电 路2、功能性概述:AT89C51 提供以下标准功能:4k 字节 Flash 闪速存储器,128 字节内部11RAM,32 个 I/O 口线,两个 16 位定时/计数器,一个 5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可下降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU 的工作,但允许RAM ,定时 /计数器

26、,串行通信口及中断系统继续工作。掉电方式保存RAM的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。3、AT89C51的内部结构介绍单片机电路是系统控制的核心。单片机选用从 ATMEL 公司的低功耗、高性能的8 位 CMOS 芯片 AT89C51,其片内带有 4K 字节的闪速可编程及可擦除只读存储器(EPROM) 。引脚功能说明如下:VCC:电源电压GND:地 P0 口:P0 口是一组 8 位漏极开路型双向 I/O 口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的力式驱动 8 个 TTL 逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存

27、储器时,这组口线分时转换地址(低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。在 Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校图 3.1 AT89C51 引脚图验时,要求外接上拉电阻。Pl 口:P1 口是一个带内部上拉电阻的 8 位双向 I/O 口,P1 的输出缓冲级叫可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1” ,通过内部的上拉电阻把12端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(I IL) 。Flash 编程和程序校验期间,P1 接收低 8 位地址。P2 口:P2

28、口是一个带有内部上拉电阻的 8 位双向 I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1” ,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(I IL) 。在访问外部序程存储器或 16 位地址的外部数据存储器(例如执行MOVXDPTR 指令)时, P2 口送出高 8 位地址数据。在访问 8 位地址的外部数据存储器(如执行 MOVX RI 指令)时,P2 口线上的内容(也即特殊功能寄存器区中R2 寄存器的内容) ,在整个访问期间不改变。Flash 编程或校验时,P2 亦

29、接收高位地址和其它控制信号。P3 口:P3 口是一组带有内部上拉电阻的 8 位双向 I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对 P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的 P3 口将用上拉电阻输出电流(I IL) 。P3 口除了作为一般的 I/0 口线外,更重要的用途是它的第二功能,如下表 3.1 所示。P3 口还接收一些用于 Flash 闪速存储器编程和程序校验的控制信号。表 3.1 P3 口第二功能端口引脚 第二功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 (外中断 0)INT

30、0P3.3 (外中断 1)1P3.4 T0(定时/计数器 0)P3.5 T1(定时/计数器 1)P3.6 (外部数据存储器写选通)WRP3.7 (外部数据存储去读选通)DRST:复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将使单片机复位。ALE:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。即使不访问外部存储器,ALE 仍以时钟振荡频率的 1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。对 Flash 存储器编程期间,该引脚还13用于输入编程脉冲(

31、CS) 。如有必要,可通过对特殊功能寄存器(SFR)区中的 8EH 单元的 D0 位置位,可禁止 ALE 操作。该位置位后,只有一条 MOVX 和 MOVC 指令 ALE 才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE 无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51 由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的 PSEN 信号不出现。EA/VPP:外部访问允许。欲使 CPU 仅访问外部程序存储器(地址为 0000H-FFFFH) ,EA

32、端必须保持低电平(接地) 。需注意的是:如果加密位 LB1 被编程,复位时内部会锁存 EA 端状态。如 EA 端为高电平(接 VCC 端) ,CPU 则执行内部程序存储器中的指令。Flash 存储器编程时,该引脚加上+12V 的编程允许电源 Vpp,当然这必须是该器件是使用 12V 编程电压 Vpp。XTAL1:振荡器反相放大器及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。时钟振荡器: NC XTAL2XTAL1GND XTAL2XTAL1GND图 3.2 内部振荡电路与外部振荡电路AT89C51 中有一个用于构成内部振荡器的高增益反相放大器,引脚 XTAL1 和XTAL2

33、分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图 3-2。外接石英晶体(或陶瓷谐振器)及电容 C1、C2 接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。采用外部时钟的电路如图 3.2所示,这种情况下,外部时钟脉冲接到 XTAL1 端,即内部时钟发生器的输入端,14XTAL2 则悬空。时钟电路一般由晶体震荡器、晶震控制芯片和电容组成。时钟电路可以简单定义如下:1、就是产生象时钟一样准确的振荡电路。2、

34、任何工作都按时间顺序。用于产生这个时间的电路就是时钟电路。现在流行的串行时钟电路很多,如DS1302、DS1307、PCF8485 等。这些电路的接口简单、价格低廉、使用方便,被广泛地采用。3.3 DS1302时钟电路3.3.1 DS1302的介绍DS1302 是美国 DALLAS 公司推出的具有涓细电流充电能力的低功耗实时时钟电路,它可以对年、月、日、周、日、时、分、秒进行计时,且具有闰年补偿等多种功能。传统的数据记录存在时钟精度不高,易受环境影响。而且传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此,只能记录数据而无法准确记录其出现的时间,出现时钟混乱等缺点。DS1302可

35、以用于数据记录,特别是对某些具有特殊意义的数据点的记录,能实现数据与出现该数据的时间同时记录。这种记录对长时间的连续测控系统结果的分析及对异常数据出现的原因的查找具有重要意义。若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且,某些测控系统可能不允许。但是,如果在系统中采用时钟芯片DS1302,则能很好地解决这个问题。3.3.2 时钟电路连接在 DS1302 的引脚排列中,Vcc1 为后备电源,Vcc2 为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302 由 Vcc1 或 Vcc2 两者中的较大者供电。当 Vcc2

36、大于 Vcc1+0.2V 时,Vcc2 给 DS1302 供电。当 Vcc2 小于 Vcc1 时,DS1302由 Vcc1 供电。X1 和 X2 是振荡源,外接 32.768KHz 晶振。RST 是复位/片选线,通过把 RST 输入驱动置高电平来启动所有的数据传送。RST 输入有两种功能:首先,RST 接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST 提供终止单字节或多字节数据的传送手段。当 RST 为高电平时,所有的数据传送被初始化,允许对 DS1302 进行操作。如果在传送过程中 RSTS 置为低电平,则会终止此次数据传送,I/O 引脚变为高阻态。上电动行时,在 Vcc 大于等

37、于 2.5V 之前,RST 必须保持低电平。中有在 SCLK 为低电平时,才能将 RST 置为高电平,I/O 为串行数据输入端(双向) 。SCLK 始终是输入端。153.3 温度采集模块设计DS18B20 是一种改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现 912 位的数字值读数方式。可以分别在 93.75 ms 和 750 ms 内完成 9 位和 12 位的数字量,并且从 DS18B20 读出的信息或写入 DS18B20 的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的 DS18B20 供电,

38、而无需额外电源。因而使用 DS18B20 可使系统结构更趋简单,可靠性更高。1、DS18B20 有独特的单线接口方式:DS18B20 与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。2、在使用中不需要任何外围元件。3、可用数据线供电,电压范围: 3.05.5 V。4、测温范围:-55125 。固有测温分辨率为 0.5 。5、通过编程可实现 9“12 位的数字读数方式。6、用户可自设定非易失性的报警上下限值。7、支持多点组网功能,多个 DS18B20 可以并联在惟一的三线上,实现多点测温。8、负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。3.4

39、显示模块介绍MLO16液晶模块采用HD44780控制器。HD44780具有简单而功能较强的指令集,可以实现字符移动、闪烁等功能。MLO16与单片机通讯可采用 8位或者4位并行传输两种方式。HD44780控制器由两个8位寄存器、指令寄存器和数据寄存器、忙标志、显示数据RAM 、字符发生器RAM、地址计数器、IR用于寄存指令码,只能写入不能独处;DR 用于寄存数据,数据有内部操作自动写入 DDRAM和CGRAM ,或者暂存从DDRAM何CGRAM独处的数据。BF位1时,液晶模块处于内部处理模式,不响应外部操作指令和接收数据。DDRAM用来存储显示的字符,能存储80个字符码。CGROM有8位字符码生

40、成5*7点阵字符或者4个5*10 点阵字符。AC 可以存储DDRAM和CGRAM的地址,如果地址码随指令写入IR则IR 自动把地址码装入AC ,同时选择DDRAM或者 CGRAM单元。3.5 本章小结本章主要叙述了控制系统的硬件电路的功能和设计。首先,对本系统硬件部分先进行了总体概述并选择出单片机型号,除单片机的主控电路外,还有时钟电路模块,16温度采集模块,显示模块的设计。对硬件输入与输出两方面的每一部分都进行了较详细的叙述,包括各器件的选型以及相关的信号调理电路。第4章 系统软件设计4.1 程序流程图4.1.1 系统的总体程序流程 在程序设计过程中,采用合理的程序设计结构很关键。在本系统设

41、计过程中,主程序采用了自上而下的设计思路。本系统的总体程序流程图如下:17开始初始化整个系统读 / 写日期 、 时间日期 、 时间 、 温度显示子程序判断是否有键按下按键设置子程序日期修改子函数日历自动更新子程序结束4.1 系统总体流程图4.1.2 按键调整程序流程图本设计采用三键调时(设置、上键、下键) ,当按下设置键后开始用上、下键调分,再次按下设置键开始调整小时(方法同上) ,依次类推调星期、日、月、年如下图。4.2 本章小结软件设计是本系统的重点之一,它直接影响到系统的整体性能。本章详细描述了控制软件的功能和设计思路。首先介绍软件的设计结构,然后在说明软件的操作方法,然后列出软件相应的

42、子程序流程图与程序清单。18开始按设置键 , 光标闪 , 开始动时间调整进入秒调整分调整小时调整星期调整日调整月调整年调整按设置键 , 调整结束4.2 时间调整程序流程图19第 5 章 PROTEUS 系统的仿真5.1 编程环境 PROTEUS 介绍PROTEUS 软件是由英国 LabCenter Electronics 公司开发的 EDA 工具软件,由ISIS 和 ARES 两个软件构成,其中 ISIS 是一款便捷的电子系统仿真平台软件,ARES是一款高级的布线编辑软件,它集成了高级原理布线图、混合模式 SPICE 电路仿真、PCB 设计以及自动布线来实现一个完整的电子设计。5.2 用 PR

43、OTEUS ISIS 对时钟硬件电路设计通过 PROTEUS ISIS 软件的 VSM(虚拟仿真技术) ,用户可以对模拟电路、数字电路、模数混合电路,以及基于微控制器的系统连同所有外围接口电子元器件一起仿真。用 PROTEUS ISIS 设计硬件电路的过程5.2.1 选择设计图纸的到小根据设计所使用到元器件的多少,选择合适大小的设计图纸,操作是单击菜单栏上的 System Set Sheet Size ,然后弹出如图 5.1 所示的对话框,从中选择合适大小的图纸,也可以选择 User 进行图纸的自定义设置。在设计过程中也可以通过此方法调整图纸的大小。图 5.1 选择图纸5.2.2 选取仿真所需

44、的元器件 选取元器件的方式是,单击如图 5.2 所示的按钮“P” 。会弹出如图 5.3 所示的窗口。20图 5.2 选取元器件图 5.3 元器件列表从此窗口的左上角的“Keywords”中输入电子万年历设计用到的器件,如输入“AT89C51”,在中间会列出带有输入关键字的元器件,选择合适的元器件并双击它,则已经选择好了该元器件。然后再在“Keywords”中输入其他所需的元器件,用同样的方法进行操作。最后选择好所有的元器件如图 5.4 所示。21图 5.4 所用器件AT89C51 代表单片机会,DS1302 代表时钟芯片,RESPACK-8 代表八排电阻等。5.2.3 把元器件放到图纸的合适位

45、置进行布线单击如图 5.3 所示的元器件 AT89C51,再在右边图纸上单击,就把元器件放入到了图纸上。再用同样的方法把 DS1302 放入到图纸的合适位置。如果元器件放置错误,这可通过两次右击删除所放置的元器件,如果位置放得不理想,可以先右击该器件,然后按住左键进行移动。在布线之前,如果觉得元器件的引脚的方向不好布线,则可以通过单击四个按钮进行调整,这四按钮的意思分别是:顺时针旋转 90,逆时针旋转 90,沿 Y 轴对称,沿 X 轴对称。通过这样的调整,可以使整个布局合理一些。接着进行布线,由于 PROTEUS ISIS 有自动布线的功能。ISIS 还提供了网络布线,即不使用线连接也可以把两

46、个引脚虚拟的连接了起来。具体操作是:单击要连线的一个引脚,连出适当的距离后双击,另一个引脚也同样操作,单击“LBL”按钮,在弹出的窗口中的“String ”中填入名称,如“A ” ,对OUT7 引脚进行同样的操作,在“String”中也填入名称“A ”,这样就完成了引脚的网络连接,这个好处避免两个距离比较远的器件进行真实线的连接,使布线美观。5.2.4 编辑窗口连接端子要让最后的设计成功仿真时,必须放置并连接端子。选择 ,从中可以选择电路原理中的两个通用的端子,一个是接地,一个是电源。如图 5.5 所示。图 5.5 连接端子5.3Keil 工程文件的建立、设置与目标文件的获得单片机开发中除必要

47、的硬件外,同样离不开软件,我们写的汇编语言源程序要变为 CPU 可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51 单片机的汇编软件有早期的 A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil 软件是目前最流行开发 MCS-51 系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持 Keil 即可看出。Keil 提供了包括 C 编译器、宏汇编、连接器、库管理和一个22功能强大的仿真调试器等在内的完整开发方案,通 过一个集成

48、开发环境(uVision)将这些部份组合在一起。运行 Keil 软件需要 Pentium 或以上的 CPU,16MB 或更多RAM、20M 以上空闲的硬盘空间、 WIN98、NT、 WIN2000、WINXP 等操作系统。掌握这一软件的使用对于使用 51 系列单片机的爱好者来说是十分必要的,如果你使用 C 语言编程,那么 Keil 几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件) ,即使不使用 C 语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。5.3.1Keil 工程的建立首先启动 Keil 软件的集成开发环境,这里

49、假设读者已正确安装了该软件,可以从桌面上直接双击 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 )这一概念,将这些参数设置和所需的所有文件都加在一个工程中

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 论文指导/设计

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报