多功能计算器的设计与实现毕业设计(论文).doc

上传人:仙人指路1688 文档编号:3941170 上传时间:2023-03-28 格式:DOC 页数:100 大小:1.32MB
返回 下载 相关 举报
多功能计算器的设计与实现毕业设计(论文).doc_第1页
第1页 / 共100页
多功能计算器的设计与实现毕业设计(论文).doc_第2页
第2页 / 共100页
多功能计算器的设计与实现毕业设计(论文).doc_第3页
第3页 / 共100页
多功能计算器的设计与实现毕业设计(论文).doc_第4页
第4页 / 共100页
多功能计算器的设计与实现毕业设计(论文).doc_第5页
第5页 / 共100页
点击查看更多>>
资源描述

《多功能计算器的设计与实现毕业设计(论文).doc》由会员分享,可在线阅读,更多相关《多功能计算器的设计与实现毕业设计(论文).doc(100页珍藏版)》请在三一办公上搜索。

1、中文题目:多功能计算器的设计与实现 外文题目:DESIGN AND IMPLEMENTATION OF MULTI-FUNCTIONAL CALCULATOR毕业设计(论文)共 92页(其中:外文文献及译文16页) 图纸共1张 完成日期 2013年6月15日 答辩日期 2013年6月20日摘 要当今社会,随着人们物质生活的不断提高,电子产品已经走进了家家户户,无论是生活或学习,还是娱乐和消遣几乎样样都离不开电子产品。大型复杂的计算能力是人脑所不能胜任的,而且比较容易出错。计算器作为一种快速通用的计算工具方便了用户的使用。计算器是人们日常非常熟悉的一款电子产品,同时温度和时间也是人们生活中的两大

2、要素。本设计着重在于分析计算器软件和硬件开发过程中的环节和步骤,附加了两个功能,即时间和温度,为人们的生活带来了方便。该设计系统由时钟/日历电路、LCD显示电路、按键调整电路和温度检测电路四部分组成。具体实现上,硬件系统平台采用单片机STC89C52, 液晶显示器LCD1602,时钟芯片DS1302及温度传感器DS18B20和键盘,构成了一个多功能计算器系统。52系列单片机技术成熟,功能强大,应用广泛。使用单片机作为控制核心,可以简化硬件电路,采用软件编程控制单片机实现硬件电路的功能,降低能耗,降低成本。关键词:STC89C52;计算器;时钟日历芯片DS1302;温度传感器DS18B20Abs

3、tractIn 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, an

4、d 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 em

5、phatically 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 dete

6、ction 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,

7、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 Clo

8、ck 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

9、.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 LCD

10、1602特点与简介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前言计算器在人

11、们的日常生活中是比较常见的电子产品之一。可是它还在发展之中,以后必将出现功能更加强大的计算器。时间是人类生活必不可少的元素,对人们来说时间是那么的宝贵,如果没有时间的观念,人们的生活就会紊乱,社会秩序也将不会有井有条。从古代的水漏到后来的机械钟再到当今的石英钟,都充分体现了时间的重要,同时也代表着科技的发展进步。温度也是人们生活中必不可少的元素,工农业生产上也有很多场合要测量环境温度,所以我设计了一个以计算为主的,同时可以显示时间和显示周围温度的多功能计算器,这对于我们的生活将有着重要的意义。该设计的计算部分主要是简单计算,可以实现加减乘除。时间部分是数字时钟,它是一种用数字电路技术实现年、月

12、、日、时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命。随着数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字的精度,远远超过老式钟表,且钟表的数字化给人们的生产生活带来了极大的方便。温度部分是测量周围环境的温度,可以应用到很多领域,比如温室大棚等,该设计将成为人们生活中不可少的必需品。本设计主要为实现一款可以实现简单计算,并且可以正常显示时钟和实时测量环境温度的多功能计算器,并且可以依靠按键随时对日期进行调整,以确保显示的正确性、实时性。该设计采用STC89C52作为核心处理芯片分别对时钟芯片DS1302、温度传感器DS18B20进行读写控

13、制,并将读到的数据送给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位单片机迅速

14、取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。高端的32位Soc单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit), 常用英文字母的缩写MCU表示单片机

15、,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。它最早是被用在工业控制领域。SoC嵌入式系统(System on Chip)式的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决,因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC

16、设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。1.1.2 LCD发展状况液晶显示器TFT LCD,全称为薄膜晶体管液晶显示器(Thin Film Transistor LiquidCrystal Displayer),一般简称LCD(Liquid Crystal Display)。超薄体形、低功耗、低辐射、无闪烁、完全物理平面、低反光、清晰的字符显示等等,都是大家非常熟悉的液晶显示器LCD优点。最简单的液体晶体管就是我们常见的小型计算器以及电子手表上面的液晶字符屏幕。他是把有机液晶原料夹在两片透明

17、的玻璃或者有机玻璃中。没有电流通过的时候,长棒状的原料晶体分子是无规则排列的,光线无法随意透过玻璃,外表看上去就是黑色。通电的时候,液晶原料排列顺序随电流极向改变,光线在规则排列的晶体分子中可以透过,液晶管由原来非透明状态变成透明状态。通过把液晶材料进行不同的排列,组成不同的字符形状,就能通过电流控制其开关显示,以显示出我们说需要的字符。液晶技术发展的早期,由于液晶管的稳定性以及生产技术,还不能大量大规模的生产,直到了英国的科学家发明了用“联苯(Biphenyl)一作为液晶管的原料,这个问题才得以解决。1970年,弗格森制造了第一台能够工作的LCD,而在此之前的所谓LCD都是耗电量大而且对比度

18、极低的昂贵设备。到了1971年,这种新的液晶显示器开始普遍地为人们接受。当然,那时候的LCD还是单色产品,但是已经不是简单的字符型液晶屏幕了。LCD技术是把液晶灌入两片偏振玻璃之间。所谓偏振玻璃,就是光线通过这样的玻璃之后,就会从球面波或者高斯球面波,变成只在一个平面上振动的波,称为偏振光。偏振光只能通过相应方向的偏振玻璃,如果偏振玻璃的偏振方向和偏振光线的有一定的夹角,就会减弱偏振光强度,甚至偏振光无法通过。如果大家对这方面有兴趣,可以参阅有关的大学物理书籍。夹住液晶的两片偏振玻璃,假设为a、b,他们的偏振方向会设置为90度夹角。光线通过第一片偏振玻璃a后,假设这X方向偏振,通过液晶后,液晶

19、通电流之后,在电场极化作用下,呈规则排列,X偏振光不会有任何改变,投射到b玻璃上。而b玻璃的偏振方向为Y,就是X+90度,X偏振的光线无法通过,在b玻璃外面看上去就是黑色了。而如果液晶没有电场作用,就是没有通电流,通过无规则排列的液晶,X偏振光的偏振方向会发生改变,旋转90度,旋转后X偏振光的偏振方向刚好和b偏振玻璃的偏振方向一样,就是X+90=Y,光线就能通过b玻璃了。1.1.3 DS1302时钟芯片简介DS1302是DALLAS公司推出的涓流充电时钟芯片,内含一个实时时钟/日历和31字节静态RAM,可以通过串行接口与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、星期、月、年的信息,

20、每个月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM标志位决定采用24或12小时时间格式。DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需三根I/O线:复位(RST)、I/O数据线、串行时钟(SCLK)。时钟/RAM的读/写数据以一字节或多达31字节的字符组方式通信。DS1302工作时功耗很低,保持数据和时钟信息时,功耗小于1mW。1.1.4 DS18B20温度传感器简介新的“一线器件”体积更小、适用电压更宽、更经济,Dallas 半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器

21、网络,为测量系统的构建引入全新概念。DS18B20、DS1822 “一线总线”数字化温度传感器同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为-55C+125C,在-10+85C范围内,精度为0.5C。DS1822的精度较差为2C 。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。DS18B20、DS1822 的特性DS18B20可以程序设定912位的分辨率,精

22、度为0.5C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20的性能是新一代产品中最好的!性能价格比也非常出色! DS1822与DS18B20软件兼容,是DS18B20的简化版本。省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为2C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。1.2 选题1.2.1 选题的背景和意义单片机的

23、出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心,如今,它已广泛的应用到我们生活的各个领域,电子、科技、通信、汽车、工业等。计算器作为一种快速通用的计算工具方便了用户的使用。计算器是人们普遍拥有电子产品之一。在计算器的原有计算功能的基础上,又加了两个生活中常用的两个功能:电子时钟,温度。从电子时钟的发明到现在已经将近半个世纪了,从最初的德克萨斯仪器推出的4位单片机电子时钟到当今的32位,从当时价钱昂贵且体积大到现在的精致小型,从以前的单一的时间显示到现代的可以显示温度、湿度等更多功能的电子时钟,都积累了众多科学家的努力和心血。温度关系着我们日常生活,关系着我们的身体健康,其结构简单

24、、易行、实用。所以设计这样的一个多功能计算器是很有意义的。1.3 系统概述1.3.1 系统的工作过程本文基于课题并对当前电子时钟、温度及计算器的开发手段进行了比较和分析,最终确定了采用单片机技术实现多功能计算器的总体方案。本文设计应用STC89C52芯片作为核心,LCD1602显示,计算器通过按键直接可以显示在LCD上,不需要加任何其它芯片,而电子时钟需使用时钟芯片DS1302完成时钟日期的功能,同时利用温度传感器DS18B20测量周围环境温度,并且可以依靠按键随时对日期、时间进行调整。具体工作过程如下:1)上电或按复位按钮系统复位后,液晶屏上显示时间,日期和温度,时间和日期可以进行调整,温度

25、是当前坏境的温度。当用手触摸DS18B20温度传感器时,温度就会变化。2)当按下功能切换键M时,就进入计算的状态,可以实现两个数的加减乘除运算,而且参与运算的数和运算结果必须控制在-2147483648-2147483647之间,否则就会产生溢出,屏幕出现乱码。2 需求分析2.1 用户需求在做毕设之前,我对计算器做了调查,走访了商场,饭店等地方。据他们说,他们想要的是一个简单的计算器,可以实现加减乘除就可以了,而且告诉我有几个附加的功能就更好了比如时间和温度等,因为这些都是生活中天天关注的,人们的生活离不开这两个因素。随着经济的发展,不断推动着科技的发展,而科技的发展又带动了电子行业,各种各样

26、的电子产品纷纷涌出。计算器作为日常生活中常使用的电子产品之一,它的多功能化、小型化、轻便化已成为未来智能化计算器的发展方向。计算器随着供应量的增多、用户使用方便度日益更新,从又大又重到又小又轻,从复杂的模拟电路到一块几厘米的单片机,从简单的加减乘除运算到乘方、开方运算,指数、对数、三角函数、反三角函数的计算不断的变化着。其实大部分人只需要简单计算就可以了,不需要那么繁杂的计算,因为大部分人都用不上这些计算。所以我决定设计一个简单计算器,附加上时间,日期和温度,这些都是人们生活中不可缺少的要素。同时减少硬件与软件的成本,吸引消费者对产品的兴趣变得尤其重要。2.2 市场需求经过走访许多电子产品商场

27、,从销售员那里得知,现在人们考虑的是计算器的功能,价格,体积,当然是买他们需求的功能,价格便宜,体积小的计算器。根据实际调研,我了解到大部分的电子产品都是以单片机为控制核心,主要是因为它们体积小,功能全,而且价格便宜,所以单片机深受开发商的信赖。随着科技的不断更新,单片机的种类也层出不穷,而且功能更加完善,这也给开发商带来了很多的机会。投产条件简单,成本较低,一般生产电子产品的厂家均可生产。市场前景十分看好。3总体设计3.1 总体结构概述3.1.1 硬件结构在本次的设计中,根据系统的功能要求,硬件部分大致分为以下几个主要部分组成:1)中央处理系统:以STC89C52为核心的单片机最小系统,ST

28、C89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。2)时钟电路:本设计选用DS1302来实现时钟电路,与单片机P1.3-P1.5口相连。这款强大的时钟芯片,不但占用的硬件资源少,而且其精确性、实时性也是相当的可观。3)环境温度采集电路:考虑到硬件电路复杂度,软件调试复杂度及制作成本,本设计选用DS18B20作为温度传感器,单片机到DS18B20仅需要一条线,即与单片机P3.3口相连,读写和完成温度变换所需要的电源可由数据线本身提供,而无需外部电源。4)显示电路:首选当然是数码管,它具有显示亮度高,编程易的特点,但是它的单独显示使得每

29、一位都要有自己的为选端,这样会浪费很多P口,因此我们选用更节省资源的液晶LCD1602,它的控制引脚与P0口相连。3.1.2 软件结构对于单片机来说,汇编,C都可实现编程,编译器会根据写的程序翻译成单片机的机器码,不存在哪个芯片专用C或汇编; 只是汇编和C有各自的优缺点。一般来说汇编的程序更接近于机器码,小程序执行效率高,但是单片机种类不同,汇编语言也相差很大,比如51,pic,AVR,ARM;C语言编属于高级语言,具有可移植性,能够结构化编程。使用标准C语言的程序,几乎都可以不作改变移植到不同的微机平台上,对于嵌入式等的微控制芯片,属于标准C语言的部分也很少需要修改,而且程序很容易读懂。C语

30、言编写程序结构清晰,移植性好,容易维护和修改。所以本设计采用C语言进行编程。3.2 总体结构框图3.2.1 硬件结构框图系统主要是由以STC89C52为核心的单片机最小系统、按键电路、时钟电路、环境温度采集电路、显示电路组成,其硬件结构如图3-1所示:图3-1多功能计算器硬件结构框图Figure 3-1 multi-function calculator hardware structure diagram3.2.2 软件结构框图系统采用结构化、模块化的设计思想,使得编程思路明确,且功能比较强大。模块化程序不仅易移植,易修改,易维护,而且其结构清晰明了,让人容易理解。系统的程序主要由主程序模块

31、、初始化模块、时钟模块、显示模块、温度采集模块,计算器模块,按键模块,其软件结构框图如图3-2所示: 图3-2 多功能计算器软件结构框图Figure 3-2 multi-function calculator software structure diagram4 硬件详细设计4.1 单片机最小系统4.1.1 STC89C52单片机的特性目前在单片机系统中,应用比较广泛的微处理器芯片主要为8XC5X系列的单片机,该系列单片机均采用标准MCS-51内核,硬件资源相互兼容,品类齐全、性能稳定、体积小、价格底、货源充足、调试和编程方便,所以应用较为广泛。STC89C52单片机是一款低功耗、低电压、高

32、性能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

33、.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位定时器/计数器。即定时

34、器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

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

36、时器/计数器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)

37、区中R2寄存器的内容),在整个访问期间不改变。FLASH编程或校验时,P2亦接收高位地址和其他控制信号。P3口:P3是一个带内部上拉电阻的8位双向I/O口,P3的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。P3除了作为一般的I/O口线外,更重要的用途是它的第二功能,具体功能说明如表2-2。P3口还接收一些用于FLASH闪速存储器编程和程序校的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位

38、。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以是时钟振荡频率的1/6输出固定的正脉冲信号,因此他可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。PSEN:程序储存允许(PSEN)输

39、出是外部程序存储器的读选通信号,当AT80C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。EA/VPP:外部访问允许。欲使CPU仅访问外部程序储存器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需要注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(Vcc端),CPU则执行内部程序储存器中的指令。FLASH储存器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12v编程电压。XTAL1:振荡器反相放大器的及内部时钟发生器的

40、输入端。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(定时/

41、计数器0)P3.6WR(外部数据写选通)P3.7RD(外部数据读选通) 4.1.3 时钟电路STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图4-2所示,在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.212MHz之间选择,电容值在530pF之间选择,电容值的大小可对频率起微调的作用。用户也可以采用外部时钟,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采

42、用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。图4-2 内部晶振电路Figure 4-2 internal clock circuit4.1.4 复位电路STC89C52的复位引脚为RESET,当此引脚连接高电平超过2个机器周期,即可产生复位操作。通常情况下,单片机采用上电自动复位和开关手动复位两种方式,两种方式的具体工作过程如下:1)上电复位所谓上电复位,是指单片机只要一上电,便自动进入复位状态。在通电瞬间,电容C通过电阻R充电,RST端出现正脉冲,用以复位。参数的设定应保证复位高电平持续时间大于2个机器周期。当采用晶体为12MHz

43、时,可取C=10pF,R=10k。2)手动复位所谓手动复位,是通过接通一个按钮开关,使单片机进入复位状态。系统上电运行后,若需要复位,一般都通过手动复位来实现5。通常情况下为了系统更稳定的工作,一般都是将上电复位和手动复位组合起来,构成单片机的复位电路,系统就是采用上电复位和手动复位结合的方式,来完成复位操作,其电路如4-3图所示。图4-3 复位电路Figure 4-3 reset circuit4.2 时钟/日历电路4.2.1 DS1302简要说明DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、星期、时、分、秒进行计时,具有闰年补偿功

44、能,工作电压为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 DS13

45、02 package and pinDS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态

46、。上电运行时,在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

47、总线驱动方式,它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。要想与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,为时钟字节方式选择寄存器。

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号