基于51单片机的电子万年历毕业论文设计

上传人:1777****777 文档编号:37517193 上传时间:2021-11-03 格式:DOC 页数:49 大小:1.44MB
返回 下载 相关 举报
基于51单片机的电子万年历毕业论文设计_第1页
第1页 / 共49页
基于51单片机的电子万年历毕业论文设计_第2页
第2页 / 共49页
基于51单片机的电子万年历毕业论文设计_第3页
第3页 / 共49页
点击查看更多>>
资源描述
I 摘 要 随着社会的发展,信息量的不断提升以前对信息交换的要求提高,电子万年历的发展以及投入市场变得非常有必要。本设计是基于 51 单片机并模拟日常所用的日历,而 51系列单片机是各单片机中最为典型和最有代表性的一种。通过本次设计,学习和巩固了单片机指令编程的相关知识,熟悉单片机各部件的组成及其功能。本设计将制作一种基于单片机控制的带实时温度显示、具有定时功能的电子万年历。传统的电子日历大都体积大,功耗大,显示不准确等特点。为了缩小体积,减小功耗,使其变得小巧灵敏,本设计加入了时钟芯片 DS1302,可对时间进行准确记时,同时可设置定时时间,实现定时功能。另外本设计具有显示实时温度的功能。传统的温度传感器系统大都采用放大、调理、A/D 转换,转换后的数字信号送入计算机处理,处理电路复杂、可靠性相对较差,占用计算机的资源比较多。本设计将采用 DS18B20 一线制数字温度传感器,可将温度信号直接转换成数字信号送给微处理器,电路简单,成本低,实现了时间温度同时显示的效果。最后,温度和时间都将通过 12864 液晶显示器进行显示。测试表明系统达到了设计要求的各项功能,各部分工作正常。关键词:时钟 温度检测 单片机 温度IIABSTRACTWith the development of the society, the amount of information is improving the requirements of the information exchange. the development of the electronic calendar and the investment market become very necessary. This design is based on 51 single-chip microcomputer and simulation used in the daily calendar, and 51 series microcontroller is the MCU in the most typical and most representative one. Through this design, learning and consolidate the single chip microcomputer instruction programming knowledge, be familiar with composition and function of the microcontroller parts.This design creates an electronic calendar with real-time temperature display and timing function based on single chip control. Most of traditional calendars are characterized by large size, high power consumption and inaccurate display. In order to reduce volume and power consumption and make calendars become small and exquisite, the design adds a clock chip DS1302, which can accurately record the time and set a regular time to achieve timing function. In addition, this design displays real-time temperature function. Traditional temperature sensor system is mostly amplified, recuperated and A / D converted. The converted digital signal is input the computer to be processed, but the processing circuit is complicated with relatively poor reliability and occupies more resources of the computer. This design uses the DS18B20 first-line system digital temperature sensor to directly convert the temperature signal into digital signal and send it the microprocessor, whose circuit is simple and low cost, achieving the displayed effect of time and temperature simultaneously. Finally, the temperature and time will be displayed through the 12864 liquid crystal display. The test indicates that the system has reached various functions of the design requirements and each part operates smoothly.Keywords:Keywords: clock temperature-detection SCM temperatureIII目 录1 1 绪论绪论 .1 12 2 系统基本方案选择和论证系统基本方案选择和论证 .1 12.12.1 单片机芯片的选择方案和论证单片机芯片的选择方案和论证.12.22.2 显示模块的选择方案和论证显示模块的选择方案和论证.12.32.3 时钟芯片的选择方案和论证时钟芯片的选择方案和论证.22.42.4 温度传感器的选择方案和论证温度传感器的选择方案和论证.32.52.5 电路设计最终方案确定电路设计最终方案确定.43 3 系统硬件电路设计系统硬件电路设计 .1 13.1 系统功能模块划分.13.2 各单元模块功能分析及模块电路设计.23.2.1 时钟模块.23.2.2 温度模块.23.2.3 显示模块.53.2.4 独立键盘模块.53.2.5 蜂鸣器模块.63.2.6 单片机模块.73.2.7 温度信息的采集.83.3 电路原理图的绘制和电路的焊接.13.3.1 原理图绘制软件 PROTEL .13.3.2 PCB 制作 .13.3.3 元器件的焊接.34 4 系统软件设计系统软件设计 .1 14.1 万年历软件系统的流程图.14.3 温度的读取.5下面是温度读取的子程序:.64.4 键盘模块.64.5 蜂鸣器模块.6结束语结束语 .1 1致致 谢谢 .1 1参考文献参考文献 .1 1附录附录 .1 111 1 绪论绪论二十一世纪是数字化技术高速发展的时代,而单片机在数字化高速发的时代扮演着极为重要的角色。随着单片机技术在社会生活中的应用越来越广泛,对单片机的应用和开发也是现代电子工程技术员必须掌握的一门技术。而且随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也越来越多。电子万年历的开发与研究在信息化时代的今天则是当务之急,因为它应用在学校、机关、企业等众多的公共场合,可以说遍及人们生活的每个角落。目前市场上各式各样的电子时钟数不胜数,但大多数只是针对时间显示,功能单一不能满足人们日常生活需求。本次设计的万年历功能多样,显示直观,读取方便,价格也更加低廉,符合电子仪器仪表的未来发展趋势,具有广阔的市场前景。所以数字万年历无论从实用的角度和培养能力的角度都很有价值。电子万年历显示功能,包括公历年、月、日,时间、温度、星期、农历等等;附带功能有:定时闹铃、以及按钮是否可以正常调动。本文提出了一种基于 AT89S52 单片机的万年历设计方案,采用 LCD 显示。本方案以 AT89S52 单片机作为主控核心,与时钟芯片 DS1302、温度芯片 DS18B20、人体红外感应模块、闹钟模块、按键、LCD 显示等模块组成硬件系统。在硬件系统中设有 7 个独立按键和一个 LCD 显示器,能显示丰富的信息,根据使用者的需要可以随时对时间进行校准、时间、温度显示等,综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。随着电子技术的迅速发展,特别是随大规模集成电路出现,给人类生活带来了根本性的改变。尤其是单片机技术的应用产品已经走进了千家万户。电子万年历的出现给人们的生活带来的诸多方便。万年历中使用的 LCD 的应用很广泛,如手表上的液晶显示屏,仪表仪器上的液晶显示器或者是电脑笔记本上的液晶显示器,都使用了 LCD。在一般的办公设备上也很常见,如传真机,复印机,以及一些娱乐器材玩具等也常常见到 LCD 的足迹。字符型液晶显示模块是一种专门用于显示字母,数字,符号等的点阵式液晶显示模块。在显示器件上的设计,它是由若干个 57 或 511 等点阵符位组成。每一个点阵字符位都可以显示一个字符。点阵字符位之间有一空点距的间隔起到了字符间距和行距的作用。目前市面上常用的有 16 字1 行,16 字2 行,20 字2 行和 40 字2 行等的字符模块组。这些 LCD 虽然显示字数各不相同,但是都具有相同的输入输出界面。2市场上有许多电子万年历的专用芯片,如:LM8363、LM8365 等,但它们功能单一,电路连接复杂,不便于调试制作。因此本系统采用了以 AT89S52 单片机技术为核心,配合 DS18B20 温度测量模块,DS1302 时钟模块,人体感应模块,LCD 显示模块,键盘模块使该设计具有现实功能齐全,人机交互,节能的特点。 随着单片机的发展,电子万年历呈现了微型化 ,功能丰富化的趋势,而且价格在不断下降,考虑到资源问题,现在的设计设计的万年历都采用了节能设计方案,万年历对人们的生活有着十分重要的作用,所以电子万年历还是有很大的发展前景的。12 2 系统基本方案选择和论证系统基本方案选择和论证2.12.1 单片机芯片的选择方案和论证单片机芯片的选择方案和论证方案一:采用 89C51 芯片作为硬件核心,89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器,采用 Flash ROM,内部具有 4KB ROM 存储空间,能于 3V 的超低压工作,而且与 MCS-51 系列单片机完全兼容,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能8 位 CPU 和闪烁存储器组合在单个芯片中,89C51 是一种高效微控制器,51 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案但是运用于电路设计中时由于不具备在线编程(ISP)技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插可能对芯片造成一定的损坏,目前该型号芯片已经停产。方案二:采用 AT89S52 单片机,AT89S52 单片机是 ATMEL 生产的单片机,是新一代 8051 单片机,指令代码完全兼容传统 8051。内部集成看门狗电路。AT89S52 单片机内部有 8KB 的程序 Flash 存储器。由于我们设计的万年历烧写文件大概在 7KB 左右 ,而 AT89S52 单片机的程序 Flash 为 8KB,不用再外接程序存储器了。经过综合比较最终选择方案二,即选择 AT89S52 作为主控制器。2.22.2 显示模块的选择方案和论证显示模块的选择方案和论证方案一:LCD12864 液晶是一种具有 8 位并行接口方式的点阵图形液晶显示模块;其显示分辨率为 12864。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示 1616 点阵的汉字,也可完成图形显示,低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多。万年历要求显示年月日、时分秒、星期、和农历。LCD12864 液晶可以完成设计的要求 。方案二: 系统采用 LED 显示。LED 应用可分为两大类:一是 LED 单管应用,包括背光源2LED,红外线 LED 等;另外就是 LED 显示屏,目前,中国在 LED 基础材料制造方面与国际还存在着一定的差距,但就 LED 显示屏而言,中国的设计和生产技术水平基本与国际同步。LED 显示屏是由发光二极管排列组成的显示器件。它采用低电压扫描驱动,具有:耗电少、使用寿命长、成本低、亮度高、故障少、视角大、可视距离远等特点。采用 LED数码管动态扫描.价格上比较经济实惠,但不能显示文字,性价比不是很高,操作起来比较液晶显示来说略显繁琐,所以也不用此种作为显示。经过综合比较最终选择方案一,即选择 LCD12864 液晶显示屏。2.32.3 时钟芯片的选择方案和论证时钟芯片的选择方案和论证方案一:采用单片机定时。单片机集成度高、功能强、可靠性高、体积小、功耗低、使用方便、价格低廉等一系列优点,单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC 机外围以及网络通讯等广大领域。直接采用单片机定时计数器提供秒信号,计数的脉冲由外部提供,定时的脉冲由外部晶振提供,定时加 1 的周期为一个机器周期;定时时间与初值和晶振频率有关。使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案减少芯片的使用,节约成本,但程序复杂度较高。方案二:采用 DS1302 时钟芯片。DS1302 是美国 DALLAS 公司推出的一种高性能、低功耗、带RAM 的实时时钟电路,它可以对年、月、日、星期、时、分、秒进行计时,具有闰年补偿功能,工作电压为 2.5V5.5V。采用双电源供电(主电源和备用电源) ,可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。DS1302 用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。采用三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或 RAM 数据。DS1302 内部有一个 318 的用于临时性存放数据的 RAM 寄存器。采用 DS1302 只需要写出驱动程序,调用程序读出寄存器内数据经过简单的变换就可以输出万年历的数据。经过综合比较最终选择方案二,即采用 DS1302 时钟芯片。32.42.4 温度传感器的选择方案和论证温度传感器的选择方案和论证方案一:采用热敏电阻作为温度传感器。热敏电阻是开发早、种类多、发展较成熟的敏感元器件。热敏电阻由半导体陶瓷材料组成,利用的原理是温度引起电阻变化。热敏电阻的主要特点是:灵敏度较高,其电阻温度系数要比金属大 10100 倍以上;工作温度范围宽,常温器件适用于-55315,高温器件适用温度高于 315(目前最高可达到2000)低温器件适用于-27355;体积小,能够测量其他温度计无法测量的空隙、腔体及生物体内血管的温度;使用方便,电阻值可在 0.1100k 间任意选择;易加工成复杂的形状,可大批量生产;稳定性好、过载能力强。由于半导体热敏电阻有独特的性能,所以在应用方面它不仅可以作为测量元件(如测量温度、流量、液位等) ,还可以作为控制元件(如热敏开关、限流器)和电路补偿元件。热敏电阻广泛用于家用电器、电力工业、通讯、军事科学、宇航等各个领域,发展前景极其广阔。 使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行 A/D 转换。此设计方案需用 A/D 转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误差。方案二:采用 DS18B20 温度传感器。在应用与高精度、高可靠性的场合时 DALLAS(达拉斯)公司生产的 DS18B20 温度传感器当仁不让。超小的体积,超低的硬件开消,抗干扰能力强,精度高,附加功能强,使得 DS18B20 更受欢迎。对于我们普通的电子爱好者来说,DS18B20 的优势更是我们学习单片机技术和开发温度相关的小产品的不二选择。这是世界上第一片支持“一线总线”接口的温度传感器。DS18B20 数字温度计提供 9 位(二进制)温度读数,指示器件的温度。信息经过单线接口送入 DS18B20 或从 DS18B20 送出,因此从单片机到 DS18B20 仅需一条线连接即可。它可在 1 秒钟(典型值)内把温度变换成数字经过综合比较最终选择方案二,即采用采用 DS18B20 温度传感器。42.52.5 电路设计最终方案确定电路设计最终方案确定最终选择单片机 AT89S52 作为主控制器;选择 LCD12864 型液晶作为显示模块,此模块可以显示字母、数字符号、中文字型及图形,具有绘图及文字画面混合显示功能;选择采用 DS1302 时钟芯片,使程序实现年、月、日、星期、时、分、秒,即农历阳历时间的显示。采用 DS18B20 温度传感器,可以对温度做出比较精确的测量,而且和单片机通讯只要一个 IO,连接方便。13 3 系统硬件电路设计系统硬件电路设计3.13.1 系统功能模块划分系统功能模块划分根据系统功能要求,可大致画出系统所需硬件结构框图如图 3-1 所示:图图 3-13-1 系统功能模块图系统功能模块图主控模块采用性价比较高的 AT89S52 单片机芯片,在其内部烧写好程序,可通过程序的运行控制测温模块进行测温;测温模块主要是由 DS18B20 构成,将其与所测对象进行接触即可获取被测对象的温度数据,而所测得的温度和时钟芯片测得的实时日历将通过显示模块的液晶显示器以数字形式显示;单片机调用程序,读取 DS1302 内寄存器,可以得到万年历的时间数据,经过程序处理就可以输出在 LCD 上;键盘电路可对实时日历进行调整;蜂鸣器可以在闹钟定时中,作为声音提醒。23.23.2 各单元模块功能分析及模块电路设计各单元模块功能分析及模块电路设计3.2.13.2.1 时钟模块时钟模块 DS1302 的工作原理和单片机的接口:DS1302 为美国 DALLAS 公司的一种实时时钟芯片,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用 32.768Hz 晶振。它可以对年、月、日、星期、时、分、秒进行计时,且具有闰年补偿等多种功能。DS1302 用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录。这种记录对长时间的连续测控系统结果的分析以及对异常数据出现的原因的查找有重要意义。在本设计中,它的实际电路图如图 3-2 所示:图图 3-23-2 DS1302DS1302 与单片机的连接与单片机的连接DS1302 需要外接 32.768K 的晶振,1 号引脚接主电源 VCC(5V)电源,8 号引脚接备用电池(3V) ,当主电源掉电后,备用电源为 DS1302 提供电源,维持 DS1302 内数据不丢失,这正是时钟芯片所必须的特性。3.2.23.2.2 温度模块温度模块传统的温度传感器系统大都采用放大、调理、A/D 转换,转换后的数字信号送入计算机处理,处理电路复杂、可靠性相对较差,占用计算机的资源比较多,本设计测温模块采用一线制总线数字温度传感器 DS18B20,可将温度信号直接转换成数字信号送给微处理器,电路简单,成本低,其电路原理图如图 3-3 所示:3图图 3-33-3 DS18B20DS18B20 温度模块温度模块从图中可看出,将温度传感器的一线制总线通过端口 2 与本设计主控芯片STC12C5A6S2 的端口标号为 DS18B20 的相连即可实现相互之间的通信。设计中的测温元件采用的是 DS18B20 测温元件,DS18B20 是由 DALLAS(达拉斯)公司生产的一种温度传感器。超小的体积,超低的硬件开消,抗干扰能力强,精度高,附加功能强,使得 DS18B20 很受欢迎。这是世界上第一片支持“一线总线”接口的温度传感器。DS18B20 数字温度计提供 9 位(二进制)温度读数,指示器件的温度。信息经过单线接口送入 DS18B20 或从DS18B20 送出,因此从单片机到 DS18B20 仅需一条线连接即可。它可在 1 秒钟(典型值)内把温度变换成数字。3.2.2.13.2.2.1 DS18B20DS18B20 的主要特征:的主要特征:1)DS18B20 的主要特征: 全数字温度转换及输出; 先进的单总线数据通信; 最高12位分辨率,精度可达土0.5; 12位分辨率时的最大工作周期为750毫秒; 可选择寄生工作方式; 检测温度范围为55+125; 内置EEPROM,限温报警功能; 64位光刻ROM,内置产品序列号,方便多机挂接; 多样封装形式,适应不同硬件系统。42)DS18B20芯片其封装结构如下: 图图 3-43-4 DS18B20DS18B20 芯片封装图芯片封装图 由其引脚可看出,其 3 个引脚: GND 为电压地直接接地;DQ 为单数据总线用来与单片机相连接,本系统中 DS 与单片机 P2.6 接口连接,仅此一个连接就能保证 DS18B20 与单片机之间的数据交换;VDD 引脚接电源电压。3.2.2.23.2.2.2 DS18B20DS18B20 的工作原理的工作原理DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。一个工作周期可分为两个部分,即温度检测和数据处理。DS18B20共有三种形态的存储器资源,分别是:ROM 只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H) ,后面48位是芯片唯一的序列号,最后8位是以上56位的CRC码(冗余校验) 。数据在出产时设置不由用户更改。DS18B20共64位ROM, RAM 数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。在上电复位时其值将被刷新。第5个字节则是用户第3个EEPROM的镜像。第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC码。EEPROM 非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。我们在每一次读温度之前都必须进行复杂的且精准时序的处理,因为DS18B20的硬件简单结果就会导致软件的巨大开消。53.2.33.2.3 显示模块显示模块本设计显示模块主要采用 LCD12864 液晶显示器,其电路原理图如下:图图 3-53-5 LCD12864LCD12864 模块模块LCD12864 液晶显示器通过数据端口也即端口 714 与主控芯片 AT89S52 的 I/O 端口P3 相连接实现数据与指令的传输,再通过控制端口 RS、RW、EN 也即端口 46 与主控芯片 P1.5,P1.6,P1.7 端口相接实现对数据和指令传输的控制 。显示模块采用 12864 液晶显示器可实现对温度和时间的直接显示,清晰明了。 3.2.43.2.4 独立键盘模块独立键盘模块键盘是人与万年历实现信息交互的接口,本设计中,我们采用 3 个独立键盘,电路原理如下图 3-9:6图图 3-93-9 独立键盘独立键盘当按键按下,与主控芯片连接的端口被降为低电平,按键松开则也升为高电平。按键采用的是 Tack Switch 按钮开关,它具有自动恢复(弹回)的功能。当我们按下按钮时,其中的接点接通(或切断) ,放开按钮后,接点恢复为切断(或接通) 。按照尺寸区分,电子电路或微型计算机所使用的 Tack Swith 可分为 8mm、10mm、12mm 等。虽然 Tack Switch 有 4 个引脚,但实际上,其内部只有一对 a 接点,即其中两个引脚是内部相连通的,而另外两个引脚内部也是相连通的。7 个按键实现了开机模式选择,日期调节等功能,独立按键的引入使得体现了本设计的人性化,智能化,功能的强大。3.2.53.2.5 蜂鸣器模块蜂鸣器模块蜂鸣器模块是本设计中体现人机交互的又一大设计亮点,其电路原理图如下图:图图 3-103-10 蜂鸣器模块蜂鸣器模块(1)蜂鸣器的介绍蜂鸣器的作用:蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广 1泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时7器等电子产品中作发声器件。 蜂鸣器的分类:蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两类。 2 蜂鸣器的电路图形符号:蜂鸣器在电路中用字母“H”或“HA” (旧标准用“FM” 、 3“LB” 、 “JD”等)表示。本设计里,我们采用有源蜂鸣器,由于蜂鸣器的工作电流一般比较大,以至于单片机的 I/O 口是无法直接驱动的,所以要利用放大电路来驱动,我们使用三极管来放大电流,驱动蜂鸣器,此模块只要通过 BELL(连接到到单片机 P2.7)输入的 PWM 波既可以使蜂鸣器分出声音,我们设计的这款万年历可以在闹钟定时中作为声音提醒信号。3.2.63.2.6 单片机模块单片机模块AT89S52 是 ATMEL 公司生产的低功耗,高性能 CMOS8 位单片机,片内含 8k bytes 的可系统编程的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 8051 指令系统及引脚,它集 Flash 存储器既可在线编辑(ISP)也可用传统方法进行编辑及通用 8 位微处理器于单片芯片中,功能强大AT89S52 单片机可为您提供许多高性价比的应用场合。器管脚图如图 3-2:图图 3-13-1 AT89S52AT89S52 管脚图管脚图在本系统中,AT89S52 单片机内部的功能单元已经能够满足系统设计需要,不需要系统扩展。AT89S52 具有以下的特点:主要性能 8 与 MCS-51 单片机产品兼容 8K 字节在系统可编程 Flash 存储器 1000 次擦写周期 全静态操作:0Hz33Hz 三级加密程序存储器 32 个可编程 I/O 口线 三个 16 位定时器/计数器 八个中断源 全双工 UART 串行通道 低功耗空闲和掉电模式 掉电后中断可唤醒 看门狗定时器 双数据指针 掉电标识符 AT89S52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52 具有以下标准功能: 8k 字节 Flash,256 字节 RAM,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。3.2.73.2.7 温度信息的采集温度信息的采集通过DS18B20单线总线的所有执行处理都从一个初始化序列开始。初始化序列包括一个由总线控制器发出的复位脉冲和随后由从机发出的存在脉冲:(1)复位:首先我们必须对DS18B20芯片进行复位,复位就是由控制器(单片机)给DS18B20单总线至少480us的低电平信号。当18B20接到此复位信号后则会在1560us后回发一个芯片的存在脉冲。 (2)存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,以便于在91560us后接收存在脉冲,存在脉冲为一个60240us的低电平信号。至此,通信双方已经达成了基本的协议,接下来将会是控制器与18B20间的数据通信。(3)控制器发送ROM指令:双方打完了招呼之后最要将进行交流了,ROM指令共有5条,每一个工作周期只能发一条,ROM指令分别是读ROM数据、指定匹配芯片、跳跃ROM、芯片搜索、报警芯片搜索。各自功能如下: Read ROM(读ROM)33H (方括号中的为16进制的命令字): 这个命令允许总线控制器读到DS18B20的64位ROM。只有当总线上只存在一个DS18B20的时候才可以使用此指令。Match ROM(指定匹配芯片)55H: 这个指令后面紧跟着由控制器发出了64位序列号,当总线上有多只DS18B20时,只有与控制发出的序列号相同的芯片才能做出反应,其它芯片将等待下一次复位。这条指令适合单芯片和多芯片挂接。 Skip ROM(跳跃ROM指令)CCH: 这条指令使芯片不对ROM编码做出反应,在单总线的情况之下,为了节省时间则可以选用此指令。如果在多芯片挂接时使用此指令将会出现数据冲突,导致错误出现。 Search ROM(搜索芯片)F0H: 在芯片初始化后,搜索指令允许总线上挂接多芯片时用排除法识别所有器件的64位ROM。 Alarm Search(报警芯片搜索)ECH: 在多芯片挂接的情况下,报警芯片搜索指令只对附合温度高于TH或小于TL报警条件的芯片做出反应。只要芯片不掉电,报警状态将被保持,直到再一次测得温度值达不到报警条件为止。 ROM指令为8位长度,功能是对片内的64位光刻ROM进行操作。其主要目的是为了分辨一条总线上挂接的多个器件并作处理。诚然,单总线上可以同时挂接多个器件,并通过每个器件上所独有的ID号来区别,一般只挂接单个18B20芯片时可以跳过ROM指令(注意:此处指的跳过ROM指令并非不发送ROM指令,而是用特有的一条“跳过指令” ) 。(4)控制器发送存储器操作指令:在ROM指令发送给18B20之后,紧接着(不间断)就是发送存储器操作指令了。操作指令同样为8位,共6条,存储器操作指令分别是写RAM数据、读RAM数据、将RAM数据复制到EEPROM、温度转换、将EEPROM中的报警值复制到RAM、工作方式切换。 Write Scratchpad (向RAM中写数据)4EH:这是向RAM中写入数据的指令,随后写入的两个字节的数据将会被存到地址2(报警RAM之TH)和地址3(报警RAM之TL) 。写入过程中可以用复位信号中止写入。 10 Read Scratchpad (从RAM中读数据)BEH:此指令将从RAM中读数据,读地址从地址0开始,一直可以读到地址9,完成整个RAM数据的读出。芯片允许在读过程中用复位信号中止读取,即可以不读后面不需要的字节以减少读取时间。 Copy Scratchpad (将RAM数据复制到EEPROM中)48H:此指令将RAM中的数据存入EEPROM中,以使数据掉电不丢失。此后由于芯片忙于EEPROM储存处理,当控制器发一个读时间隙时,总线上输出“0” ,当储存工作完成时,总线将输出“1” 。在寄生工作方式时必须在发出此指令后立刻超用强上拉并至少保持10MS,来维持芯片工作。 Convert T(温度转换)44H:收到此指令后芯片将进行一次温度转换,将转换的温度值放入RAM的第1、2地址。此后由于芯片忙于温度转换处理,当控制器发一个读时间隙时,总线上输出“0” ,当储存工作完成时,总线将输出“1” 。在寄生工作方式时必须在发出此指令后立刻超用强上拉并至少保持500MS,来维持芯片工作。 Recall EEPROM(将EEPROM中的报警值复制到RAM)B8H:此指令将EEPROM中的报警值复制到RAM中的第3、4个字节里。由于芯片忙于复制处理,当控制器发一个读时间隙时,总线上输出“0” ,当储存工作完成时,总线将输出“1” 。另外,此指令将在芯片上电复位时将被自动执行。这样RAM中的两个报警字节位将始终为EEPROM中数据的镜像。 Read Power Supply(工作方式切换)B4H:此指令发出后发出读时间隙,芯片会返回它的电源状态字, “0”为寄生电源状态, “1”为外部电源状态。 存储器操作指令的功能是命令18B20作什么样的工作,是芯片控制的关键。 (5)执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。 DS18B20需要严格的协议以确保数据的完整性。协议包括几种单线信号类型:复位脉冲、存在脉冲、写0、写1 、读0和读1。所有这些信号,除存在脉冲外,都是由总线控制器发出的。和DS18B20间的任何通讯都需要以初始化序列开始。一个复位脉冲跟着一个存在脉冲表明DS18B20已经准备好发送和接收数据(适当的ROM命令和存储器操作命令) 。DS18B20的复位时序:11 图图4-24-2 DS18B20DS18B20复位时序图复位时序图DS18B20 的读时序:对于DS18B20的读时序分为读0时序和读1时序两个过程。对于DS18B20的读时隙是从主机把单总线拉低之后,在15us之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。 图图4-34-3 DS18B20DS18B20读时序图读时序图DS18B20 的写时序:对于 DS18B20 的写时序仍然分为写 0 时序和写 1 时序两个过程。对于 DS18B20 写 0 时序和写 1 时序的要求不同,当要写 0 时序时,单总线要被拉低至少 60us,保证 DS18B20能够在 15us 到 45us 之间能够正确地采样 IO 总线上的“0”电平,当要写 1 时序时,单总线被拉低之后,在 15us 之后就得释放单总线。13.33.3 电路原理图的绘制和电路的焊接电路原理图的绘制和电路的焊接在硬件的设计前期,根据框图对电路中可能出现的电路,进行了模拟实验,并根据实验结果对后期的硬件设计进行了合理化的修改完善。在前面已分析了系统并绘制了框图,并根据框图分别设计了各部分电路。由于温度传感器与时钟芯片集成度较高,所以在硬件电路设计时不需要太多其他元件即可实现预期功能。因此在 PROTEL 上对原理图进行了绘制,从而得出了最终的完整电路原理图附录 1。 3.3.13.3.1 原理图绘制软件原理图绘制软件 PROTELPROTEL PROTEL 是 PORTEL 公司在 80 年代末推出的 EDA 软件,在电子行业的 CAD 软件中,它当之无愧地排在众多 EDA 软件的前面,是电子设计者的首选软件,它包含了电原理图绘制、模拟电路与数字电路混合信号仿真、多层印制电路板设计(包含印制电路板自动布线) 、可编程逻辑器件设计、图表生成、电子表格生成、支持宏操作等功能,并具有Client/Server (客户/服务器)体系结构,同时还兼容一些其它设计软件的文件格式,如 ORCAD,PSPICE,EXCEL 等,其多层印制线路板的自动布线可实现高密度 PCB 的 100布通率。Protel 99SE 采用数据库的管理方式。该软件沿袭了 Protel 以前版本方便易学的特点,内部界面与 Protel 99 大体相同,新增加了一些功能模块,功能更加强大。新增的层堆栈管理功能,可以设计 32 个信号层,16 个地电层,16 个机械层。新增的 3D 功能在加工印制版之前可以看到板的三维效果。其具有的打印功能,可以轻松修改打印设置控制打印结果。Protel 99SE 容易使用的特性还体现在其帮助功能,按下右上角的小问号,然后输入你所要的信息,可以很快地看到特性的功能,然后用到设计中,按下状态栏末端的按钮,使用帮助顾问。3.3.23.3.2 PCBPCB 制作制作 2 当通过 PROTEL 绘制出完整的电路原理图后,就可以按照绘制好的原理图制作 PCB了,具体步骤如下:(1)打印电路板。将绘制好的电路板用转印纸打印出来,注意滑的一面面向自己,一般打印两张电路板,即一张纸上打印两张电路板。在其中选择打印效果最好的制作线路板。(2)裁剪覆铜板,也就是表面面都覆有铜膜的线路板,将覆铜板裁成电路板的大小,不要过大,以节约材料。(3)预处理覆铜板。用细砂纸把覆铜板表面的氧化层打磨掉,以保证在转印电路板时,热转印纸上的碳粉能牢固的印在覆铜板上,打磨好的标准是板面光亮,没有明显污渍。(4)转印电路板。将打印好的电路板裁剪成合适大小,把印有电路板的一面贴在覆铜板上,对齐好后把覆铜板放入热转印机,放入时一定要保证转印纸没有错位。一般来说经过 2-3 次转印,电路板就能很牢固的转印在覆铜板上。热转印机事先就已经预热,温度设定在 90-1400 摄氏度,由于温度很高,操作时注意安全。(5)腐蚀线路板,回流焊机。先检查一下电路板是否转印完整,若有少数没有转印好的地方可以用黑色油性笔修补。然后就可以腐蚀了,等线路板上暴露的铜膜完全被腐蚀掉时,将线路板从腐蚀液中取出清洗干净,这样一块线路板就腐蚀好了。腐蚀液的成分为浓盐酸、浓双氧水、水,比例为 1:2:3,在配制腐蚀液时,先放水,再加浓盐酸、浓双氧水,若操作时浓盐酸、浓双氧水或腐蚀液不小心溅到皮肤或衣物上要及时用清水清洗,由于要使用强腐蚀性溶液,操作时一定注意安全。(6)线路板钻孔。线路板上是要插入电子元件的,所以就要对线路板钻孔了。依据电子元件管脚的粗细选择不同的钻针,在使用钻机钻孔时,线路板一定要按稳,钻机速度不能开的过慢。(7)线路板预处理。钻孔完后,用细砂纸把覆在线路板上的墨粉打磨掉,用清水把线路板清洗干净。水干后,用松香水涂在有线路的一面,为加快松香凝固,我们用热风机加热线路板,只需 2-3 分钟松香就能凝固。按照上面的流程,我们就做出来一块 PCB 电路板了。由于采用实验板成本更低,最后实物制作时采用了实验板焊接。33.3.33.3.3 元器件的焊接元器件的焊接元器件装焊顺序依据的原则是:先低后高,先小后大。一般情况下,应按电阻、电容、二极管、三极管、集成电路、大功率管顺序焊接。(1)对元器件焊接的要求电阻的焊接:按图将电阻准确装入规定位置,型号标记要易见且方向也尽量一致。 1要求焊接一种规格后再焊接另一种规格。电容的焊接:按图将电容准确装入规定位置,并注意有极性电容的极性方向不能错。 2电容上的型号标记要易见见且方向也尽量一致。电解电容要紧靠 PCB 板,不可悬浮。 二极管的焊接:正确辨认正负极性后按要求装入规定位置,型号标记要易见,焊接 3时间尽量可能短。 三极管的焊接:正确辨认各引脚后按要求装入规定位置,型号标记要易见,焊接时 4间尽可能短。 场效应管的焊接:正确辨认各引脚后按要求装入规定位置,焊接时间尽可能短。 5需要加散热片的,将接触面打磨光滑并加硅脂后再紧固。 集成电路(芯片)的焊接: 6 集成电路(芯片)焊接时,要注意按图纸要求检查型号、焊接位置是否符合要求,焊接时先焊芯片边沿的两只引脚,以便使其定位,然后再从左到右或从上到下进行逐点焊接。焊接时间尽可能短,禁止拉焊。(2) 焊接质量检查 元器件不得有错装、漏装、错联和歪斜松动等。 1 焊点应吃锡饱满,无毛刺、无针孔、无气泡、裂纹、挂锡、拉点、漏焊、碰焊、 2虚焊等缺陷。焊接后电路板上的金属件表面应无锈蚀和其它杂质。 34焊接完成的电路板不得有斑点、裂纹、气泡、发白等现象,铜箔及敷形涂覆层不得 4脱落、不起翘、不分层。元器件的引脚或引线表面应渗锡均匀。 5在完成电路的焊接后,测试之前,一定要先对电路检测,看是否有短路情况出现,以免芯片损坏。电源输入电压也是关键因素,在供电之前务必用万用表先测量。14 4 系统软件设计系统软件设计系统软件设计中,我们使用了 Keil Vision2。Keil C51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势,所以我们选择该软件来开发我们的万年历程序。4.14.1 万年历软件系统的流程图万年历软件系统的流程图图图 4-14-1 系统软件流程图系统软件流程图当接通电源开始工作后,单片机中的程序开始运行,将对DS18B20进行初始化,以便和单片机芯片达成通信协议。完成初始化后,由于本系统只有一个测温元件,单片机会向其发出跳过RAM指令,接下来便可向其发送操作指令,启动测温程序,测温过程完成后,2发出温度转换指令,从而便可将温度转化成数字模式进行显示读取;同时DS1302将读取时分秒星期以及年月日寄存器然后通过液晶显示实时时间、星期及日期;键盘电路中按键可对实时日历时钟进行调整。图-C 时间调整程序流程图34.24.2 KS0108KS0108 的软件设计的软件设计液晶控制器 KS0108 一共有七条指令,从作用上可分为两类,显示状态设置指令和数据读/写操作指令。详见指令系统可查看图形液晶显示器产品有关手册。显示起始行设置中 L5L0 为显示起始行的地址,取值在 0-3FH(1-64 行)范围内。页面地址设置中 P2-P0 为选择的页面地址,取值范围为 0-7H,代表 1-8 页。列地址设置中 C5-C0 为 Y 地址计数器的内容,取值在 0-3FH(1-64 行)范围内。显示器上 128 点64 点,每 8 点为一字节数据,都对应着显示数据 RAM(在 KS0108 芯片内),一点对应一个 bit,计算机写入或读出显示存储器的数据代表显示屏上某一点列上的垂直 8 点行的数据。D0 代表最上一行的点数据,D1 为第二行的点数据,D7 为第八行的点数据。该 bit=1 时该点则显示黑点出来,该 bit=0 时该点则消失。另外 LCD 指令中有条 display ON/OFF 指令,display ON 时显示 RAM 数据对应显示的画面;display OFF 则画面消失,RAM 中显示数据仍存在。点阵字模文件的建立:由于 MGLS12864 液晶显示器没有内部字符发生器,所以在屏幕上显示的任何字符、汉字等须自己建立点阵字模库,然后均按图形方式进行显示。由于 KS0108 显示存储器的特性,不能将计算机内的汉字库和其它字模库提出直接使用,需要将其旋转 90 度后再写入。点阵字模库建立包括以下几个方面:1.建立 816 点阵常用字符、数字、符号字模库。采用字模软件提取字模。2.建立所用到的 1616 点阵字模库。采用字模软件直接提取了“冬腊月初”这几个字。43.大字体数字显示的取模,采用了宽 x 高=16x32 点阵方式,这样时间很清晰,如下图。5变量初始化关闭DS1302写保护复位关闭DS1302地址写入延时向该地址写入数据复位关闭写入DS1302地址延时开始读地址的数据读出地址增加地址增加显示数据数据写完否?数据读完否?YNYN 图图 4-74-7 DS1302DS1302 读写程序模块流程图读写程序模块流程图4.34.3 温度的读取温度的读取DS1802 是这样测温的:用一个高温度数的振荡器确定一个门周期,内部计数器在这个周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。DS18B20 的复位脉冲 主机通过拉低单总线至少 480us 以产生复位脉冲 然后主机释放单总线并进入接收模式 此时单总线电平被拉高 DS18B20 检测到上升沿后 延时 1560us,拉低总线 60240us 产生应答脉冲 6下面是温度读取的子程序:void Init_DS18B20(void) unsigned char x=0; DQ = 1; /DQ 复位 delay_18B20(8); /稍做延时 DQ = 0; /单片机将 DQ 拉低 delay_18B20(80); /精确延时 大于 480us DQ = 1; /拉高总线 delay_18B20(14); x=DQ; /稍做延时后 如果 x=0 则初始化成功 x=1 则初始化失败 delay_18B20(20);4.44.4 键盘模块键盘模块键盘模块的软件程序相对于温度模块和时钟模块比较简单。键盘模块的设计,关键是消陡。通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象而作的措施就是按键消抖。按键的消抖,可用硬件或软件两种方法。因为硬件消抖需要添加额外的硬件,故这里我们采用软件消抖。软件方法去抖,即检测出键闭合后执行一个延时程序,5ms10ms 的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按键释放后,也要给 5ms10ms 的延时,待后沿抖动消失后才能转入该键的处理程序。4.54.5 蜂鸣器模块蜂鸣器模块蜂鸣器模块的设计,主要是让单片机产生一定频率的电流信号,在我们的设计中,使用单片机通过程序输出方波信号,来产生蜂鸣器需要的信号,当闹钟定时结束时,就可以调用蜂鸣器程序,让蜂鸣器发出声音。当然,我们的万年历再开机时会提醒用户是否开启按键时,蜂鸣器是否声音提醒,实现的方法是:我们在蜂鸣器中设置了 flag 标志位,7当开机时,用户的选择会赋给 flag 标志位,从而由单片机判断是否让蜂鸣器工作,为了记录用户的选择,我们将 flag 标志位放在了 DS1302 的空闲寄存器中,以保证用户的选择不会因为系统的掉电而消失,当系统重新上电时,系统还可以恢复用户的选择。1结束语结束语在硬件电路焊接和软件程序设计分别完成的基础之上,进行软硬件的结合与调试。通过下载将在电脑上已完成的程序下载到单片机芯片中。在调试中发现软件中存在的问题,及时解决问题,确保系统能正常工作并达到设计要求。通过反复的调试与实验,可以证明该系统能够较好地完成设计所需的基本要求。即能够正确的显示万年历。在完成软件系统时,刚开始我是用的是12M的晶振,所有器件正常,后来我换了11.0592M的晶振,结果温度就不正常了,经过认真排查才发现是由于DS18B20在数据读取时,对时间要求很精确,由于晶振的不同造成了读数据的错误,经过这次调试,让我更清晰的认识到了时序对元器件的重要性。在设计中,因为考虑到闹钟定时功能,我们希望我们设置的闹钟时刻不会因为系统的掉电而丢失,考虑到DS1302是有锂电池作为电源的,不会因为主系统掉电丢失内部数据,所以我们将闹钟的定时时刻放到了DS1302内的空余寄存器里面,像这些灵活的技巧就需要我们认真的阅读元件的数据手册,从中索取对自己有用的信息。经过万年历的设计,让我学到了很多,让我认识到了学习基础知识的重要性,当设计完整的系统时,要考虑到硬件和软件两者的结合,有时硬件的不足,我们可以用软件程序来弥补,从而节约硬件成本,在设计软件程序时要模块化,可以提高程序的可读性。1致致 谢谢在论文即将完成之际,我要特别感谢我的指导老师余良俊老师对我的热情关怀和细心指导。在我做毕业设计的整个过程中,余老师都以他最大的可能来帮助我,教导我,跟着余老师做毕业设计,我学会了好多东西,这些都对我未来的工作和生活产生重大的影响。他不仅仅是我们学术上的良师,更是生活中的益友。他以一个教育工作者热忱的心胸不厌其烦地指导着我们,教育者我们,使我们不仅学到了扎实的专业知识,更学到了做人的道理。他孜孜不倦悉心细致的教诲和严谨治学一丝不苟的工作作风使我永远都不能忘记。在此,特向他表示真诚的感谢。祝余老师身体健康,桃李满天下。同时,在我四年的大学生活中,也得
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 任务书类


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

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


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