多功能计算器的设计与实现毕业设计论文

上传人:无*** 文档编号:46615395 上传时间:2021-12-14 格式:DOC 页数:100 大小:1.32MB
返回 下载 相关 举报
多功能计算器的设计与实现毕业设计论文_第1页
第1页 / 共100页
多功能计算器的设计与实现毕业设计论文_第2页
第2页 / 共100页
多功能计算器的设计与实现毕业设计论文_第3页
第3页 / 共100页
点击查看更多>>
资源描述
中文题目:多功能计算器的设计与实现 外文题目:DESIGN AND IMPLEMENTATION OF MULTI-FUNCTIONAL CALCULATOR毕业设计(论文)共 92 页(其中:外文文献及译文 16 页) 图纸共 1 张 完成日期 2013 年 6 月 15 日 答辩日期 2013 年 6 月 20 日摘 要当今社会,随着人们物质生活的不断提高,电子产品已经走进了家家户户,无论是生活或学习,还是娱乐和消遣几乎样样都离不开电子产品。大型复杂的计算能力是人脑所不能胜任的,而且比较容易出错。计算器作为一种快速通用的计算工具方便了用户的使用。计算器是人们日常非常熟悉的一款电子产品,同时温度和时间也是人们生活中的两大要素。本设计着重在于分析计算器软件和硬件开发过程中的环节和步骤,附加了两个功能,即时间和温度,为人们的生活带来了方便。该设计系统由时钟/日历电路、LCD显示电路、按键调整电路和温度检测电路四部分组成。具体实现上,硬件系统平台采用单片机 STC89C52, 液晶显示器 LCD1602,时钟芯片 DS1302 及温度传感器 DS18B20 和键盘,构成了一个多功能计算器系统。52 系列单片机技术成熟,功能强大,应用广泛。使用单片机作为控制核心,可以简化硬件电路,采用软件编程控制单片机实现硬件电路的功能,降低能耗,降低成本。关键词:STC89C52;计算器;时钟日历芯片 DS1302;温度传感器 DS18B20AbstractIn todays society, with the constant improvement of the people material life, electronic products has entered into every family, whether in life or study, or entertainment and recreation almost everything without electronic products. Large, complex calculation ability is not up to the brain, and relatively easy to get wrong. Calculator as a fast general-purpose computing tools make it easy to use for the user. Calculator is one of Peoples Daily are very familiar with electronic products, at the same time, temperature and time are two elements in peoples lives. This design is to analyze emphatically the calculator software and hardware development process in the link and steps, attached two functions, namely, time and temperature, for the life of people brought convenient. The design system by the clock/calendar circuit, LCD display circuit, button adjust circuit and temperature detection circuit four parts. Concrete implementation on the hardware system platform USES the microcontroller STC89C52, LCD display LCD1602, clock chip DS1302 and temperature sensor DS18B20 and keyboard, form a multi-function calculator system. 52 series microcontroller technology is mature, powerful, wide application. Using single chip microcomputer as control core, can simplify the hardware circuit, single-chip microcomputer using software programming control can realize the function of hardware circuit, reduce the energy consumption and reduce costs.Key words:STC89C52; calculator ;Calendar Clock Chip DS1302;Temperature sensor DS18B20目录0 前言.11 概述.21.1 硬件概述.21.1.1 单片机的由来与发展.21.1.2 LCD 发展状况.31.1.3 DS1302 时钟芯片简介.31.1.4 DS18B20 温度传感器简介.41.2 选题.41.2.1 选题的背景和意义.41.3 系统概述.51.3.1 系统的工作过程.52 需求分析.62.1 用户需求.62.2 市场需求.63 总体设计.73.1 总体结构概述.73.1.1 硬件结构.73.1.2 软件结构.73.2 总体结构框图.73.2.1 硬件结构框图.73.2.2 软件结构框图.84 硬件详细设计.94.1 单片机最小系统.94.1.1 STC89C52 单片机的特性.94.1.2 STC89C52 单片机的引脚及功能.104.1.3 时钟电路.134.1.4 复位电路.134.2 时钟/日历电路.144.2.1 DS1302 简要说明.144.2.2 DS1302 引脚说明.144.2.3 DS1302 控制字和读写时序说明.164.2.4 DS1302 片内寄存器说明.184.2.5 时钟电路与单片机的连接.194.3 环境温度采集电路的设计.204.3.1 温度传感器选择.204.3.2 DS18B20 的特性与功能.204.3.3 DS18B20 控制字和读写时序说明.224.3.4 温度采集电路与单片机的连接.244.4 显示电路.254.4.1 LCD1602 特点与简介.254.4.2 显示电路与单片机的连接.294.5 按键电路.305 软件详细设计.325.1 系统软件的详细概述.325.2 主程序.325.3 初始化模块.335.3 键盘模块.335.4 时钟/日历模块.345.5 计算器模块.355.6 温度采集模块.366 系统调试.386.1 单片机基础电路调试.386.2 显示电路的调试.396.3 DS1302 电路的调试.396.4 环境温度采集电路的调试.396.5 按键电路的调试.397 结论.40致 谢.41参考文献.42附录 A 中文文献.43附录 B 外文文献 .49附录 C 总设计原理图 .57附录 D 多功能计算器仿真图.58附录 E 标准字符库.59附录 F 程序.600 前言前言计算器在人们的日常生活中是比较常见的电子产品之一。可是它还在发展之中,以后必将出现功能更加强大的计算器。时间是人类生活必不可少的元素,对人们来说时间是那么的宝贵,如果没有时间的观念,人们的生活就会紊乱,社会秩序也将不会有井有条。从古代的水漏到后来的机械钟再到当今的石英钟,都充分体现了时间的重要,同时也代表着科技的发展进步。温度也是人们生活中必不可少的元素,工农业生产上也有很多场合要测量环境温度,所以我设计了一个以计算为主的,同时可以显示时间和显示周围温度的多功能计算器,这对于我们的生活将有着重要的意义。该设计的计算部分主要是简单计算,可以实现加减乘除。时间部分是数字时钟,它是一种用数字电路技术实现年、月、日、时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命。随着数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字的精度,远远超过老式钟表,且钟表的数字化给人们的生产生活带来了极大的方便。温度部分是测量周围环境的温度,可以应用到很多领域,比如温室大棚等,该设计将成为人们生活中不可少的必需品。本设计主要为实现一款可以实现简单计算,并且可以正常显示时钟和实时测量环境温度的多功能计算器,并且可以依靠按键随时对日期进行调整,以确保显示的正确性、实时性。该设计采用 STC89C52 作为核心处理芯片分别对时钟芯片 DS1302、温度传感器DS18B20 进行读写控制,并将读到的数据送给 LCD1602 显示出来,计算部分通过判断按键直接显示在 LCD 上。1 概述1.1 硬件概述1.1.1 单片机的由来与发展单片机诞生于 1971 年,经历了 SCM、MCU、SoC 三大阶段,早期的 SCM 单片机都是 8 位或 4 位的。其中最成功的是 INTEL 的 8031,此后在 8031 上发展出了 MCS51 系列MCU 系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了 16 位单片机,但因为性价比不理想并未得到很广泛的应用。90 年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着 INTEL i960 系列特别是后来的 ARM 系列的广泛应用,32 位单片机迅速取代 16 位单片机的高端地位,并且进入主流市场。而传统的 8 位单片机的性能也得到了飞速提高,处理能力比起 80 年代提高了数百倍。高端的 32 位 Soc 单片机主频已经超过 300MHz,性能直追 90 年代中期的专用处理器,而普通的型号出厂价格跌落至 1 美元,最高端的型号也只有 10 美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的 Windows 和 Linux 操作系统。单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit), 常用英文字母的缩写 MCU 表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。它最早是被用在工业控制领域。SoC 嵌入式系统(System on Chip)式的独立发展之路,向 MCU 阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决,因此,专用单片机的发展自然形成了 SoC 化趋势。随着微电子技术、IC 设计、EDA 工具的发展,基于 SoC 的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。1.1.2 LCD 发展状况液晶显示器 TFT LCD,全称为薄膜晶体管液晶显示器(Thin Film Transistor LiquidCrystal Displayer),一般简称 LCD(Liquid Crystal Display)。超薄体形、低功耗、低辐射、无闪烁、完全物理平面、低反光、清晰的字符显示等等,都是大家非常熟悉的液晶显示器 LCD 优点。最简单的液体晶体管就是我们常见的小型计算器以及电子手表上面的液晶字符屏幕。他是把有机液晶原料夹在两片透明的玻璃或者有机玻璃中。没有电流通过的时候,长棒状的原料晶体分子是无规则排列的,光线无法随意透过玻璃,外表看上去就是黑色。通电的时候,液晶原料排列顺序随电流极向改变,光线在规则排列的晶体分子中可以透过,液晶管由原来非透明状态变成透明状态。通过把液晶材料进行不同的排列,组成不同的字符形状,就能通过电流控制其开关显示,以显示出我们说需要的字符。液晶技术发展的早期,由于液晶管的稳定性以及生产技术,还不能大量大规模的生产,直到了英国的科学家发明了用“联苯(Biphenyl)一作为液晶管的原料,这个问题才得以解决。1970 年,弗格森制造了第一台能够工作的 LCD,而在此之前的所谓 LCD 都是耗电量大而且对比度极低的昂贵设备。到了 1971 年,这种新的液晶显示器开始普遍地为人们接受。当然,那时候的 LCD 还是单色产品,但是已经不是简单的字符型液晶屏幕了。LCD 技术是把液晶灌入两片偏振玻璃之间。所谓偏振玻璃,就是光线通过这样的玻璃之后,就会从球面波或者高斯球面波,变成只在一个平面上振动的波,称为偏振光。偏振光只能通过相应方向的偏振玻璃,如果偏振玻璃的偏振方向和偏振光线的有一定的夹角,就会减弱偏振光强度,甚至偏振光无法通过。如果大家对这方面有兴趣,可以参阅有关的大学物理书籍。夹住液晶的两片偏振玻璃,假设为 a、b,他们的偏振方向会设置为 90 度夹角。光线通过第一片偏振玻璃 a 后,假设这 X 方向偏振,通过液晶后,液晶通电流之后,在电场极化作用下,呈规则排列,X 偏振光不会有任何改变,投射到 b 玻璃上。而 b 玻璃的偏振方向为 Y,就是 X+90 度,X 偏振的光线无法通过,在 b 玻璃外面看上去就是黑色了。而如果液晶没有电场作用,就是没有通电流,通过无规则排列的液晶,X 偏振光的偏振方向会发生改变,旋转 90 度,旋转后 X 偏振光的偏振方向刚好和 b 偏振玻璃的偏振方向一样,就是 X+90=Y,光线就能通过 b 玻璃了。1.1.3 DS1302 时钟芯片简介DS1302 是 DALLAS 公司推出的涓流充电时钟芯片,内含一个实时时钟/日历和 31 字节静态 RAM,可以通过串行接口与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、星期、月、年的信息,每个月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM 标志位决定采用 24 或 12 小时时间格式。DS1302 与单片机之间能简单地采用同步串行的方式进行通信,仅需三根 I/O 线:复位(RST) 、I/O 数据线、串行时钟(SCLK) 。时钟/RAM 的读/写数据以一字节或多达 31 字节的字符组方式通信。DS1302 工作时功耗很低,保持数据和时钟信息时,功耗小于 1mW。1.1.4 DS18B20 温度传感器简介新的“一线器件”体积更小、适用电压更宽、更经济,Dallas 半导体公司的数字化温度传感器 DS1820 是世界上第一片支持“一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20、DS1822 “一线总线”数字化温度传感器同 DS1820 一样,DS18B20 也支持“一线总线”接口,测量温度范围为-55C+125C,在-10+85C 范围内,精度为0.5C。DS1822的精度较差为2C 。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持 3V5.5V 的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。DS18B20、DS1822 的特性 DS18B20可以程序设定 912 位的分辨率,精度为0.5C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在 EEPROM 中,掉电后依然保存。DS18B20 的性能是新一代产品中最好的!性能价格比也非常出色! DS1822 与 DS18B20 软件兼容,是 DS18B20 的简化版本。省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为2C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。继“一线总线”的早期产品后,DS1820 开辟了温度传感器技术的新概念。DS18B20和 DS1822 使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。1.2 选题1.2.1 选题的背景和意义单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心,如今,它已广泛的应用到我们生活的各个领域,电子、科技、通信、汽车、工业等。计算器作为一种快速通用的计算工具方便了用户的使用。计算器是人们普遍拥有电子产品之一。在计算器的原有计算功能的基础上,又加了两个生活中常用的两个功能:电子时钟,温度。从电子时钟的发明到现在已经将近半个世纪了,从最初的德克萨斯仪器推出的 4位单片机电子时钟到当今的 32 位,从当时价钱昂贵且体积大到现在的精致小型,从以前的单一的时间显示到现代的可以显示温度、湿度等更多功能的电子时钟,都积累了众多科学家的努力和心血。温度关系着我们日常生活,关系着我们的身体健康,其结构简单、易行、实用。所以设计这样的一个多功能计算器是很有意义的。1.3 系统概述1.3.1 系统的工作过程本文基于课题并对当前电子时钟、温度及计算器的开发手段进行了比较和分析,最终确定了采用单片机技术实现多功能计算器的总体方案。本文设计应用 STC89C52 芯片作为核心,LCD1602 显示,计算器通过按键直接可以显示在 LCD 上,不需要加任何其它芯片,而电子时钟需使用时钟芯片 DS1302 完成时钟日期的功能,同时利用温度传感器DS18B20 测量周围环境温度,并且可以依靠按键随时对日期、时间进行调整。具体工作过程如下:1)上电或按复位按钮系统复位后,液晶屏上显示时间,日期和温度,时间和日期可以进行调整,温度是当前坏境的温度。当用手触摸 DS18B20 温度传感器时,温度就会变化。2)当按下功能切换键 M 时,就进入计算的状态,可以实现两个数的加减乘除运算,而且参与运算的数和运算结果必须控制在-2147483648-2147483647 之间,否则就会产生溢出,屏幕出现乱码。2 需求分析2.1 用户需求在做毕设之前,我对计算器做了调查,走访了商场,饭店等地方。据他们说,他们想要的是一个简单的计算器,可以实现加减乘除就可以了,而且告诉我有几个附加的功能就更好了比如时间和温度等,因为这些都是生活中天天关注的,人们的生活离不开这两个因素。随着经济的发展,不断推动着科技的发展,而科技的发展又带动了电子行业,各种各样的电子产品纷纷涌出。计算器作为日常生活中常使用的电子产品之一,它的多功能化、小型化、轻便化已成为未来智能化计算器的发展方向。计算器随着供应量的增多、用户使用方便度日益更新,从又大又重到又小又轻,从复杂的模拟电路到一块几厘米的单片机,从简单的加减乘除运算到乘方、开方运算,指数、对数、三角函数、反三角函数的计算不断的变化着。其实大部分人只需要简单计算就可以了,不需要那么繁杂的计算,因为大部分人都用不上这些计算。所以我决定设计一个简单计算器,附加上时间,日期和温度,这些都是人们生活中不可缺少的要素。同时减少硬件与软件的成本,吸引消费者对产品的兴趣变得尤其重要。2.2 市场需求经过走访许多电子产品商场,从销售员那里得知,现在人们考虑的是计算器的功能,价格,体积,当然是买他们需求的功能,价格便宜,体积小的计算器。根据实际调研,我了解到大部分的电子产品都是以单片机为控制核心,主要是因为它们体积小,功能全,而且价格便宜,所以单片机深受开发商的信赖。随着科技的不断更新,单片机的种类也层出不穷,而且功能更加完善,这也给开发商带来了很多的机会。投产条件简单,成本较低,一般生产电子产品的厂家均可生产。市场前景十分看好。3 总体设计3.1 总体结构概述3.1.1 硬件结构在本次的设计中,根据系统的功能要求,硬件部分大致分为以下几个主要部分组成:1)中央处理系统:以 STC89C52 为核心的单片机最小系统,STC89C52 是 STC 公司生产的一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。2)时钟电路:本设计选用 DS1302 来实现时钟电路,与单片机 P1.3-P1.5 口相连。这款强大的时钟芯片,不但占用的硬件资源少,而且其精确性、实时性也是相当的可观。3)环境温度采集电路:考虑到硬件电路复杂度,软件调试复杂度及制作成本,本设计选用 DS18B20 作为温度传感器,单片机到 DS18B20 仅需要一条线,即与单片机 P3.3 口相连,读写和完成温度变换所需要的电源可由数据线本身提供,而无需外部电源。4)显示电路:首选当然是数码管,它具有显示亮度高,编程易的特点,但是它的单独显示使得每一位都要有自己的为选端,这样会浪费很多 P 口,因此我们选用更节省资源的液晶 LCD1602,它的控制引脚与 P0 口相连。3.1.2 软件结构对于单片机来说,汇编,C 都可实现编程,编译器会根据写的程序翻译成单片机的机器码,不存在哪个芯片专用 C 或汇编; 只是汇编和 C 有各自的优缺点。一般来说汇编的程序更接近于机器码,小程序执行效率高,但是单片机种类不同,汇编语言也相差很大,比如 51,pic,AVR,ARM;C 语言编属于高级语言,具有可移植性,能够结构化编程。使用标准 C 语言的程序,几乎都可以不作改变移植到不同的微机平台上,对于嵌入式等的微控制芯片,属于标准 C 语言的部分也很少需要修改,而且程序很容易读懂。C 语言编写程序结构清晰,移植性好,容易维护和修改。所以本设计采用 C 语言进行编程。3.2 总体结构框图3.2.1 硬件结构框图系统主要是由以 STC89C52 为核心的单片机最小系统、按键电路、时钟电路、环境温度采集电路、显示电路组成,其硬件结构如图 3-1 所示:STC89C52LCD1602显示时钟/日历电路环境温度采集电路按键电路图 3-1 多功能计算器硬件结构框图Figure 3-1 multi-function calculator hardware structure diagram3.2.2 软件结构框图系统采用结构化、模块化的设计思想,使得编程思路明确,且功能比较强大。模块化程序不仅易移植,易修改,易维护,而且其结构清晰明了,让人容易理解。系统的程序主要由主程序模块、初始化模块、时钟模块、显示模块、温度采集模块,计算器模块,按键模块,其软件结构框图如图 3-2 所示: 主函数LCD初始化时钟/日历模块温度采集模块显示模块计算器模块按键模块显示模块显示模块按键模块图 3-2 多功能计算器软件结构框图Figure 3-2 multi-function calculator software structure diagram4 硬件详细设计4.1 单片机最小系统4.1.1 STC89C52 单片机的特性目前在单片机系统中,应用比较广泛的微处理器芯片主要为 8XC5X 系列的单片机,该系列单片机均采用标准 MCS-51 内核,硬件资源相互兼容,品类齐全、性能稳定、体积小、价格底、货源充足、调试和编程方便,所以应用较为广泛。STC89C52 单片机是一款低功耗、低电压、高性能 CMOS8 位单片机,片内含8KB(可经受 1000 次擦写周期)的 FLASH 可编程可反复擦写的只读程序存储器(EPROM) ,器件采用 CMOS 工艺和 ATMEL 公司的高密度,非易失性存储器(NURAM)技术制造,其输出引脚和指令系统都与 MCS-51 兼容,片内的 FLASH 存储器允许在系统内可改编程序或用常规的非易失性存储编程器来编程。因此,STC89C52 是一种功能强,灵活性高且价格合理的单片机,可方便的应用在各个控制领域1。主要特性如下:1)增强型 8051 单片机,6 时钟/机器周期和 12 时钟/机器周期可以任意选择,指令代码完全兼容传统 8051。2)工作电压:5.5V3.3V(5V 单片机)/3.8V2.0V(3V 单片机) 。3)工作频率范围:040MHz,相当于普通 8051 的 080MHz,实际工作频率可达48MHz。4)用户应用程序空间为 8K 字节。5)片上集成 512 字节 RAM。6)通用 I/O 口(32 个) ,复位后为:P1/P2/P3/P4 是准双向口/弱上拉,P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。7)ISP(在系统可编程)/IAP(在应用可编程) ,无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片。8)具有 EEPROM 功能。9)具有看门狗功能。10)共 3 个 16 位定时器/计数器。即定时器 T0、T1、T2。11)外部中断 4 路,下降沿中断或低电平触发电路,Power Down 模式可由外部中断低电平触发中断方式唤醒。12)通用异步串行口(UART) ,还可用定时器软件实现多个 UART。13)工作温度范围:-40+85(工业级)/075(商业级) 。14)PDIP 封装。4.1.2 STC89C52 单片机的引脚及功能引脚说明如图 2-2。图 4-1 STC89C52 引脚说明Figure 4-1 STC89C52 pinout引脚功能说明如下2:VCC:电源电压。GND:地。P0 口:P0 口是一组 8 位漏极开路型双向 I/O 口,也即地址/数据线复用口。作为输出口时,每位能吸收电流的方式驱动 8 个 TTL 逻辑门电路,对端口写“1”可作为高阻抗输入端。在访问外部数据储存器或程序储存器时,这组口线分时转换地址(低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。FLASH 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1 口:P1 是一个带内部上拉电阻的 8 位双向 I/O 口,P1 的输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。FLASH 编程和程序校验期间,P1 接收低 8 位地址。此外,P1.0和P1.1还可以作为定时器/计数器2的外部技术输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体参见下表2-1:P2 口:P2 是一个带内部上拉电阻的 8 位双向 I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序储存器或 16 位地址的外部数据储存器(例如执行 MOVXDPTR 指令)时,P2 口送出高 8 位地址数据。在访问 8 位地址的外部数据储存器(例如执行 MOVXRI 指令)时,P2 口线上的内容(也即特殊功能寄存器(SFR)区中 R2 寄存器的内容) ,在整个访问期间不改变。FLASH 编程或校验时,P2 亦接收高位地址和其他控制信号。P3 口:P3 是一个带内部上拉电阻的 8 位双向 I/O 口,P3 的输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。P3 除了作为一般的 I/O 口线外,更重要的用途是它的第二功能,具体功能说明如表2-2。P3 口还接收一些用于 FLASH 闪速存储器编程和程序校的控制信号。RST:复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。即使不访问外部存储器,ALE 仍以是时钟振荡频率的 1/6输出固定的正脉冲信号,因此他可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。对 FLASH 存储器编程期间,该引脚还用于输入编程脉冲(PROG) 。如有必要,可通过对特殊功能寄存器(SFR)区中的 8EH 单元的 D0 位置位,可禁止 ALE 操作。该位置位后,只有一条 MOVX 和 MOVC 指令 ALE 才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE 无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当 AT80C51由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的 PSEN 信号不出现。EA/VPP:外部访问允许。欲使 CPU 仅访问外部程序储存器(地址为 0000H-FFFFH) ,EA 端必须保持低电平(接地) 。需要注意的是:如果加密位 LB1 被编程,复位时内部会锁存 EA 端状态。如 EA 端为高电平(Vcc 端) ,CPU 则执行内部程序储存器中的指令。FLASH 储存器编程时,该引脚加上+12V 的编程允许电源 Vpp,当然这必须是该器件是使用 12v 编程电压。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。表4-1 P1.0和P1.1引脚复用功能Table 4-1 the P1.0 and P1.1 pins multiplexing function引脚号功能特性P1.0T2(定时器/计数器2外部计数输入),时钟输出P1.1T2EX(定时器/计数器2捕获/重装触发和方向控制)表 4-2 P3 口的第二功能表Table 4-2 P3 second function table 端口引脚第二功能P3.0RXD(穿行输出口)P3.1TXD(穿行输入口)P3.2INT0(外部中断 0)P3.3INT1(外部中断 1)P3.4T0(定时/计数器 0)P3.5T1(定时/计数器 0)P3.6WR(外部数据写选通)P3.7RD(外部数据读选通)4.1.3 时钟电路STC89C52 内部有一个用于构成振荡器的高增益反相放大器,引脚 RXD 和 TXD 分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图 4-2 所示,在 RXD 和 TXD 引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.212MHz 之间选择,电容值在 530pF 之间选择,电容值的大小可对频率起微调的作用。用户也可以采用外部时钟,RXD 接地,TXD 接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于 12MHz 的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟 P1 和 P2,供单片机使用。图4-2 内部晶振电路Figure 4-2 internal clock circuit4.1.4 复位电路STC89C52 的复位引脚为 RESET,当此引脚连接高电平超过 2 个机器周期,即可产生复位操作。通常情况下,单片机采用上电自动复位和开关手动复位两种方式,两种方式的具体工作过程如下:1)上电复位所谓上电复位,是指单片机只要一上电,便自动进入复位状态。在通电瞬间,电容 C通过电阻 R 充电,RST 端出现正脉冲,用以复位。参数的设定应保证复位高电平持续时间大于 2 个机器周期。当采用晶体为 12MHz 时,可取 C=10pF,R=10k。2)手动复位所谓手动复位,是通过接通一个按钮开关,使单片机进入复位状态。系统上电运行后,若需要复位,一般都通过手动复位来实现5。通常情况下为了系统更稳定的工作,一般都是将上电复位和手动复位组合起来,构成单片机的复位电路,系统就是采用上电复位和手动复位结合的方式,来完成复位操作,其电路如 4-3 图所示。图 4-3 复位电路Figure 4-3 reset circuit4.2 时钟/日历电路4.2.1 DS1302 简要说明DS1302 是美国 DALLAS 公司推出的一种高性能、低功耗、带 RAM 的实时时钟电路,它可以对年、月、日、星期、时、分、秒进行计时,具有闰年补偿功能,工作电压为 2.5V5.5V。采用三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或 RAM 数据。DS1302 内部有一个 318 的用于临时性存放数据的 RAM 寄存器。DS1302 是 DS1202 的升级产品,与 DS1202 兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。DS1302 的外接晶振采用普通 32.768kHz 晶振13。4.2.2 DS1302 引脚说明DS1302 封装和引脚参照图 4-4。图 4-4 DS1302 封装和引脚Figure 4-4 DS1302 package and pinDS1302 的引脚排列,其中 Vcc1 为后备电源,Vcc2 为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。 DS1302 由 Vcc1 或 Vcc2 两者中的较大者供电。 X1和 X2 是振荡源,外接 32.768kHz 晶振。RST 是复位/片选线,通过把 RST 输入驱动置高电平来启动所有的数据传送。 RST 输入有两种功能:首先, RST 接通控制逻辑,允许地址/命令序列送入移位寄存器;其次, RST 提供终止单字节或多字节数据的传送手段。当 RST 为高电平时,所有的数据传送被初始化,允许对 DS1302 进行操作。如果在传送过程中 RST 置为低电平,则会终止此次数据传送, I/O 引脚变为高阻态。上电运行时,在 Vcc22.0V 之前,RST 必须保持低电平。只有在 SCLK 为低电平时,才能将 RST 置为高电平。I/O 为串行数据输入输出端 (双向),后面有详细说明。 SCLK 为时钟输入端。具体的引脚说明如表 4-3。表 4-3 DS1302 引脚功能说明Table 4-3 DS1302 pin function引脚号名称功能1VCC1备份电源输入2X132.768KHZ 输入3X232.768KHZ 输出4GND地5RST控制移位寄存器/复位6I/O数据输入/输出7SCLK串行时钟8VCC2主电源输入4.2.3 DS1302 控制字和读写时序说明 在编程过程中要注意 DS1302 的读写时序,DS1302 是 SPI 总线驱动方式,它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。要想与 DS1302 通信,首先要先了解 DS1302 的控制字。DS1302 的控制字如表 4-4。表 4-4 DS1302 的控制字节Table 4-4 Control byte DS13021RAM CKA4A3A2A1 A0RD WR第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位控制字的作用是设定 DS1302 的工作方式,传送字节数等。每次数据的传输都是由控制字开始9。1. 第 7 位:控制字的最高有效位,如果它为 0,则不能把数据写入到 DS1302 中。2. 第 6 位:如果为 0,则表示存取日历时钟数据,为 1 表示存取 RAM 数据。3第 5 位:(A4A0)用 A4A0 表示,定义片内寄存器和 RAM 的地址。定义如下:当第 6 位为 0 时,定义时钟和其他寄存器的地址。A4A006,顺序为秒、分、时、日、月、星期、年的寄存器。当 A4A07,为芯片写保护寄存器地址。当 A4A08,为慢速充电参数选择寄存器。当 A4A031,为时钟字节方式选择寄存器。 当第 6 位为 1 时,定义 RAM 的地址,A4A0030,对应各子地址的 RAM,地址 31 对应的是 RAM 多字节方式选择寄存器。4. 第 0 位(最低有效位):如果为 0,表示进行写操作,为 1 表示进行读操作。控制字总是从最低位开始输出。在控制字输入后的下一个 SCLK 时钟的上升沿时,数据被写入 DS1302.数据输入从最低位(0 位)开始。同样,在紧跟 8 位的控制字指令后的下一个 SCLK 脉冲的下降沿,读出 DS1302 的数据,读出的数据也是从最低位到最高位。DS1302 的数据读写方式有两种,一种是单字节操作方式,一种是多字节操作方式。每次仅写入一个字节数据称为单字节操作,每次对时钟/日历的 8 字节或 31 字节 RAM 进行全体写入或读出的操作称为多字节操作方式。当以多字节方式写时钟寄存器时,必须按数据传送的顺序依次写入 8 个寄存器。但是,当以多字节方式写 RAM 时,不必写所有31 字节,不管是否写了全部 31 字节,所写的第一个字节都将传送到 RAM。为了启动数据的传输,CE 引脚信号应由低变高,当把 CE 驱动到逻辑 1 的状态时,SCLK 必须为逻辑 0,数据在 SCLK 的上升沿串行输入,无论是读同期还是写周期,也无论传送方式是单字节还是多字节,都要通过控制字指定 40 字节的哪个将被访问,在开始 8个时钟同期把命令字(具有地址和控制信息的 8 位数据)装入移位寄存器之后,另外的时钟在读操作时输出 数据,在写操作时输入数据,所有的数据在时钟的下降沿变化。所有写入或读出操作都是向芯片发送一个命令字节。对于单字节操作,包括命令字节在内,每次为 2 个字节,需要 16 个时钟,对于时钟/日历多字节模式操作,每次为 7 个字节,需要 72 个时钟,而对于 RAM 多字节模式操作,每次则为 32 字节,需要多达 256 个时钟,这里仅给出单字节读写时序,如图 4-5,多字节操作方式与其类似,只是且而跟的字不止一个。图 4-5 DS1302 单字节读写时序Figure 4-5 DS1302 single byte read and write timing4.2.4 DS1302 片内寄存器说明通过控制字对 DS1302 片内的寄存器进行寻址之后,即可就所选中寄存器的各位进行操作。片内各寄存器用各位的功能定义如表 4-5。表 4-5 片内各寄存器各位的功能定义表Table 4-5 on-chip registers each function definition tableDS1302 有关日历、时间的寄存器共有 10 个,时钟/日历包含在其中的 7 个写/读寄存器内,这个寄存器分别是秒、分、小时、日、月、星期和年。 小时寄存器(85H、84H)的位 7 用于定义 DS1302 是运行于 12 小时模式还是 24 小时模式。当为 12 小时制式时,位 5 为“0”表示 AM,为“1”表示 PM。在 24 小时制式下,位 5是第二个 10 小时位(2023 时) 。秒寄存器(81H、80H)的位 7 定义为时钟暂停标志(CH) 。当该位置为 1 时,时钟振荡器停止,DS1302 处于低功耗状态;当该位置为 0 时,时钟开始运行。一般在设置时钟时,可以停止工作,设定完之后,再启动其工作。控制寄存器(8FH、8EH)的位 7 是写保护位(WP),其它 7 位均置为 0,在任何片内时钟/日历寄存器和 RAM,在写操作之前,WP 位必须为 0 位,否则将不可写入。当 WP 位为 1 时,写保护位防止对任一寄存器的写操作。因此,通过置写保护位,可以提高数据的安全性。4.2.5 时钟电路与单片机的连接根据DS1302引脚功能说明和程序要求将其按图4-6接入电路。读寄存器写寄存器BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0范围81H80HCH10 秒秒005983H82H10 分分00591011285H84H12/240AM/PM时时02387H86H0010 日日13189H88H0010 月月1128BH8AH00000周日178DH8CH10 年年00998FFH8EHWP0000000_图4-6 单片机与时钟芯片DS1302连接图Figure 4-6 MCU and clock chip DS1302 connection diagram该硬件电路设计简单,抗干扰能力强。如图,STC89C52单片机P1.5直接接DS1302的RST端,上电后,STC89C52的P1.5脚自动输出高电平。P1.3作为串行时钟接口,P1.4作为时钟数据的I/O。DS1302采用双电源供电,平时由+5V电源供电,当+5V电源之后,由图中+3V备用电源供电。特别需要注意X1和X2两端连接的晶振,该晶振频率为32.768KHz。4.3 环境温度采集电路的设计随着技术的发展,多功能计算器不在单一的只用来计算,人们在其上面增加了相应的附属功能,比如:多功能闹钟、温度、湿度等等。但在我看来了温度提醒着我们穿衣保暖,关系着我们的身体健康。所以我认为温度是最为实用的外加功能。4.3.1 温度传感器选择在日常生活中和工农业生产中常要用到温度检测及控制,传统的测温元件有热电偶和热电阻,一般用来测量中高温,输出的是电压,将其转换成对应的二进制温度码值,需要较多的硬件支持,硬件电路复杂,软件调试较为复杂,制作成本高。通过编程,DS18B20 可以实现 912 位温度读数,信息经过单线接口送入 DS18B20或从 DS18B20 送出,因此从单片机到 DS18B20 仅需要一条线。读写和完成温度变换所需要的电源可由数据线本身提供,而无需外部电源。测量范围为-55+125 摄氏度,增量为0.5 度,电源电压范围为+3V+5.5V。4.3.2 DS18B20 的特性与功能DS18B20是DALLAS公司生产的单线式数字温度传感器,具有3引脚T0T2小体积封装形式;温度测量范围为55125,可编程为9位12位A/D转换精度,测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统14。 每一个DSl8B20包括一个唯一的64位长的序号,该序号值存放在DSl8B20 内部的 ROM(只读存贮器)中,开始8位是产品类型编码(DSl8B20 编码均为10H),接着的48位是每个器件唯一的序号,最后8位是前面56位的CRC(循环冗余校验)码,DSl8B20中还有用于贮存测得的温度值的两个8位存贮器,RAM编号为0号和1号,1号存贮器存放温度值的符号,如果温度为负,则1号存贮器,8位全为1,否则全为0。0号存贮器用于存放温度值的补码, LSB(最低位)的1表示0.5贮器中的二进制数求补再转换成十进制数并除以2,就得到被测温度值。具体引脚说明如图4-7,功能如表4-6。图 4-7 DS18B20 引脚与封装Figure 4-7 DS18B20 pin package表 4-6 DS18B20 引脚说明Table 4-6 DS18B20 Pin Description4.3.3 DS18B20 控制字和读写时序说明DS18B20是1-wire单线器件,它在一根数据线上实现数据的双向传输,这就需要一定的协议来对读写数据提出严格的时序要求,STC89C52单片机并不支持单线传输。因此,必须采用软件的方法来模拟单线的协议时序。主机操作单线器件DS18B20必须遵循下面的顺序8。1)初始化单线总线上的所有操作均从初始化开始,初始化过程如下。主机通过拉低单线480us以上,产生复位脉冲,然后释放该线,进入RX接收模式。主机释放总线时,会产生一个上升沿11。单线器件DS18B20检测到该上升沿后,延时15-60us,通过拉低总线60-24us来产生应答脉冲,主机接收到从机的应答脉冲后,说明有单线器件在线。2)ROM操作命令一旦总线主机检测对应答脉冲,便可以发起ROM操作命令。共有5位ROM操作命令。详细说明如表4-7。序号名称引脚功能1GND接地2DQ数据输入/输出引脚:开漏单总线接口引脚;当被用到寄生电源下,也可向器件提供电源3VDD可选择的 VDD 引脚,当工作于寄生电源时,此引脚必须接地表4-7 ROM操作命令与说明Table 4-7 ROM command and instructions3)内存操作命令在成功执行了ROM操作命令之后,才可以使用内存操作命令。主机可以提供6种内存操作命令,如表4-8。命令类型命令字节功能说明Read rom33H此命令读取激光ROM的64位,只能用于总线上单个DS18B20的情况下,多挂则会发生冲突Match rom(匹配rom)55H此命令后跟64位ROM序列号,寻址多挂总线上的DS18B20。只有序列号完全匹配的DS18B20才能响应后面的内存操作命令,其他不匹配的将等待复位脉冲。此命令可用于单挂或多挂接总线。Skip rom(跳过rom)CCH此命令用于单挂接总线系统时,可以无需提供64位ROM序列号皆可运行内存操作命令。如果总线上挂多挂DS18B20,并且在此命令后执行读命令,将会发生数据冲突。Scarch rom(搜索rom)F0H主机调用此命令,通过一个排除法过程,可以识别出总线上所有器件的ROM序列号。Alarm rom(警报rom)ECH此命令流程图和scarch rom命令相同,但是DS18B20只有在最近的一次温度测量时满足了告警触发条件,才会响应此命令。表4-8 内存操作命令与说明Table 4-8 Memory Operation Command and description4)数据处理DS18B20要求有严格的时序来保证数据的完整。在单线DQ上,存在复位脉冲、应答脉冲、写“1”、写“0”、读“1”、读“0”几种信号类型。其中,除了应答脉冲之外,均由主机产生。而数据位读写则是通过使用读、写时隙实现的。首先了解写时隙。当主机将数据线从高平拉至低电平时,产生2种类型的写时隙:写“1”和“0”。所有写时隙必须在60s以上(即由高拉低后持续60s以上),各个写时隙之间必须保证最短1us的恢复时间。DS18B20在DQ线变低后的15s60s的端口对DQ进行采样,如果为高电平,就为写“1”;如果为低电平,就为写“0”。对于主机产生写“1”时隙的情命令类型命令字节功能说明Write Scratchpad(写暂存器)4EH此命令写暂存器中地址24的3个字节(TH、TL和配置寄存器)在发起复位脉冲之前,3个字节都必须要写。Rrad Scratchpad(读暂存器)BEH此命令读取暂存器内容,从字节0一直读取到字节8。主机可以随时发起复位脉冲以停止此操作。Copy Scratchpad(复制暂存器)48H此命令将暂存器中的内容复制进E2RAM,以便将温度告警触发字节存入非易失内存。如果在此命令后产生读时隙,那么只要器件在进行复制就会输出0,复制完成后,再输出1。Convenrt T(温度转换)44H此命令开始温度转换操作。如果在此命令后主机产生读时隙,那么只要器件在进行温度转换就会输出0,转换完成后在输出1。Recall E2(重调E2存储器)B8H将存储在E2RAM中的温度告警触发值和配置寄存器值重新拷贝到暂存器中,此重调操作在DS18B20加电时自动产生。Read Power Supply(读供电方式)B4H主机发起此命令后每个读数据时隙内,DS1820发信号通知它的供电方式:0为寄生电源方式,1为外部供电方式。况,数据线必须先被拉低,然后释放,在写时隙开始后的15s,允许DQ线拉至高电平。对于主机写“0”时隙的情况,DQ线必须被拉至低电平至少保持低电平60s。再来了解一下
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


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

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


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