多用途气动机器人结构设计毕业论文.docx

上传人:椰子壳 文档编号:3923629 上传时间:2019-10-10 格式:DOCX 页数:56 大小:745.61KB
返回 下载 相关 举报
多用途气动机器人结构设计毕业论文.docx_第1页
第1页 / 共56页
多用途气动机器人结构设计毕业论文.docx_第2页
第2页 / 共56页
多用途气动机器人结构设计毕业论文.docx_第3页
第3页 / 共56页
多用途气动机器人结构设计毕业论文.docx_第4页
第4页 / 共56页
多用途气动机器人结构设计毕业论文.docx_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《多用途气动机器人结构设计毕业论文.docx》由会员分享,可在线阅读,更多相关《多用途气动机器人结构设计毕业论文.docx(56页珍藏版)》请在三一文库上搜索。

1、毕业设计(论文)摘要在工业生产过程中,往往需要对各类加热炉、热处理炉、反应炉的温度进行检测和调节,因此需要一种合适的系统对其温度进行精确控制,由于单片机具有低功耗、高性能、可靠性好、易于产品化等特点,因此采用单片机对温度进行控制不仅节约成本,控制方法灵活多样,并且可以达到较高的控制精度,从而能够大大提高产品的质量,因此单片机被广泛应用在中小型控制系统中。本论文以电阻炉为研究对象,开发了基于单片机的温度控制系统。本温度控制系统按功能分主要包括温度传感器模块、数据处理模块、温度显示/设定模块和温度控制模块。温度传感器采用了数字式温度传感器DS18B20,对温度进行实时采样并将模拟信号转换成数字信号

2、返回给单片机。系统可通过键盘对电阻炉水温进行预设,单片机根据当前炉内温度和预设温度进行运算,控制输出宽度可调的PWM方波,并由此控制双向可控硅的导通和关断来调节电热丝的加热功率,从而使水温迅速达到预设值并保持恒定不变。设计过程中,首先进行软件设计和开发,使系统功能模块化并分别通过Proteus软件进行仿真,实现功能后对硬件进行了综合设计,并且反复论证、测试各器件参数以使其稳定运行,最终使得此系统实现了温度的恒温控制。关键词:单片机;温度传感器;可控硅;温度控制AbstractIn the industrial production process, often require various

3、types of furnace, heat treatment furnace, reactor temperature detection and regulation, so it needs a proper system of precise control of its temperature, as low power consumption single chip, high performance, reliability, easy-to-market commodity and so on, so to control the temperature using SCM

4、not only save on cost, control method of flexible and diverse, and can achieve higher precision, which can greatly enhance the quality of the product, so SCM is widely used in the Small control system. In this study, the Temperature Control System design.As a typical application Temperature Control

5、System is the integrated use of the computer theory, control theory, analog electronics, digital control technology, keyboard, display technology, and many other areas of knowledge.Temperature sensor uses digital temperature sensor DS18B20, real-time sampling of the temperature and analog signals in

6、to digital signals back to the SCM. System can be preset through the keyboard on the temperature, microcontroller based on the current temperature and the preset temperature of the furnace operation, PWM control output square wave with adjustable width, and thus control the triac on-and off to regul

7、ate the electric wire heating power, so that the water temperature quickly reach and maintain constant preset value. The design process, first of all the software design and development, making the system functional module and through the Proteus software simulation, respectively, to achieve feature

8、 an integrated design of the hardware, and repeated demonstration, testing the device parameters to make it stable operation, and ultimately make This system has realized the constant temperature control. Keywords:MCS-51, temperature sensor, SCR,temperature control目录1绪论11.1简介11.2课题研究的内容及要求21.2.1课题的主

9、要研究的内容21.2.2本系统的功能31.3本文的主要内容32电阻炉温度控制系统工作原理42.1温度控制总体设计方案42.2温度传感器模块52.2.1 DS18B20基本知识52.2.2 DS18B20产品的特点62.2.3 DS18B20的引脚介绍62.2.4 DS18B20的4个主要部件82.2.5温度采集模块电路图102.3数据处理模块112.3.1单片机的发展方向112.3.2 STC89C52系列主要性能参数112.3.3 STC89C52存储器配置152.4温度显示模块/设定模块192.4.1温度显示部分192.4.2温度设定部分242.4.3温度显示/设定模块电路图242.5温度

10、控制模块252.5.1可控硅BTA16252.5.2光电偶合器MOC3021282.5.3温度控制模块电路图293系统软件设计313.1系统主程序313.2温度采集子程序323.3显示子程序323.4温度设定子程序333.5控制算法334温度控制系统Proteus仿真354.1仿真说明354.2仿真结果354.3结论37致谢38参考文献39附录程序清单401 绪论1.1 简介及时准确地得到温度信息并对其进行适时的控制,在许多工业场合中都是重要的环节.水温的变化影响各种系统的自动运作,例如冶金、机械、食品、化工各类工业中,广泛使用的各种加热炉、热处理炉、反应炉等,对工件的水处理温度要求严格控制。

11、对于不同控制系统,其适宜的水质温度总是在一个范围。超过这个范围,系统或许会停止运行或遭受破坏,所以我们必须能实时获取水温变化。对于,超过适宜范围的温度能够报警。同时,我们也希望在适宜温度范围内可以由检测人员根据实际情况加以改变。单片机对温度的控制是工业生产中经常使用的控制方法。从1976年Intel公司推出第一批单片机以来,80年代单片机技术进入快速发展时期,近年来,随着大规模集成电路的发展,单片机继续朝快速、高性能方向发展。单片机主要用于控制,它的应用领域遍及各行各业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。单片机将微处理器、存储器、定时/计数器、I/O接口电路等集成

12、在一个芯片上的大规模集成电路,本身即是一个小型化的微机系统。单片机技术与传感与测量技术、信号与系统分析技术、电路设计技术、可编程逻辑应用技术、微机接口技术、数据库技术以及数据结构、计算机操作系统、汇编语言程序设计、高级语言程序设计、软件工程、数据网络通信、数字信号处理、自动控制、误差分析、仪器仪表结构设计和制造工艺等的结合,使得单片机的应用非常广泛。同时,单片机具有较强的管理功能。采用单片机对整个测量电路进行管理和控制,使得整个系统智能化、功耗低、使用电子元件较少、内部配线少、成本低,制造、安装、调试及维修方便。随着电视监视器材、计算机技术的日益发展,图形监视系统在电视系统或监控场所得到了广泛

13、地应用。用图形来实时显示被控对象(摄像机、终端设备等)在操作过程中的状态,具有清晰明了、形象直观且可以及时处理反馈信息。它比数字仪表包含的信息量大得多,因此使现场监控人员的工作方式得到了改进,效率也由此得到了很大的提高。现场电视监控系统由实时控制系统、监视系统及管理信息系统组成。实时控制系统完成实时数据采集处理、存储、反馈的功能;监视系统完成对各个监控点的全天候的监视,能在多操作控制点上自动或手动切换多路图像,能遥控前端设备,能使摄像镜头自动对焦等;管理信息系统完成各类所需信息的采集、接收、传输、加工、处理,是整个系统的控制核心。目前的图形实时监控软件通常用VC或VC+开发,它具备编译各种可视

14、化程序的功能,可以使计算机通过监控界面达到对被控对象的各种实时操控。因此,本毕业设计选择设计一个水温控制系统,采用单片机进行控制的水温自动控制电路,使系统能简单的实现温度的控制及显示,AT89C52单片机优秀的实时控制功能、灵活的编程能力有机的结合起来,并且通过软件编程能实现各种控制算法,使系统具有控制精度高的特点,对实现对水温的自动控制,具有重大的现实意义。不但能用于学校的实验教学及其它一些研究课题的开发,同样能用于工厂多点温度的控制,提高工业企业自动化水平。1.2 课题研究的内容及要求本次的毕业设计的题目是单片机水温控制系统设计。它是多种技术知识的结合,不仅涉及到软件的设计,而且还将应用电

15、子技术与单片机的应用技术有机结合,使其具有精度高、测量误差小、稳定性好等特点。电路板的设计技术和机械加工工艺的巧妙结合,使其具备了显示直观、体积做工精细等特点,能为它在其它领域的广泛应用打下良好的基础。因为经过我们调查发现许多应用场合原来就有测温控温仪器,只是随着对生产质量与生产需要的要求在不断地提高,以往的那些测温控温的仪器根本不能满足现在的要求。其中,有部分应用场合对精度提高的幅度要求也不是特别高。因此,为了提高性价比,我所设计的系统提出在原有系统的基础上进行一些简单的改良,以此为出发点,主要阐述的是水温自动控制系统的一种实现方法。1.2.1 课题的主要研究的内容本文所要研究的课题是基于单

16、片机控制的水温控制系统的设计,主要是介绍了对水箱温度的显示,实现了温度的实时显示及控制。水箱水温控制部分,提出了用DS18B20、STC89C52单片机及LCD的硬件电路完成对水温的实时检测及显示,而炉内温度控制部分,由DS18B20检测炉内温度,用中值滤波的方法取一个值存入程序存取器内部一个单元作为最后检测信号,并在LCD中显示。控制器是用STC89C52单片机,用设定的算法对检测信号和设定值的差值进行调节后输出PWM控制信号给执行机构,去调节电阻炉的加热功率,从而控制炉内温度。它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,特别适合于构成多点的温度测控系统,可直接将温度转化

17、成串行数字信号供微机处理,而且每片DS18B20都有唯一的产品号,可以一并存入其ROM中,以便在构成大型温度测控系统时在单线上挂接任意多个DS18S20芯片。从DS18S20读出或写入DS18S20信息仅需要一根口线,其读写及其温度变换功率来源于数据总线,该总线本身也可以向所挂接的DS18B20供电,而且不需要额外电源。同时DS18B20能提供九位温度读数,它无需任何外围硬件即可方便地构成温度检测系统。而且利用本次的设计主要实现温度测试,温度显示,温度门限设定,超过设定的门限值时自动启动加热装置等功能。而且还要以单片机为主机,使温度传感器通过一根口线与单片机相连接,再加上温度控制部分和人机对话

18、部分来共同实现温度的监测与控制。1.2.2 本系统的功能(1)能够连续测量水的温度值,用1602LCD液晶来显示水的实际温度。(2)能够设定水的温度值,设定范围是3090。(3)用单片机STC89C52控制,通过按键来控制水温的设定值,并保持恒定不变。(4)误差11.3 本文的主要内容本文中具体做了如下几方面工作:(1)水温控制系统硬件的设计水温控制系统硬件设计主要包括STC89C52单片机、温度传感器模块、温度控制模块、显示模块、按键模块的介绍。(2)水温控制系统软件的设计借助Keil C51开发工具,以C语言为开发语言,开发了单片机系统的温度检测与控制程序模块、对温度传感器模块、显示模块、

19、温度控制模块进行控制,键盘导入设定的温度,使其与实际温度进行运算并输出。(3)水温控制系统的仿真以Proteus为基础,画出电路图加载各模块,加载程序并模拟实际电路的运行状态并进行仿真。2 电阻炉温度控制系统工作原理2.1 温度控制方案总体设计本系统以STC89C52为核心,以KEIL为系统程序开发平台,以C语言进行程序设计,以PROTEUS作为仿真软件设计而成的。所设计的温度控制主要由单片机、温度采集模块、温度显示模块、温度控制模块、按键设定模块五部分组成。对于温度控制,采用单片机STC89C52组成的自动控制系统,其系统硬件总体方框图如图1所示:采样电路输出温度被控对象晶闸管主电路驱动电路

20、89c52控制电路温度给定值图1系统总体方框图在图1中,温度传感器采用单总线数字温度传感器DS18B20;LCD液晶显示器,使用其动态显示方式,实时显示DS18B20采集到的水温温度。水箱的水大约为1升,电热炉功率为400W;按键设定分为设置按键+1(PLUS),-1(SUBS)功能,其特点是:可通过UP和DOWN键进行温度闪烁加减设定;光耦采用MOC3021,可控硅采用BTA16。其整体电路图如图2所示。图2整体设计电路图2.2 温度传感器模块温度传感器模块采用DS18B20,主要功能是实时将水温温度数据返回单片机,将模拟信号转换为数字信号,便于数据处理与决策,由于此模块直接决定整个系统能否

21、正常运行,所以是系统的核心模块。2.2.1 DS18B20基本知识DS18B20数字温度计是DALLAS公司生产的1Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。2.2.2 DS18B20产品的特点(1)只要求一个端口即可实现通信。(2)在DS18B20中的每个器件上都有独一无二的序列号。(3)实际应用中不需要外部任何元器件即可实现测温。(4)测量温度范围在55到125之间。(5)数字温度计的分辨率用户可以从9位到12位选择。(6)内部有温度上、下限告警设置。2.2.3 DS18B20的引脚介绍

22、TO92封装的DS18B20的引脚排列见图3,其引脚功能描述见表1。图3底视图表1DS18B20详细引脚功能描述序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚。3VDD可选择的VDD引脚。4DS18B20的使用方法由于DS18B20采用的是1Wire总线协议方式,即在一根数据线实现数据的双向传输,而对STC89C52单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整

23、性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。DS18B20的复位时序如图4所示:图4DS18B20的复位时序DS18B20的读时序分为读0时序和读1时序两个过程,如图5所示。对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。图5DS18B20

24、的读时序DS18B20的写时序分为写0时序和写1时序两个过程,如图6所示。对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。图6 DS18B20的写时序2.2.4 DS18B20的4个主要部件(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20 的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48 位是该DS18B20 自身的序列号,最后8 位是前

25、面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20 都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。(2)DS18B20 中的温度传感器可完成对温度的测量,以12位转化为例:用16 位符号扩展的二进制补码读数形式提供,以0.0625/LSB 形式表达,其中S为符号位,温度格式如表2所示:表2DS18B20温度值格式表Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 LS ByteBit15 Bit14 Bit13 Bit12 Bit11 Bit10 Bit 9 Bit 8MS Byt

26、e 2223 21 202-1 2-22-3 2-4 SS S S S 262524这是12位转化后得到的12 位数据,存储在DS18B20 的两个8 比特的RAM 中,二进制中的前面5 位是符号位,如果测得的温度大于0,这5 位为0,只要将测到的数值乘于0.0625 即可得到实际温度;如果温度小于0,这5 位为1,测到的数值需要取反加1 再乘于0.0625 即可得到实际温度。例如+125的数字输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。DS18B20温度数据如表3所示:TEMPERATUREDIGITAL O

27、UTPUT (Binary)DIGITAL OUTPUT (Hex) +1250000 0111 1101 000007D0h +850000 0101 0101 00000550h +25.06250000 0001 1001 00010191h +10.1250000 0000 1010 001000A2h +0.50000 0000 0000 100000008h00000 0000 0000 000000000h-0.51111 1111 1111 1000FFF8h-10.1251111 1111 0101 1110FF5Eh-25.06251111 1110 0110 1111FE

28、6Eh-551111 1100 1001 0000FC90h表3 DS18B20 温度数据表(3)DS18B20 温度传感器的存储器DS18B20 温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL 和结构寄存器。(4)配置寄存器该字节各位的意义如表4所示:表4 配置寄存器结构TMR1R011111低五位一直都是1 ,TM 是测试模式位,用于设置DS18B20 在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1 和R0 用来设置分辨率,如表5所示:表5温度值分辨率设置表R1R0分辨率温度最

29、大转换时间009位93.75ms0110位187.5ms1011位375ms1112位750ms由表5可见,设定的分辨率越高,所需要的温度转换时间就越长。因此,在实际应用中要将分辨率和转换时间权衡考虑,视设备的实际需要来选择分辨率。2.2.5 温度采集模块电路图本设计采用数字传感器DS18B20,DS18B20是一种可组网的单线数字温度传感器,它采用单线总线结构,集温度测量和A/D转换于一体,直接输出数字量,用一根I/O线就可以传送数据与命令,其温度测量范围为-55+125,精度为+/-0.5,使用中无需外部器件,可利用数据线或外部电源提供电能,供电电压范围为3.35.5V,通过编程实现912

30、位分辨率读出温度数据。使用时,将DS18B20的数据DQ与单片机的一位具有三态功能的双向口连接就可以实现数据传输,为保证在有效的时钟周期内提供足够电流,采用外部电源单独供电,在数据线上加一个6.8K的上拉电阻。具体接线如图7所示:图7温度采集模块电路图2.3 数据处理模块单片机是温度控制系统的核心部件,负责数据处理,分别控制显示模块、温度控制模块和温度采集模块,由于数据大于5K,所以选用内存量为8K的STC89C52单片机。2.3.1 单片机的发展方向未来单片机的发展趋势主要有:主流型机发展趋势,8位单片机为主流,少量32位机,16位可能被淘汰;全盘CMOS化趋势;RISC体系结构的发展;大力

31、发展专用单片机;OTPROM、flashROM成为主流供应状态;ISP及基于ISP的开发环境;单片机的软件嵌入;实现全面功耗管理;推行串行扩展总线;ASMIC技术的发展。单片机以其卓越地性能,得到了广泛地应用,以深入到各个领域。单片机应用在检测、控制领域中,具有如下特点。小巧灵活、成本低、易于产品化。它能方便地组装成各种智能式测控设备及各种智能仪器仪表;可靠性好,适应温度范围宽。单片机芯片本身是按工业测控环境要求设计的,能适应各种恶劣的环境,这是其它机种无法比拟的;以扩展,很容易构成各种规模的应用系统,控制能力强。单片机的逻辑控制功能很强,指令系统有各种控制功能用指令;可以方便地实现多机和分布

32、式控制。2.3.2 STC89C52系列主要性能参数STC89C52是一种低功耗,高性能CMOS微控制器,具有8K在系统可编程Flash存储器。使用Armel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52众多嵌入式控制应用系统提供高灵活、超有效的解决方案。STC89C52可提供以下标准功能:8K字节闪存器,256字节内部RAM,32个I/O口线,看门狗定时器,2个数据指针,3个16位定时/计数器,一个6向量2级中断结构,全双工串行

33、通信口,片内振荡器及时钟电路。STC89C51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串性通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个中断或硬件复位为止。图8 STC89C52引脚图图9 STC89C52内部结构图P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,

34、P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输

35、出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为一些特殊功能口,如表6所示:表6 : P3口第2功能表引脚第2功能P3.0RXD(串行口输入端)P3.1TXD(串行口输出端)P3.2INT0(外部中断0请求输入端,低电平有效)P

36、3.3INT1(外部中断1请求输入端,低电平有效)P3.4T0(定时器/记时器0计数脉冲输入端)P3.5T1(定时器/记时器1计数脉冲输入端)P3.6WR(外部数据存储器写选通信号输出端,低电平有效)P3.7RD(外部数据存储器读选通信号输出端,低电平有效)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低8位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的

37、是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次PSEN有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在F

38、LASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。2.3.3 STC89C52存储器配置1存储器结构程序存储器:如果EA引脚接地,程序读取只从外部存储器开始。对于89S52,如果EA 接VCC,程序读写先从内部存储器(地址为0000H1FFFH)开始,接着从外部寻址,寻址地址为:2000HFFFFH。数据存储器:STC89C52有256 字节片内数据存储器。高128 字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。当一条指令访问高于7FH 的地址时

39、,寻址方式决定CPU 访问高128 字RAM 还是特殊功能寄存器空间。直接寻址方式访问特殊功能寄存器(SFR)。2看门狗定时器WDT是一种需要软件控制的复位方式。WDT 由13位计数器和特殊功能寄存器中的看门狗定时器复位存储器(WDTRST)构成。WDT 在默认情况下无法工作;为了激活WDT,用户必须往WDTRST 寄存器(地址:0A6H)中依次写入01EH 和0E1H。当WDT激活后,晶振工作,WDT在每个机器周期都会增加。WDT计时周期依赖于外部时钟频率。除了复位(硬件复位或WDT溢出复位),没有办法停止WDT工作。当WDT溢出,它将驱动RSR引脚一个高个电平输出。WDT的使用:为了激活W

40、DT,用户必须向WDTRST寄存器(地址为0A6H的SFR)依次写入0E1H和0E1H。当WDT激活后,用户必须向WDTRST写入01EH和0E1H喂狗来避免WDT溢出。当计数达到8191(1FFFH)时,13 位计数器将会溢出,这将会复位器件。晶振正常工作、WDT激活后,每一个机器周期WDT 都会增加。为了复位WDT,用户必须向WDTRST 写入01EH 和0E1H(WDTRST 是只读寄存器)。WDT 计数器不能读或写。当WDT 计数器溢出时,将给RST 引脚产生一个复位脉冲输出,这个复位脉冲持续96个晶振周期(TOSC),其中TOSC=1/FOSC。为了很好地使用WDT,应该在一定时间内

41、周期性写入那部分代码,以避免WDT复位。掉电和空闲方式下的WDT:在掉电模式下,晶振停止工作,这意味这WDT也停止了工作。在这种方式下,用户不必喂狗。有两种方式可以离开掉电模式:硬件复位或通过一个激活的外部中断。通过硬件复位退出掉电模式后,用户就应该给WDT 喂狗,就如同通常STC89C52复位一样。通过中断退出掉电模式的情形有很大的不同。中断应持续拉低很长一段时间,使得晶振稳定。当中断拉高后,执行中断服务程序。为了防止WDT在中断保持低电平的时候复位器件,WDT 直到中断拉低后才开始工作。这就意味着WDT 应该在中断服务程序中复位。为了确保在离开掉电模式最初的几个状态WDT不被溢出,最好在进

42、入掉电模式前就复位WDT。在进入待机模式前,特殊寄存器AUXR的WDIDLE位用来决定WDT是否继续计数。默认状态下,在待机模式下,WDIDLE0,WDT继续计数。为了式下复位STC89C52,用户应该建立一个定时器,定时离开待机模式,喂狗,再重新进入待机模式。3定时器定时器0和定时器1:定时器0和定时器1与STC89C51一样。定时器2:定时器2是一个16位定时/计数器,它既可以做定时器,又可以做事件计数器。其工作方式由特殊寄存器T2CON中的C/T2位选择(如表2所示)。定时器2有三种工作模式:捕捉方式、自动重载(向下或向上计数)和波特率发生器。如表3 所示,工作模式由T2CON中的相关位

43、选择。定时器2 有2 个8位寄存器:TH2和TL2。在定时工作方式中,每个机器周期,TL2 寄存器都会加1。由于一个机器周期由12 个晶振周期构成,因此,计数频率就是晶振频率的1/12。表7:定时器/计数器2标志位TF2EXF2RCLKTCLKEXEN2TR2C/T2CP/RL276543210表8:定时器2功能表符号功能TF2定时器2溢出标志位,必须软件清0,RCLK=1或TCLK=1,TF2不用置位EXF2定时器2外部标志位,EXEN2=1时,T2EX上的负跳变出现或者重载时,EXEF2会被硬件置位。定时器2打开。EXF2=1,将引导CPU执行定时器2中断程序。RCLK串行口接收数据时钟标

44、志位,若RCLK=1,串行口将使用定时器2溢出脉冲作为串行口工作方式1和工作方式3 的串口接收时钟。TCLK=0将使用定时器1计数溢出作为串口接收时钟TCLK串行口发送数据时钟标志位。当EXEN2=1时,如果定时器2没有作为串行时钟,T2EX的负跳变引起定时器2捕捉和重载,若EXEN2=0,定时器2将视T2EX为无效。EXEN2定时器2外部允许标志位,当EXEN2=1时,如果定时器2没有用作T2EX的负跳变引起定时器2捕捉和重载,若EXEN2=0,定时器2将视T2EX为无效。TR2开始/停止控制定时器2,若TR2=1,定时器2开始工作C/T2定时器2定时/计数选择标志位,C/T2=0开始计时,

45、C/T2=1外部事件计数。(下降沿触发)CP/RL2捕捉重载标志位,当EXEN2=1时,如果定时器2没有作为串行时钟,T2EX的负跳变引起定时器2捕捉和重载,若EXEN2=0,定时器2将视T2EX为无效。定时器2强制自动重载。表9:定时器2的工作模式RCLK+TCLKCP/RL2TR2MODE00116位自动重载01116位捕捉1X1波特率发生器XX0(不用)在计数工作方式下,寄存器在相关外部输入角T2 发生1 至0 的下降沿时增加1。在这种方式下,每个机器周期的S5P2期间采样外部输入。一个机器周期采样到高电平,而下一个周期采样到低电平,计数器将加1。在检测到跳变的这个周期的S3P1 期间,

46、新的计数值出现在寄存器中。因为识别10的跳变需要2个机器周期(24个晶振周期),所以,最大的计数频率不高于晶振频率的1/24。为了确保给定的电平在改变前采样到一次,电平应该至少在一个完整的机器周期内保持不变。4中断STC89C52有6个中断源:两个外部中断(INT0 和INT1),三个定时中断(定时器0、1、2)和一个串行中断。每个中断源都可以通过置位或清除特殊寄存器IE 中的相关中断允许控制位分别使得中断源有效或无效。IE还包括一个中断允许总控制位EA,它能一次禁止所有中断。如表5所示,IE.6位是不可用的。对于STC89C52,IE.5位也是不能用的。用户软件不应给这些位写1。它们为AT89系列新产品预留定时器2可以被寄存器T2CON中的TF2和EXF2的或逻辑触发。程序进入中断服务后,这些标志位都可以由硬件清0。实际上,中断服务程序必须判定是否是TF2 或EXF2激活中断,标志位也必须由软件清0。定时器0和定时器1标志位TF0 和TF1在计数溢出的那个周期的S5P2被置位。它们的值一直到下一个周期被电路捕捉下来。然而,定时器2 的标志位TF2 在计数溢出的那个周期的S2P2被置位,在同一个周期被电路捕捉下来。外部中断源如表10所示:表10:外部中断源EAESET1EX1ET0EX0中

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1