欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    分布式温度控制系统的设计与实现.doc

    • 资源ID:10006265       资源大小:47.50KB        全文页数:46页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    分布式温度控制系统的设计与实现.doc

    分布式温度控制系统的设计与实现 目录第一章绪论-11.1问题的提出-21.2课题相关的背景知识1.2设计目的及系统功能3第二章硬件电路设计32.1基本硬件设计思路32.2基本设计框图42.3AT89S52单片机42.3.1主要性能:52.3.1引脚排列及功能52.3.2存储器组织和特殊功能寄存器72.3.3低功耗节电模式92.3.4定时器102.3.5中断132.3.6时钟152.4ZLG7290键盘/显示接口芯片152.4.1ZLG7290特点162.4.2引脚及说明162.4.3功能描述172.4.4寄存器详解192.4.5通信接口202.4.6指令详解202.5数字温度传感器DS18B20232.5.1DS18B20的主要特性232.5.2引脚及其说明242.5.3内部结构242.5.4工作过程及时序24第三章软件设计273.1主程序框图-27致谢31参考文献32附录一电路原理图-33附录二毕业设计硬件电路元件清单34第一章绪论自从1976年Intel公司推出第一批单片机以来,80年代单片机技术进入快速发展时期,近年来,随着大规模集成电路的发展,单片机继续朝快速、高性能方向发展,从4位、8位单片机发展到16位、32位单片机。单片机主要用于控制,它的应用领域遍及各行各业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。单片机在国内的三大领域中应用得十分广泛:第一是家用电器业,例如全自动洗衣机、智能玩具;第二是通讯业,包括电话、手机和BP机等等;第三是仪器仪表和计算机外设制造,例如软盘、硬盘、收银机、电表。除了上述传统领域外,汽车、电子工业在国外也是单片机应用十分广泛的一个领域。它成本低、集成度高、功耗低、控制功能多能灵活的组装成各种智能控制装置,由它构成的智能仪表解决了长期以来测量仪器中的误差的修正、线性处理等问题。单片机将微处理器、存储器、定时/计数器、I/O接口电路等集成在一个芯片上的大规模集成电路,本身即是一个小型化的微机系统。单片机技术与传感与测量技术、信号与系统分析技术、电路设计技术、可编程逻辑应用技术、微机接口技术、数据库技术以及数据结构、计算机操作系统、汇编语言程序设计、高级语言程序设计、软件工程、数据网络通信、数字信号处理、自动控制、误差分析、仪器仪表结构设计和制造工艺等的结合,使得单片机的应用非常广泛。同时,单片机具有较强的管理功能。采用单片机对整个测量电路进行管理和控制,使得整个系统智能化、功耗低、使用电子元件较少、内部配线少、成本低,制造、安装、调试及维修方便。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。1.1问题的提出分布式温度控制系统广泛应用在使用了中央空调的大型商场、厂房、办公大楼等大型建筑内。本课题主要针对分布在建筑物内有关各处的结点控制单元,用温度传感器对环境温度实施实时监测,利用单片机实施对冷(热)风机开关的最佳控制;各结点控制单元可将有关信息上传给中央处理单元(计算机),也可接收中央处理单元发来的控制命令;必要时可由中央处理单元直接控制冷(热)水机组的启、停。监测过程中温度传感器采样所得到的信号送给单片机处理;控制过程中,利用单片机控制电路发送出TTL电平,转换强电开关量信号实现对各风机开关的控制。本课题研究主要解决的问题为分布式计算机控制结构设计、多单片机串行通信、温度的采集与处理、弱电控制强电以及设计制作成本等。本设计是以基于单片机AT89S52设计的实时温度采集仪,采用DS18B20可以采集多路温 1 2 涓嬩竴椤? 度数据(本设计只用了一路)。通过小键盘实现对温度数据的设定,对于超过此限的温度数据CPU将起动动执行机构做出相应的处理。同时实时显示所采集到的温度值。1.2设计目的及系统功能本设计的目的是以单片机为核心设计出一个智能温度控制系统。通过本课题设计,综合运用单片机及接口技术、微机原理、微电子技术,锻炼动手操作能力,综合运用能力,学习论文的写作方法和步骤。设计的温度控制系统有以下功能及特点:(1)测温范围:099;(2)温度显示:采用八个七段段数码管,前四位显示采样温度值,后四位显示温度设定值;(3)上位机和键盘都可设定温度和温度的上下限,且上位机的权限大于键盘的权限;(4)温度初始值可进行灵活设定;(5)系统控制精度不高.第二章硬件电路设计硬件是实现本系统的重要基础,硬件电路做的是否合理直接影响系统的稳定性和可靠性。下面对我的硬件系统作具体的介绍。2.1基本硬件设计思路本设计用温度传感器将被测温度转换为数字量,无需放大即可与单片机相连。CPU采用AT89S52单片机,它与MCS-51系列单片机完全兼容,同时具有较大的存储空间以及具有在线编程功能,减少了编程时配套工具的使用.键盘/显示通过可编程的键盘显示接口芯片ZLG7290实现温度限值的设定和显示,同时使用具有实时性能的动态显示模块.2.2基本设计框图总体设计框图如图1-1所示。说明如下:(1)DS18B20检测温度,将温度值送CPU(AT89S52)处理;(2)CPU接受DS18B20传送的温度,并送ZLG7290芯片,由数码管显示;(3)CPU将接受的温度与设定的最大值、最小值进行比较,如果温度超过所设温度限值,转报警处理程序;(4)由小键盘控制所需显示路数的温度,并在数码管上显示;(5)CPU将实时温度与设定的温度进行比较,若设定温度低于实时温度,则开暖风机,若设定温度高于时温度,则开冷风机。图1-1基本设计框图2.3AT89S52单片机AT89S52是一个低功耗,高性能,采用CMOS工艺的8位单片机,其片内含8kB的可在线编程(ISP:In-systemprogrammable)的Flash的可反复擦写1000次的Flash只读程序存储器,该器件采用AtmelL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,从而使其功能更加完善,应用更加灵活;具有较高的性能价格比,使其在嵌入式控制应用系统中有着广泛的应用前景。2.3.1主要性能:与MCS-51单片机产品兼容8KB的Flash片内程序存储器1000次擦写周期全静态操作:0Hz33Hz三级加密程序存储器32个可编程I/O口线三个16位定时器/计数器八个中断源全双工UART串行通道低功耗空闲和掉电模式掉电后中断可唤醒看门狗定时器双数据指针掉电标识符图2-1AT89S52引脚排列图2.3.1引脚排列及功能AT89S52具有PDIP、PLCC和TQFP3种封装形式。其PDIP封装的引脚排列如图2-1所示。VCC:电源GND:地P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻.在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如表2.1所示。表2.1P1口的替代功能引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)在flash编程和校验时,P1口接收低8位地址字节。P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVXDPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVXRI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如表2.2所示。表2.2P3口的替代功能引脚号第二功能P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2INT0(外部中断0)续表2.2P3.3INT1(外部中断0)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器写选通)在flash编程和校验时,P3口也接收一些控制RST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。2.3.2存储器组织和特殊功能寄存器特殊功能寄存器(SFR)的地址空间都有具体的定义。但并不是所有的地址都被定义了。片上没有定义的地址是不能用的。读这些地址,一般将得到一个随机数据;写入的数据将会无效。用户不应该给这些未定义的地址写入数据“1”。由于这些寄存器在将来可能被赋予新的功能,复位后,这些位都为“0”。定时器2寄存器寄存器T2CON和T2MOD包含定时器2的控制位和状态位(如表2.3所示),寄存器对RCAP2H和RCAP2L是定时器2的捕捉/自动重载寄存器。中断寄存器各中断允许位在IE寄存器中,六个中断源的两个优先级也可在IE中设置。双数据指针寄存器表2.3T2CON:定时器/计数器2控制寄存器T2CON地址:0C8H(可位寻址)复位值:00000000BTF2EXF2RCLKTCLKEXEN2RT2C/T2CP/TL276543210符号功能TF2定时器2溢出标志位,必须软件清零,RCLK或TCLK=1时,该位不用置位EXF2T2外部标志。EXEN2=1时,T23EX/P1.1引脚上的负跳变将引起T2的捕捉/重装操作,此时EXF2=1。在T2中断允许的条件下,EXF2=1将引起中断。EXF2位只能用软件清除。在T2的向上/向下计数模式下(DCEN=1),EXF2的置位将不引起中断。RCLK接收时钟允许。当RCLK=1时,T2的溢出脉冲可用做串行口的接收时钟信号,适用于串行模式1和3。当RCLK=0时,T1的溢出脉冲用做串行口接收时钟信号。TCLK发送时钟允许。当TCLK=1时,T2的溢出脉冲可用做串行口的发送时钟信号,适用于模式1和3。当TCLK=0时,T1的溢出脉冲可用做串行口的发送时钟信号。EXEN2T2的外部事件(引起捕捉/重装的外部信号)允许。当EXEN2=1时,如果T2没有作串行时钟输出(即RCLK TCLK=0),则在T2EX/P1.1引脚的负跳变将引起T2的捕捉/重装操作。当EXEN2=0时,T2EX/P1.1的负跳变不起作用。RT2T2的启动/停止控制。当TR2=1时,T2为外部计数方式(P1.0脚的输入脉冲的下降沿触发计数)。当TR2=0时,T2为定时器C/T2T2的计数/定时方式的选择。当C/T2=1时,T2为外部计数方式(P1.0脚的输入脉冲的下降沿触发计数)。当C/T2=0时,T2为定时器。CP/RL2捕捉/重装载选择。当CP/RL2=1且EXEN2=1时,T2EX/P1.1引脚的负跳变将引起捕捉操作。当CP/RL2=0且EXEN2=1时,T2EX/P1.1引脚的负跳变将引起自动重装载操作。当CP/RL2=0且EXEN2=0时,T2溢出将引起T2的自动重装操作。为了更有利于访问内部和外部数据存储器,系统提供了两路16位数据指针寄存器:位于SFR中82H83H的DP0和位于84H85。特殊寄存器AUXR1中DPS0选择DP0;DPS=1选择DP1。用户应该在访问数据指针寄存器前先初始化DPS至合理的值。掉电标志位掉电标志位(POF)位于特殊寄存器PCON的第四位(PCON.4)。上电期间POF置“1”。POF可以软件控制使用与否,但不受复位影响。存储器结构MCS-51器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以64K寻址。程序存储器如果EA引脚接地,程序读取只从外部存储器开始。对于89S52,如果EA接VCC,程序读写先从内部存储器(地址为0000H1FFFH)开始,接着从外部寻址,寻址地址为:2000HFFFFH。数据存储器AT89S52有256字节片内数据存储器。高128字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。当一条指令访问高于7FH的地址时,寻址方式决定CPU访问高128字节RAM还是特殊功能寄存器空间。直接寻址方式访问特殊功能寄存器(SFR)。堆栈操作也是间接寻址方式。因此,高128字节数据RAM也可用于堆栈空间。2.3.3低功耗节电模式有两种节电模式:空闲模式和掉电模式。空闲模式在空闲工作模式下,CPU处于睡眠状态,而所有片上外部设备保持激活状态。这种状态可以通过软件产生。在这种状态下,片上RAM和特殊功能寄存器的内容保持不变。空闲模式可以被任一个中断或硬件复位终止。由硬件复位终止空闲模式只需两个机器周期有效复位信号,在这种情况下,片上硬件禁止访问内部RAM,而可以访问端口引脚。空闲模式被硬件复位终止后,为了防止预想不到的写端口,激活空闲模式的那一条指令的下一条指令不应该是写端口或外部存储器。掉电模式在掉电模式下,晶振停止工作,激活掉电模式的指令是最后一条执行指令。片上RAM和特殊功能寄存器保持原值,直到掉电模式终止。掉电模式可以通过硬件复位和外部中断退出。复位重新定义了SFR的值,但不改变片上RAM的值。在VCC未恢复到正常工作电压时,硬件复位不能无效,并且应保持足够长的时间以使晶振重新工作和初始化。在空闲模式和掉电模式下各引脚的状态如表2.4所示。表2.4空闲模式和掉电模式下的外部引脚状态模式程序存储器ALEPSENPORT0PORT1PORT2PORT3空闲内部11数据数据数据数据空闲外部11浮空数据数据数据掉电内部00数据数据数据数据掉电外部00浮空数据数据数据2.3.4定时器AT89S52系列单片机含有3个可编程定时器/计数器(T0、T1、T2)和1个看门狗定时器(WDT)。狗定时器WDT是一种需要软件控制的复位方式。WDT由13位计数器和特殊功能寄存器中的看门狗定时器复位存储器(WDTRST)构成。WDT在默认情况下无法工作;为了激活WDT,户用必须往WDTRST寄存器(地址:0A6H)中依次写入01EH和0E1H。当WDT激活后,晶振工作,WDT在每个机器周期都会增加。WDT计时周期依赖于外部时钟频率。除了复位(硬件复位或WDT溢出复位),没有办法停止WDT工作。当WDT溢出,它将驱动RSR引脚一个高个电平输出。定时器0和定时器1在AT89S52中,定时器0和定时器1的操作与AT89C51、AT89C52和MCS-51系列单片机一样。定时器2定时器2是一个16位定时/计数器,它既可以做定时器,又可以做事件计数器。其工作方式由特殊寄存器T2CON中的C/T2位选择(如表2.5所示)。定时器2有三种工作模式:捕捉方式、自动重载(向下或向上计数)和波特率发生器。如表3所示,工作模式由T2CON中的相关位选择。定时器2有2个8位寄存器:TH2和TL2。在定时工作方式中,每个机器周期,TL2寄存器都会加1。由于一个机器周期由12个晶振周期构成,因此,计数频率就是晶振频率的1/12。表2.5定时器2工作模式RCLK TCLKCP/RL2TR2MODE00116位自动重载01116位捕捉1X1波特率发生器XX0不用默认在计数工作方式下,寄存器在相关外部输入角T2发生1至0的下降沿时增加1。在这种方式下,每个机器周期的S5P2期间采样外部输入。一个机器周期采样到高电平,而下一个周期采样到低电平,计数器将加1。在检测到跳变的这个周期的S3P1期间,新的计数值出现在寄存器中。因为识别10的跳变需要2个机器周期(24个晶振周期),所以,最大的计数频率不高于晶振频率的1/24。为了确保给定的电平在改变前采样到一次,电平应该至少在一个完整的机器周期内保持不变。自动重载当定时器2工作于16位自动重载模式,可对其编程实现向上计数或向下计数。这一功能可以通过特殊寄存器T2MOD(见表2.6)中的DCEN(向下计数允许位)来实现。通过复位,DCEN被置为0,因此,定时器2为向上计数。DCEN设置后,定时器2就可以取决于T2EX向上、向下计数。表2.6T2MOD-定时器2控制寄存器T2MOD地址:0C9H(不可位寻址)复位值:XXXXXX00B-T2OEDCEN76543210符号功能-无定义,预留扩展T2OE定时器2输出允许位DCEN置1后,定时器2可配置成向上/向下计数如图2-2所示,DCEN=0时,定时器2自动计数。通过T2CON中的EXEN2位可以选择两种方式。如果EXEN2=0,定时器2计数,计到0FFFFH后置位TF2溢出标志。计数溢出也使得定时器寄存器重新从RCAP2H和RCAP2L中加载16位值。定时器工作于捕捉模式,RCAP2H和RCAP2L的值可以由软件预设。如果EXEN2=1,计数溢出或在外部T2EX(P1.1)引脚上的1到0的下跳变都会触发16位重载。这个跳变也置位EXF2中断标志位。如图2-2所示,置位DCEN,允许定时器2向上或向下计数。在这种模式下,T2EX引脚控制着计数的方向。T2EX上的一个逻辑1使得定时器2向上计数。定时器计0FFFFH溢出,并置位TF2。定时器的溢出也使得RCAP2H和RCAP2L中的16位值分别加载到定时器存储器TH2和TL2中。T2EX上的一个逻辑0使得定时器2向下计数。当TH2和TL2分别等于RCAP2H和RCAP2L中的值的时候,计数器下溢。计数器下溢,置位TF2,并将0FFFFH加载到定时器存储器中。定时器2上溢或下溢,外部中断标志位EXF2被锁死。在这种工作模式下,EXF2不能触发中断。图2-2定时器2重载模式(DCEN=0)波特率发生器通过设置T2CON(见表2.4)中的TCLK或RCLK可选择定时器2作为波特率发生器。如果定时器2作为发送或接收波特率发生器,定时器1可用作它用,发送和接收的波特率可以不同。如图2.3所示,设置RCLK和(或)TCLK可以使定时器2工作于波特率产生模式。波特率产生工作模式与自动重载模式相似,因此,TH2的翻转使得定时器2寄存器重载被软件预置16位值的RCAP2H和RCAP2L中的值。模式1和模式3的波特率由定时器2溢出速率决定,具体如下公式:定时器可设置成定时器,也可为计数器。在多数应用情况下,一般配置成定时方式(CP/T2=0)。定时器2用于定时器操作与波特率发生器有所不同,它在每一机器周期(1/12晶振周期)都会增加;然而,作为波特率发生器,它在每一机器状态(1/2晶振周期)都会增加。波特率计算公式如下:图2-3定时器2波特率发生器模式其中,(RCAP2H,RCAP2L)是RCAP2H和RCAP2L组成的16位无符号整数。定时器2作为波特率发生器,如图2-3所示。图中仅仅在T2CON中RCLK或TCLK1才有效。特别强调,TH2的翻转并不置位TF2,也不产生中断;EXEN2置位后,T2EX引脚上10的下跳变不会使(RCAP2H,RCAP2L)重载到(TH2,TL2)中。因此,定时器2作为波特率发生器,T2EX也还可以作为一个额外的外部中断。定时器2处于波特率产生模式,TR2=1,定时器2正常工作。TH2或TL2不应该读写。在这种模式下,定时器在每一状态都会增加,读或写就不会准确。寄存器RCAP2可以读,但不能写,因为写可能和重载交迭,造成写和重载错误。在读写定时器2或RCAP2寄存器时,应该关闭定时器(TR2清0)。2.3.5中断AT89S52有6个中断源:两个外部中断(INT0和INT1),三个定时中断(定时器0、1、2)和一个串行中断。如图2-4所示。每个中断源都可以通过置位或清除特殊寄存器IE中的相关中断允许控制位分别使得中断源有效或无效。IE还包括一个中断允许总控制位EA,它能一次禁止所有中断。如表2.7所示,IE.6位是不可用的。对于AT89S52,IE.5位也是不能用的。用户软件不应给这些位写1。它们为AT89系列新产品预留。定时器2可以被寄存器T2CON中的TF2和EXF2的或逻辑触发。程序进入中断服务后,这些标志位都可以由硬件清0。实际上,中断服务程序必须判定是否是TF2或EXF2激活中断,标志位也必须由软件清0。定时器0和定时器1标志位TF0和TF1在计数溢出的那个周期的S5P2被置位。它们的值一直到下一个周期被电路捕捉下来。然而,定时器2的标志位TF2在计数溢出的那个周期的S2P2被置位,在同一个周期被电路捕捉下来。图2-4中断源表2.7中断允许控制寄存器(IE)EAET2ESET1EX1ET0EX0中断允许控制位=1,允许中断中断允许控制位=0,禁止中断续表2.7符号位地址功能EAIE.7中断总允许控制位。EA=0,中断禁止;EA=1,各中断由各自的控制位设定IE.6预留ET2IE.5定时器2中断允许控制位ESIE.4串行口中断允许控制位ET1IE.3定时器1中断允许控制位EX1IE.2外部中断1允许控制位ET0IE.1定时器0中断允许控制位EX0IE.0外部中断1允许控制位2.3.6时钟如图2-5所示,AT89S52单片机有一个用于构成内部振荡器的反相放大器,XTAL1和XTAL2分别是放大器的输入、输出端。石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。从外部时钟源驱动器件的话,XTAL2可以不接,而从XTAL1接入,如图2-6所示。由于外部时钟信号经过二分频触发后作为外部时钟电路输入的,所以对外部时钟信号的占空比没有其它要求,最长低电平持续时间和最少高电平持续时间等还是要符合要求的。图2.5内部振荡电路连接图图2.6外部振荡电路连接图2.4ZLG7290键盘/显示接口芯片ZLG7290是广州周立功单片机发展有限公司自行设计的数码管显示驱动及键盘扫描管理芯片。一种I2C接口键盘及LED驱动管理器件,提供数据译码和循环、移位、段寻址等控制。能够直接驱动8位共阴式数码管(或64只独立的LED),同时还可以扫描管理多达64只按键,它可采样64个按键或传感器,单片即可完成LED显示、键盘接口的全部功能。ZLG7290的从地址为70H,器件内部通过I2C总线访问的寄存器地址范围为00H17H,任一寄存器都可按字节直接读写,并支持自动增址功能和地址翻转功能。其中有8只按键还可以作为功能键使用,就像电脑键盘上的“Ctrl”、“Shift”、“Alt”键一样。另外ZLG7290内部还设置有连击计数器,能够使某键按下后不松手而连续有效。采用I2C总线方式,与微控制器的接口仅需两根信号线。该芯片为工业级芯片,抗干扰能力强,在工业测控中已有大量应用。2.4.1ZLG7290特点I2C串行接口,提供键盘中断信号,方便与处理器接口;可驱动8位共阴数码管或64只独立LED和64个按键;可控扫描位数,可控任一数码管闪烁;提供数据译码和循环,移位,段寻址等控制;8个功能键,可检测任一键的连击次数;无需外接元件即直接驱LED,可扩展驱动电流和驱动电压;提供工业级器件,多种封装形式PDIP24,SO24.2.4.2引脚及说明采用24引脚封装引脚图如图2-7所示其引脚功能分述如下:图2-7ZLG7290引脚图引脚说明如下表:2.4.3功能描述键盘部分ZLG7290可采样64个按键或传感器,可检测每个按键的连击次数。其基本功能如下:键盘去抖动处理当键被按下和放开时,可能会出现电平状态反复变化,称作键盘抖动。若不作处理会引起按键盘命令错误,所以要进行去抖动处理,以读取稳定的键盘状态为准。双键互锁处理当有两个以上按键被同时按下时,ZLG7290只采样优先级高的按键(优先顺序为S1>S2>?>S64,如同时按下S2和S18时采样到S2)。连击键处理当某个按键按下时,输出一次键值后,如果该按键还未释放,该键值连续有效,就像连续压按该键一样,这种功能称为连击。连击次数计数器(RepeatCnt)可区别出单击(某些功能不允许连击,如开/关)或连击。判断连击次数可以检测被按时间,以防止某些功能误操作(如连续按5秒经入参数设置状态)。功能键处理功能键能实现2个以上按键同时按下来扩展按键数目或实现特殊功能。如PC机上的“Shift”、“Ctrl”、“Alt”键典型应用图中的S57S64为功能键。图2-8系统功能框图即寄存器映象图显示部分在每个显示刷新周期,ZLG7290按照扫描位数寄存器(ScanNum)指定的显示位数N,把显示缓存DpRam0DpRamN的内容按先后循序送入LED驱动器实现动态显示,减少N值可提高每位显示扫描时间的占空比,以提高LED亮度,显示缓存中的内容不受影响。修改闪烁控制寄存器(FlashOnOff)可改变闪烁频率和占空比(亮和灭的时间)。ZLG7290提供两种控制方式:寄存器映象控制和命令解释控制,如上述对显示部分的控制,寄存器映象控制是指直接访问底层寄存器,实现基本控制功能,这些寄存器须字节操作命令解释控制是指通过解释命令缓冲区(CmdBuf0CmdBuf1)中的指令,间接访问底层寄存器实现扩展控制功能。如实现寄存器的位操作;对显示缓存循环,移位;对操作数译码等操作。请参考指令详解部分2.4.4寄存器详解系统状态部分系统寄存器(SystemReg):地址00H,复位值11110000B。系统寄存器保存ZLG7290系统状态,并可对系统运行状态进行配置,其功能分位描述如下:KeyAvi(SystemReg.0):置1时表示有效的按键动作(普通键的单击,连击,和功能键状态变化)/INT引脚信号有效(变为低电平);清0表示无按键动作,/INT引脚信号无效(变为高阻态)。有效的按键动作消失后或读Key后,KeyAvi位自动清0。键盘部分键值寄存器(Key):地址01H,复位值00H。Key表示被压按键的键值。当Key=0时表示没有键被压按。连击次数计数器(RepeatCnt)地址02H,复位值00H。RepeatCnt=0时,表示单击键。RepeatCnt大于0时表示键的连击次数。用于区别出单击键或连击键,判断连击次数可以检测被按时间。功能键寄存器(FunctionKey)地址03H,复位值0FFH。FunctionKey对应位的值=0表示对应功能键被压按(FunctionKey.7FunctionKey.0对应S64S57)。命令接口部分命令缓冲区(CmdBuf0CmdBuf1)地址07H08H复位值00H00H用于传输指令。显示部分闪烁控制寄存器(FlashOnOff):地址0CH,复位值0111B/0111B。高4位表示闪烁时亮的时间,低4位表示闪烁时灭的时间,改变其值同时也改变了闪烁频率,也能改变亮和灭的占空比。FlashOnOff的1个单位相当于150250ms(亮和灭的时间范围为:116,0000B相当1个时间单位)所有象素的闪烁频率和占空比相同。扫描位数寄存器(ScanNum)地址0DH,复位值7。用于控制最大的扫描显示位数(有效范围为:07,对应的显示位数为;18),减少扫描位数可提高每位显示扫描时间的占空比,以提高LED亮度。不扫描显示的显示缓存寄存器则保持不变。如ScanNum3时,只显示DpRam0DpRam3的内容。显示缓存寄存器(DpRam0DpRam7):地址10H17H,复位值00H00H。缓存中一位置1表示该像素亮,DpRam7DpRam0的显示内容对应Dig7Dig0引脚。2.4.5通信接口ZLG7290的I2C接口传输速率可达32kbit/s,容易与处理器接口,并提供键盘中断信号,提高主处理器时间效率。ZLG7290的从地址(slaveaddress)为70H(01110000B)有效的按键动作(普通键的单击连击和功能键状态变化)都会令系统寄存器(SystemReg)的KeyAvi位置1,/INT引脚信号有效(变为低电平)。用户的键盘处理程序可由/INT引脚低电平中断触发,以提高程序效率。也可以不采样/INT引脚信号节省系统的I/O数,而轮询系统寄存器的KeyAvi位。要注意读键值寄存器会令KeyAvi位清0。并会令/INT引脚信号无效。为确保某个有效的按键动作所有参数寄存器的同步性。可利用I2C通信的自动增址功能连续读RepeatCnt,FunctionKey和Key寄存器,但用户无需太担心寄存器的同步性问题,应为键参数寄存器变化速度较缓慢(典型250ms,最快9ms)ZLG7290内可通过I2C总线访问的寄存器地址范围为:00H17H,任一寄存器都可按字节直接读写,也可以通过命令接口间接读写或按位读写,请参考指令详解部分。支持自动增址功能(访问一寄存器后,寄存器子地址(subaddress)自动加一)和地址翻转功能(访问最后一寄存器(子地址17H)后,寄存器子地址翻转为00H)。ZLG7290的控制和状态查询全部都是通过读/写寄存器实现的。用户只需象读写24C02内的单元一样即可实现对ZLG7290的控制。2.4.6指令详解ZLG7290提供两种控制方式:寄存器映象控制和命令解释控制,寄存器映象控制是指直接访问底层寄存器(除通信缓冲区外的寄存器),实现基本控制功能,请参考寄存器详解部分。命令解释控制是指通过解释命令缓冲区(CmdBuf0CmdBuf1)中的指令,间接访问底层寄存器实现扩展控制功能。如实现寄存器的位操作;对显示缓存循环,移位;对操作数译码等操作。一个有效的指令由一字节操作码和数个操作数组成,只有操作码的指令称为纯指令,带操作数的指令称为复合指令。一个完整的指令须在一个I2C帧中(起始信号和结束信号间)连续传输到命令缓冲区(CmdBuf0CmdBuf1)中否则会引起错误。纯指令左移指令该指令使与ScanNum相对应的显示数据和显示属性(闪烁)自右向左移动N位(N3N0) 1)移动后右边N位无显示。与ScanNum不相关的显示数据和显示属性则不受影响。右移指令与左移指令类似,只是移动方向为自左向右,移动后,左边N位(N3N0) 1)无显示。循环左移指令与左移指令类似,不同的是在每移动一位后,原最左位的显示数据和属性转移到最右位。循环右移指令与循环左移指令类似,只是移动方向相反。SystemReg寄存器位寻址指令当On1时,第S(S2S0)位置1,当On0时,第S位清0。复合指令显示像素寻址指令当On1时,第S(S5S0)点像素亮(置1);当On0时,第S点像素灭(清0)。该指令用于点亮/关闭数码管中某一段,或LED矩阵中某一特定的LED;该指令受ScanNum的内容影响。S6S0为像素地址,有效范围从00H3FH,无效的地址不会产生任何作用。像素位地址映象如下表:像素地址SaSbScSdSeSfSgShDpRam000H01H02H03H04H05H06H07HDpRam108H09H0AH0BH0CH0DH0EHOFH.DpRam738H39H3AH3BH3CH3DH3EH3FH按位下载数据且译码指令其中A3A0为显示缓存编号(范围为:0000B0111B,对应DpRam0DpRam7,无效的编号不会产生任何作用),DP=1时点亮该位小数点,Flash=1时该位闪烁显示,Flash=0时该位正常显示,D4D0为要显示的数据,按以下表规则进行译码:

    注意事项

    本文(分布式温度控制系统的设计与实现.doc)为本站会员(土8路)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




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

    三一文库
    收起
    展开