




已阅读5页,还剩50页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南通纺织职业技术学院毕业设计(论文)南通纺织职业技术学院毕业设计(论文) 基于基于 at89s52 温度控制器的设计温度控制器的设计 班 级: 09 电子信息工程 专 业: 电子信息工程技术(智能电子) 教 学 系: 指导老师:指导老师: 完成时间 2011 年 10 月 20 日至 2011 年 11 月 30 日 南通纺织职业技术学院毕业设计 基于 at9s52 温度控制设计 i 摘摘 要要 在某些工业生产过程中,如恒温炉、仓库储藏、花卉种植、小型温室等领 域都对温度有着严格的要求,需要对其加以检测和控制。传统的温度测量方法 是将温度传感器输出的模拟信号放大后送至远端 a/d 转换器,最后单片机对 a/d 转换后的数据进行分析处理。这种方法的缺点是模拟信号在传输的过程中 存在损耗并且容易受到外界的干扰,导致测量的温度精度不高。 采用数字温度传感器 ds18b20,因其内部集成了 a/d 转换器,使得电路结 构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。 数字温度传感器 ds18b20 只用一个引脚即可与单片机进行通信,大大减少了接 线的麻烦,使得单片机更加具有扩展性。采用单片机控制不仅具有控制方便, 简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够 大大的提高产品的质量和数量。 关键词关键词: at89s52、ds18b20、eeprom、键盘 南通纺织职业技术学院毕业设计 基于 at9s52 温度控制设计 ii 目目 录录 摘要摘要.i 1 绪论绪论.1 1.1 课题的背景及意义.1 1.2 相关技术的发展概况.1 1.3 温度控制器设计方案.2 1.3.1 功能实现.2 1.3.2 方案设计.3 2 硬件电路设计硬件电路设计4 2.1 最小化电路设计.4 2.1.1 主控芯片简介4 2.1.2 最小化电路6 2.2 温度采集电路设计.7 2.2.1 温度采集芯片简介.8 2.2.2 工作原理9 2.2.3 温度采集电路11 2.3 存储电路设计.12 2.3.1 存储芯片简介12 2.3.2 工作原理14 2.3.3 存储电路16 2.4 显示电路设计16 2.4.1 显示方案确定16 2.4.2 驱动芯片简介18 2.4.3 显示电路20 3 系统软件设计系统软件设计22 3.1 主程序流程.22 3.2 子程序流程.22 3.2.1 中断流程22 3.2.2 键盘扫描流程22 3.2.3 温度检测与报警流程22 3.2.4 ds18b20 温度采集流程23 3.2.5 cat24c02 读写模块流程23 4 系统仿真系统仿真27 南通纺织职业技术学院毕业设计 基于 at9s52 温度控制设计 iii 4.1 仿真软件简介.27 4.2 仿真过程.27 4.3 仿真结果.28 5 系统制作与调试系统制作与调试31 5.1 系统制作.31 5.2 系统调试.31 6 系统设计总结系统设计总结.33 参考文献参考文献34 附录一附录一 系统原理图系统原理图35 附录二附录二 程序程序36 南通纺织职业技术学院毕业设计 基于 at9s52 温度控制设计 1 1 绪论绪论 1.1 课题的背景及意义课题的背景及意义 温度控制系统在国内各行各业的应用虽然己经十分广泛,但从国内生产的 温度控制器来讲,总体发展水平仍然不高,同日本、美国、德国等先进国家相 比,仍然有着较大的差距。成熟的温控产品主要以“点位”控制及常规的 pid 控制器为主,它们只能适应一般温度系统控制,而用于较高控制场合的智能化、 自适应控制仪表,国内技术还不十分成熟,形成商品化并广泛应用的控制仪表 较少随着我国经济的发展及加入 wto,我国政府及企业对此都非常重视,对相关 企业资源进行了重组,相继建立了一些国家,企业的研发中心,开展创新性研 究,使我国仪表工业得到了迅速的发展。 目前,温度控制器产品从模拟、集成温度控制器发展到智能数码温度控制 器。智能温控器(数字温控器)是微电子技术、计算机技术和自动测试技术的 结合,特点是能输出温度数据及相关的温度控制量,适配各种控制器,并且它 是在硬件的基础上通过软件来实现控制功能的,其智能化程度也取决于软件的 开发水平,现阶段正朝着高精度高质量的方向发展,相信以我国的实力,温控技 术在不久的将来一定会为于世界前列! 1.2 相关技术的发展概况相关技术的发展概况 (1)近年来国内温度控制系统的发展近年来国内温度控制系统的发展 温度控制器广泛应用于家用电器,主要为冰箱、冷柜、空调、饮水机、微 波炉等制冷制热产品配置。 在工业园购地或新建厂房,增添设备,可年产温度控制器 500 万只。目前 国内市场价每只温度控制器 11 元,出口价每只 2 美元。年产 500 万只温度 控制器,年产值可达 6000 万元,年利润可达 1500 万元,投资回收期 3.5 年 左右。 目前国内温度控制器生产企业较少,仅广东、江苏、辽宁、江西各有一家 规模稍大一点的生产厂家,他们的生产能力远远不能满足电子温度控制器 市场的需求。 温度控制器不仅在国内市场销售顺畅,而且在国际市场也十分看好,特别 是日本、意大利、美国等国家对温度控制器产品的需求量很大,出口前景 南通纺织职业技术学院毕业设计 基于 at9s52 温度控制设计 2 十分乐观。 由于沿海发达地区产业的梯度转移,科龙集团已在南昌新建分厂,上海华 意集团也与江西签订了投资意向,江西境内的昌河集团微型汽车规模日益 壮大,汽车、空调用温度控制器需求量也必将增大。 (2) 近年来国外温度调节系统的发展近年来国外温度调节系统的发展 因为温度控制器环节已经被纳入为分布式控制系统(dcs) ,个人电脑 (pc)和可编程逻辑控制器(plc) 。工业电子温度控制器全球市场的增长率在 2003 年为 3.6%,2004 年为 3.5%,2005 年为 2.5 % 。预计 2006 年全球市场的 增长率仅为 1.2% ,而预测 2010 年的综合年度增长率(cagr)仅为 0.7% 。 欧洲和北美工业电子温度控制器市场受到这一趋势的影响最大。这两个较大地 区的市场预计将在 2010 年出现负增长。然而,亚太市场,较小的拉丁美洲和其 他地区的市场预计仍将保持增长。 中国作为一个主要的制造中心和工业电子温度控制器市场的崛起是这一增 长的驱动因素。oem 厂商以及众多的终端工业厂商已经开始转移到中国大陆, 以获得低成本的劳动力和原料优势。日本经济的复苏同样推动该地区走出了停 滞发展时期。oem 厂家和主要终端工业公司将制造业务向中国的转移,以及温 度控制器价格的下降,是欧洲和北美工业电子温度控制器市场预测下降的主要 原因。此外,许多位于欧洲和北美的工业电子温度控制器供应商已经表明一旦 准备充分,他们将很快在中国展开他们的制造工业电子温度控制器业务。通过 在中国生产电子温度控制器,供应商不但可以获得更便宜的劳动力和原料的竞 争优势,而且他们这样更接近主要的发展市场。 1.3 温度控制器设计方案温度控制器设计方案 本设计利用单片机结合传感器技术而开发设计了这一温度控制系统,文中 传感器与单片机实际应用有机结合,简单讲述了利用新型芯片探测环境温度的 过程,以及实现模数转换的原理过程。 1.3.1 功能实现功能实现 本设计的目的是以单片机为核心设计出一个温度采集系统。通过本课题设 计,综合运用单片机及接口技术、微机原理、微电子技术,锻炼动手操作能力, 综合运用能力,学习论文的写作方法和步骤。设计的温度控制器有以下功能: 南通纺织职业技术学院毕业设计 基于 at9s52 温度控制设计 3 测温范围:-55+125; 测温分辨力:=0.5; 测温准确度:=0.5; 温度显示:采用 6 个 7 段数码管; 温限可经键盘实现简单的人机互动,灵活设定温度范围; 超温度范围报警。 1.3.2 方案设计方案设计 本系统采用了单片机 at89s52,利用数字温度传感器 ds18b20 对环境进行 测温,同时采用 max7219 驱动六位 7 段共阴极数码管,同时还采用 eeprom 对温度上下限进行存储,此外还有键盘设备来实现温度上下限值的设置,红绿 灯报警温度的越线,继电器和电机对温度进行调整等来实现该温度控制器的智 能化。总体硬件结构框图如图 1.1 所示。 at89s52 eeprom 按键 继电器 电机驱动 led 显示 报警电路 温度传感器 ds18b20 max7219 图 1.1 系统硬件结构 南通纺织职业技术学院毕业设计 基于 at9s52 温度控制设计 4 2 硬件电路设计硬件电路设计 2.1 最小化电路设计最小化电路设计 主控芯片要能正常工作,首先要提供电源,除其次要有晶振电路提供时钟 脉冲信号,除此之外还要有复位电路使单片机或系统其它部件处于某种确定的 初始状态,最后还要是单片机有程序。 2.1.1 主控芯片简介主控芯片简介 at89s52 是一种低功耗、高性能 cmos8 位微控制器,具有 8k 在系统可 编程 flash 存储器。at89s52 使用 atmel 公司高密度非易失性存储器技术制造, 与工业 80c51 产品指令和引脚完全兼容。片上 flash 允许程序存储器在系统 可 编程,亦适于常规编程器。在单芯片上,at89s52 拥有灵巧的 8 位 cpu 和在 系统可编程 flash,使 at89s52 为众多嵌入式控制应用系统提供高灵活、超有 效的解决方案。采用 40 引脚双列直插封装(dip)的 at89s52 单片机引脚分配 如图 2.1 所示。 (1) 主要性能参数主要性能参数 与 mcs51 兼容 ; 1000 次擦写寿命; 工作电压为 4.0v5.5v; 全静态工作:024mhz; 3 级程序安全加密保护; 2568 位内部 ram; 32 个可编程 i/o 端口; 3 个 16 位定时器/计数器; 8 个中断源; 支持低功耗及掉电模式; 支持中断从掉电模式唤醒; 内置看门狗 。 图 2.1 at89s52 引脚分配图 (2)引脚功能引脚功能 p0 口:口:p0 口是一个 8 位漏极开路的双向 i/o 口。作为输出口,每位能驱动 8 个 ttl 逻辑电平。对 p0 端口写“1”时,引脚用作高阻抗输入。当访问外部 南通纺织职业技术学院毕业设计 基于 at9s52 温度控制设计 5 程序和数据存储器时,p0 口也被作为低 8 位地址/数据复用。在这种模式下, p0 具有内部上拉电阻。在 flash 编程时,p0 口也用来接收指令字节;在程序校 验时,输出指令字节。程序校验时,需要外部上拉电阻。 p1 口:口:p1 口是一个具有内部上拉电阻的 8 位双向 i/o 口,p1 输出缓冲器 能驱动 4 个 ttl 逻辑电平。对 p1 端口写“1”时,内部上拉电阻把端口拉高, 此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻 的原因,将输出电流(ttl)。此外,p1.0 和 p1.2 分别作定时器/计数器 2 的外 部计数和定时器/计数器 2 的触发输入。 p2 口:口:p2 口是一个具有内部上拉电阻的 8 位双向 i/o 口,p2 输出缓冲器 能驱动 4 个 ttl 逻辑电平。对 p2 端口写“1”时,内部上拉电阻把端口拉高, 此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻 的原因,将输出电流(ttl)。在访问外部程序存储器或用 16 位地址读取外部 数据存储器(例如执行 movx a,dptr)时,p2 口送出高八位地址。 p3 口:口:p3 口是一个具有内部上拉电阻的 8 位双向 i/o 口,p3 输出缓冲器 能驱动 4 个 ttl 逻辑电平。对 p3 端口写“1”时,内部上拉电阻把端口拉高, 此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻 的原因,将输出电流(ttl)。 rst:复位输入。当振荡器工作时,rst 引脚出现两个机器周期以上高电 平将使单片机复位。 ale/prog:当访问外部程序存储器或数据存储器时,ale(地址锁存允 许)输出脉冲用于锁存地址的低 8 位字节。一般情况下, ale 仍以时钟振荡 频率的 1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。如 有必要,可通过对特殊功能寄存器(sfr)区中的 8eh 单元的 d0 位置位,可 禁止 ale 操作。该位置位后,只有一条 movx 和 movc 指令才能将 ale 激 活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ale 禁止位 无效。 psen:程序储存允许(psen)输出是外部程序存储器的读选通信号,当 at89c52 由外部程序存储器取指令(或数据)时,每个机器周期两次 psen 有 效, 即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次 psen 信号。 ea/vpp:外部访问允许,欲使 cpu 仅访问外部程序存储器(地址为 0000h-ffffh),ea 端必须保持低电平(接地)。需注意的是:如果加密位 lb1 被编程,复位时内部会锁存 ea 端状态。如 ea 端为高电平(接 vcc 端), 南通纺织职业技术学院毕业设计 基于 at9s52 温度控制设计 6 cpu 则执行内部程序存储器的指令。flash 存储器编程时,该引脚加上+12v 的编程允许电源 vpp,当然这必须是该器件是使用 12v 编程电压 vpp。 2.1.2 最小化电路最小化电路 单片机工作需要 3 个基本条件:接电源、接石英晶体振荡器和复位电路、 单片机内装入程序,如图 2.2 所示。 v vc cc c ea x xt ta al l1 1 x xt ta al l2 2 r rs st t v vs ss s + +5 5v v 3 30 0p pf f 3 30 0p pf f 2 22 2u uf f 1 1k k a at t8 89 9s s5 52 2 接接电电源源+ +5 5v v 晶晶体体振振荡荡器器 + +5 5v v 接接电电源源负负极极 图 2.2 单片机的基本电路 (1)接电源)接电源 将单片机第 40 脚 vcc 接电源+5v,第 20 脚 vss 接地(电源负极) ,为单片 机工作提供电源。由于 at89s52 片内带有程序存储器,当使用片内程序存储器 时要将 ea(31 脚)接高电平,即接到电源+5v。 (2)接石英晶体振荡器)接石英晶体振荡器 将单片机第 19 脚(xtal1)与 18 脚(xtal2)分别接外部晶体的两个引 脚,由石英晶体组成振荡器,保证单片机内部各部分有序工作。晶振电路如图 2.3 所示。 图 2.3 晶振电路 振 荡 器 南通纺织职业技术学院毕业设计 基于 at9s52 温度控制设计 7 单片机运行程序的速度与振荡器的频率有关。单片机在读、写操作时都需 要消耗一定的时间。机器周期是指单片机完成一个基本操作所用的时间,当外 接石英晶体为 12mhz 时,1 个机器周期为 1ms;当外接石英晶体为 6mhz 时, 1 个机器周期为 1ms。 (3)复位电路)复位电路 在实际应用中,复位电路有两种基本形式:一种是上电复位,另一种是上 电与按键均有效的复位。 上电复位要求接通电源后,单片机自动实现复位操作。常用的上电复位电 路如图 2.4(a)所示。上电瞬间 rst 引脚获得高电平,随着电容 c1 的充电, rst 引脚的高电平将逐渐下降。rst 引脚的高电平只要能保持足够的时间(2 个机器周期) ,单片机就可以进行复位操作。该电路典型的电阻和电容参数为: 晶振为 12mhz 时,c1 为 10uf,r1 为 8.2k;晶振为 6mhz 时,电容 c1 为 22uf,r1 为 1k。 上电与按键均有效的复位电路如图 2.4(b)所示。上电与按键均有效的复 位电路原理与上电复位原理相同,不同的是上电与按键均有效的复位电路在单 片机运行期间,能用按键来控制复位操作晶振为 6mhz 时,电容 c1 为 22uf,r2 为 200。 图 2.4(a) 上电复位电路 图 2.4(b) 按键与上电复位 本设计中使用后者电路复位,就是可以在单片机运行期间可以人工的复位。 这样是比较方便。 2.2 温度采集电路设计温度采集电路设计 跟以往的采用 a/d 转换器进行温度测量不同的是,本系统采用的是一线协 议器件 ds18b20 进行温度测量,测量的方法不同,温度采集不同。 2.2.1 温度采集芯片简介温度采集芯片简介 南通纺织职业技术学院毕业设计 基于 at9s52 温度控制设计 8 ds1820 数字温度计提供 9 位温度读数,指示器件的温度。信息经过单线接 口送入 ds1820 或从 ds1820 送出,因此从中央处理器到 ds1820 仅需连接一条 线(和地)。读、写和完成温度变换所需的电源可以由数据线本身提供,而不需 要外部电源。因为每一个 ds1820 有唯一的系列号,因此多个 ds1820 可以存在 于同一条单线总线上。这允许在许多不同的地方放置温度灵敏器件。此特性的 应用范围包括 hvac 环境控制,建筑物、设备或机械内的温度检测,以及过程 监视和控制中的温度检测。 (1) ds18b20 特性特性 独特的单线接口仅需一个端口引脚进行通讯; 无需外部器件; 零待机功耗; 测温范围-55+1250,以 0. 5递增。华氏温度范围-67至 257, 以 0.9递增; 温度以 9 位数字量读出; 温度数字量转换时间 200ms(典型值); 用户可定义的非易失性温度报警设置; 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件; 应用包括温度控制、工业系统、消费品、温度计或任何热感测系统; (2) ds18b20 引脚结构及说明引脚结构及说明 ds18b20 引脚结构如图 2.5 所示 bottom view 南通纺织职业技术学院毕业设计 基于 at9s52 温度控制设计 9 图 2.5 引脚结构 引脚说明:引脚说明: gnd:接地。 dq :数据输入/输出脚。 vdd:外接供电电源输入端(在寄生电源接线方式时接地) 。 ds1820 通过一个单线接口发送或接收信息,因此在中央微处理器和 ds1820 之间仅需一条连接线(加上地线) 。用于读写和温度转换的电源可以从 数据线本身获得,无需外部电源。 因为每个 ds1820 都有一个独特的片序列号,所以多只 ds1820 可以同时连 在一根单线总线上,这样就可以把温度传感器放在许多不同的地方。这一特性 在 hvac 环境控制、探测建筑物、仪器或机器的温度以及过程监测和控制等方 面非常有用。 2.2.2 工作原理工作原理 (1) 测温原理测温原理 测温原理如图 2.6 所示。 斜斜坡坡累累加加器器 预预置置比比较较 低低温温度度系系数数振振荡荡器器计计数数器器预预置置 = =0 0 温温度度存存储储器器 高高温温度度系系数数振振荡荡器器计计数数器器 = =0 0 停停止止 增增加加 l ls sb b置置位位/ /清清零零 图 2.6 测温原理 (2) dsl820 工作过程及时序工作过程及时序 初始化:初始化: 初始化 rom 操作命令存储器操作命令处理数据单总线上的所有处理均从初 gnd dq vdd 南通纺织职业技术学院毕业设计 基于 at9s52 温度控制设计 10 始化开始。总线主机检测到 dsl820 的存在便可以发出 rom 操作命令之一这些 命令如下: rom 操作品令 指令名称代码功能 读 rom33h在口线上接一个器件时读其 rom 码 匹配 rom55h找出某个指定 rom 码的器件 跳过 romcch对口线上所有器件的操作 搜索 romf0h 口线上有多个器件时,找出每个器件 rom 码 告警搜索ech找出各器件是否超限 存储器操作命令 指令名称代码功能 写暂存存储器4eh 主机向存储器中 th、tl 和配置寄存器写数 据 读暂存存储器beh主机连续读 08 存储器中内容 复制暂存存储器48h 复制 th、tl 和配置寄存器内容到 eeprom 中 温度变换44h启动温度转换 重新调出b8h 从 eeprom 中调出 th、tl 和配置寄存器 数据到存储器中 读电源b4h器件向主机发送它的供电方式 时序时序 主机使用时间隙来读写 dsl820 的数据位和写命令字的位。 初始化 初始化时序见图 2.7 主机总线 to 时刻发送一复位脉冲(最短为 480us 的低电 平信号)接着在 tl 时刻释放总线并进入接收状态 dsl820 在检测到总线的上升沿 之后等待 15-60us 接着 ds1820 在 t2 时刻发出存在脉冲(低电平持续 60-240 us) 如图中虚线所示 南通纺织职业技术学院毕业设计 基于 at9s52 温度控制设计 11 t t1 1t t2 2t t3 3t t4 4t t0 0 4 40 00 0 s s9 96 60 0 s s 6 60 0 s s2 24 40 00 0 s s 1 15 5 s s6 60 0 s s 4 48 80 0 s s 图 2.7 初始化时序图 写时间隙 当主机总线 t o 时刻从高拉至低电平时就产生写时间隙见图 2.5-1 图 2.5-2 从 to 时刻开始 15us 之内应将所需写的位送到总线上 dsl820 在 t0 后 15-60us 间 对总线采样若低电平写入的位是 0 见图 2.8-1,若高电平写入的位是 1,见图 2.8-2, 连续写 2 位间的间隙应大于 1us。 6 60 0 s s 1 15 5 s s 1 1 s s 6 60 0 s s 1 15 5 s s 4 45 5 s s 1 1 s s 1 15 5 s s 6 60 0 s s t t0 0 t t1 1 t t0 0 t t1 1 图 2.8-1 写 0 时序 图 2.8-2 写 1 时序 读时间隙 见图 2.9 主机总线 t0 时刻从高拉至低电平时总线只须保持低电平 l7us 之后 在 t1 时刻将总线拉高产生读时间隙,读时间隙在 t1 时刻后 t2 时刻前有效 t2 距 t0 为 15us 也就是说 t2 时刻前主机必须完成读位并在 t0 后的 60us-120us 内释放总 线。读位子程序(读得的位到 c 中) t t0 0t t1 1t t2 2t t3 3 6 60 0 s s 1 15 5 s s 1 1 s s 主主机机起起作作用用 d ds s1 18 8b b2 20 0起起作作用用 上上拉拉电电阻阻起起作作用用 图 2.9 读时序 2.2.3 温度采集温度采集电路电路 ds18b20 工作可采用两种供电方式,外接供电电源供电和寄生电源供电。 南通纺织职业技术学院毕业设计 基于 at9s52 温度控制设计 12 当 ds18b20 处于写存储器操作和温度 a /d 变换操作时,总线上必须有强上拉。 (1)采用寄生电源供电采用寄生电源供电 采用寄生电源供电, 如图 2.10 所示。p2.0 口接单线总线,为保 证在有效 ds18b20 时 钟周期内提供足够的 电流,可用一个 mosfet 管和 at89s52 的 p2.0 来完 成对总线的上拉。采用寄生电源供电方式 图 2.10 寄生 电源供电 时 vdd 和 cnd 端 均接地。由于单线制只有一根线,因此发送接收口必须是 二态的。 (2)采用外部电源供电的方式采用外部电源供电的方式 采用寄生电源供电,外部电源部连接到 vdd,引脚如图 2.8 所示。 ds18b20 4.7k gnd vdd +5v 总线 p2.0 图 2.11 外部电源供电 2.3存储电路设计存储电路设计 系统通过 at24c02 存储温度信息,at24c02 内部存储地址 0x00 和 0x01 分别存储温度上下限数据信息;温度上下限数据可通过外部按键进行修改,并通 过数码管实时显示。数据存储格式如表 2-1 所示。 表 2-1 数据存储格式 p2.0 ds18b20 ds18b20 +5v +5v 4.7k vdd gnd gnd vdd 南通纺织职业技术学院毕业设计 基于 at9s52 温度控制设计 13 地址0x000x010x020x03 0xff 数据温度上限温度下限 2.3.1 存储芯片简介存储芯片简介 cat24wc02 是一个 2k 位串行 cmos eprom 内部含有 256 个 8 位字节 catalyst 公司的先进 cmos 技术实质上减少了器件的功耗,cat24wc02 有 一个 16 字节页写缓冲器该器件通过 c 总线接口进行操作有一个专门的写保护 功能。 (1)特性特性 与 400khz ic 总线兼容; 1.8 到 6.0 伏工作电压范围; 写保护功能当 wp 为高电平时进入写保护状态; 页写缓冲器; 自定时擦写周期; 1,000,000 编程/擦除周期; 可保存数据 100 年。 (2) 极限参数极限参数 工作温度工业级 -55+125; 贮存温度-65+150; 各管脚承受电压-2.0v+2.0v; vcc 管脚承受电压-2.0v+7.0v; 焊接温度(10 秒)300; 输出短路电流 100ma。 (3) at24c02 管脚结构管脚结构 at24c02 管脚结构如图 2.12 所示。 南通纺织职业技术学院毕业设计 基于 at9s52 温度控制设计 14 图 2.12 管脚结构 管脚描述:管脚描述: scl:串行时钟:串行时钟 cat24wc02 串行时钟输入管脚用于产生器件所有数据发送或接收的时钟 这是一个输入管脚。 sda:串行数据:串行数据/地址地址 cat24wc01/02/04/08/16 双向串行数据/地址管脚用于器件所有数据的发送 或接收 sda 是一个开漏输出管脚可与其它开漏输出或集电极开路输出进行线或 wire-or。 a0、a1、a2:器件地址输入端:器件地址输入端 这些输入脚用于多个器件级联时设置器件地址当这些脚悬空时默认值为 0。使用 24wc02 时最大可级联 8 个器件,如果只有一个 24wc02 被总线寻址 这三个地址输入脚 a0、a1、a2 可悬空或连接到 vss。 wp:写保护:写保护 如果 wp 管脚连接到 vcc 所有的内容都被写保护只能读当 wp 管脚连接到 vss 或悬空允许器件进行正常的读/写操作。 vcc:+1.8v6.0v 工作电压。 vss:接地。 2.3.2 工作原理工作原理 只有在总线非忙时才被允许进行数据传送。在数据传送时,当时钟线为高 电平,数据线必须为固定状态,不允许有跳变。时钟线为高电平时,数据线的 任何电平变化将被当作总线的启动或停止条件。 启始条件:启始条件: 起始条件必须在所有操作命令之前发送。时钟线保持高电平期问,数据线 电平从高到低的跳变作为 ic 总线的启动信号。cat24c02 一直监视 sda 和 南通纺织职业技术学院毕业设计 基于 at9s52 温度控制设计 15 scl 电平信号直到条件满足时才响应。 停止条件:停止条件: 时钟线保持高平期问,数据线电平从低到高的跳变作为 ic 总线的停止信 号。操作结束时必须发送停止条件。 器件地址的约定:器件地址的约定: 主器件在发送启动命令后开始传送,主器件发送相应的从器件的地址(见表 2-2),8 位从器件地址的高 4 位固定为 1010。接下来的 3 位无意义。最后一位 为读写控制位。“1”表示对从器件进行读操作,“0”表示对从器件进行写操作。 在主器件发送启动命令和发送一字节从器件地址后,如果从器件地址相吻合, cat24c02 发送一个应答信号(通过 sda 线)。然后 cat24c02 再根据读/写控制 位进行读或写操作。 表 2-2 从器件寻址 1010a2a1a0 r/w 时序图时序图 cat24c02 工作时序包括起始/停止时序、应答时序、写时序和读时序。 s sd da a s sc cl l s st ta ar rt t b bi it ts st to op p b bi it t 起始/停止时序图 s sc cl l d da at ta a i in n d da ao ou ut t s st ta ar rt t 1 12 29 9 应答时序图 南通纺织职业技术学院毕业设计 基于 at9s52 温度控制设计 16 s s s sd da a l li in ne e s s t t a a r r t t s sl la av ve e a ad dd dr re es ss s b by yt te e a ad dd dr re es ss s d da at ta a p p a a c c k k a a c c k k a a c c k k s s t t o o p p 写时序图 s s a a c c k k s s t t a a r r t t s s t t o o p p p p n n o o a a c c k k d da at ta a s sd da a l li in ne e s sl la av ve e a ad dd dr re es ss s 读时序图 2.3.3 存储存储电路电路 a0、a1、a2 接地,sda、scl 与单片机 i/o 口连接,通过程序软件模拟 i c 时序,wp 引脚接地,如图 2.13 所示。 2.13 硬件连接图 1 1 2 2 3 3 4 4 5 5 6 6 dd cc bb aa title numberrevisionsize b date:2011/11/26sheet of file:sheet1.schdocdrawn by: at89s52 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 rst 9 p3.0 10 p3.1 11 p3.2/int0 12 p3.3/int1 13 p3.4 14 p3.5 15 p3.6 16 p3.7 17 xtal2 18 xtal1 19 gnd 20 p2.0 21 p2.1 22 p2.2 23 p2.3 24 p2.4 25 p2.5 26 p2.6 27 p2.7 28 psen 29 ale/prog 30 ea/vpp 31 p0.7 32 p0.6 33 p0.5 34 p0.4 35 p0.3 36 p0.2 37 p0.1 38 p0.0 39 vcc 40 u1 e0 1 e1 2 e2 3 gnd 4 sda 5 scl 6 mode 7 vcc 8 cat24c02 u3 10k10k vcc 南通纺织职业技术学院毕业设计 基于 at9s52 温度控制设计 17 2.4 显示电路设计显示电路设计 本系统显示电路用来显示温度上下限的值和通过 ds18b20 采集进来的实时 温度值。 2.4.1 显示显示器简介器简介 数码管具有:低能耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防 火、防高(低)温,对外界环境要求低,易一于维护,同时其精度高,测量快, 精确可靠,操作简单。数码显示是采用 bcd 编码显示数字,程序编译容易,资 源占用较少。 (1) 7 段段 led 数码数码 led 是近似于恒压的元器件,到导电时(发光)的正向压降一般约为 1.6v 或 2.4v,反向击穿电压一般5v。工作电流通常在 10-20ma,故电路中需要 串联适当的限流电阻。发光强度基本上与正向电流成正比。发光效率和颜色取 决于制造的材料,一般常用红色,偶尔也用于黄色或绿色。 (2) 发光二级管显示驱动(点亮)的方法发光二级管显示驱动(点亮)的方法 静态驱动方法:即给欲点亮的 led 通过恒定的定流。这种驱动方法需要显 示的位数增加时,所需的逻辑部件及连线也相应增加,成本也增加。 动态驱动方法:是给欲点亮的 led 通过脉冲电流,此时 led 的脉冲电流 倍数于其额定电流值。利用动态驱动方法可以减少需要的逻辑部件和连线。 最常用的一种数码显示器是由 7 段条形的 led 组成,如图 2.14 所示。点 亮适当的字段,就可以出不同的数字。此外不少于 7 段数码管显示器在右下角 带有一个圆形的 led 作小数点用,这样一共有 8 段,恰好适用于 8 位的并行系 统。 图 2.14(a)为共阴极接法,公共阴极接地。当各段阳极上的电平为“1” 时,该段点亮;电平为“0”时,段就熄灭。图 2.14(b)为共阳极接法+5v 电 源。当各段阴极上的电平为“0”时,该段就点亮;电平为“1”时,段就熄灭。 图中的电阻是限流电阻。 南通纺织职业技术学院毕业设计 基于 at9s52 温度控制设计 18 图 2.14(a)共阴极接法 图 2.14(b)共阳极接法 2.4.2 驱动芯片简介驱动芯片简介 max7219 是 maxmi 公司生产的一种串行接口方式 7 段共阴极 led 显示 驱动器。其片内包含有一个 bcd 码到 b 码的译码器、多路复用扫描电路、字 段和字位驱动器,以及存储每个数字的 8x8ram。每位数字都可以被寻址和更 新,允许对每一位数字选择 b 码译码或不译码。采用三线串行方式与单片机接 口。电路十分简单,只需要一个 10k 左右的外接电阻来设置所有 led 的段 电流。max7219 的引脚排列如图 2.15 所示。 图 2.15 max7219 的引脚排列 (1)功能特点功能特点 1omhz 连续串行口; 数字的译码与非译码选择; 南通纺织职业技术学院毕业设计 基于 at9s52 温度控制设计 19 150ua 的低功耗关闭模式; 亮度的数字和模拟控制; 高电压中断显示; 共阴极 led 显示驱动。 (2)引脚功能引脚功能 din :串行数据输入。在 clk 时钟的上升沿,串行数据被移入内部移位寄 存器。移入时最高位(msb)在前。 dig07:8 根字位驱动引脚,它从 led 显示器吸入电流。 gnd:接地,两根 gnd 引脚必须相连。 load:装载数据输入。在 load 的上升沿,串行输入数据的最后 16 位被 锁存。 clk:时钟输入。它是串行数据输入时所需的移位脉冲。最高时钟频率为 10mhz,在 clk 地上升沿串行数据被移入内部移位寄存器,在 clk 的下降沿 数据从 dout 移出。 segag,dp:七段和小数点驱动输出,它提供 led 显示器源电流。 iset:通过一个 10k 电阻 rset 接到 v+以设置峰值段电流。 v+:+5v 电源电压。 dout:串行数据输出。输入到 din 的数据经过 16.5 个时钟周期后,在 dout 端有效。 max7219 采用串行数据传输方式,由 16 位数据包发送到 din 引脚的串行 数据在每个 clk 的上升沿被移入的内部 16 位移位寄存器,然后在 load 的上 升沿将数据所存到数字或控制寄存器中。load 信号必须在第 16 个时钟上升沿 同时或之后,但在下一个时钟上升沿之前变高;否则将会丢失数据。din 端的 数据通过移位寄存器传送,并在 16.5 个时钟周期之后出现在 dout 端。dout 端的数据在 clk 的下降沿输出。串行数据以 16 位为一帧,其中,d11-d8 为内 部寄存器地址,d7-d0 为寄存器数据,格式如表 2-3 所列。 表 2-3max7219 的串行数据格式 d15d14d13d12d11d10d9d8d7d6d5d4d3d2d1d0 xxxx地址msn 数据 lsb (3) max7219 的数据传输时序的数据传输时序 max7219 的数据传输时序如图 2.16 所示。 南通纺织职业技术学院毕业设计 基于 at9s52 温度控制设计 20 c cl lk k b bi it t1 15 5 b bi it t1 11 14 4 b bi it t0 0 l lo oa ad d d di in n 图 2.16 max7219 的数据传输时序 max7219 具有 14 个可寻址的内部数字和控制寄存器。8 个数字寄存器由 一个片内 8x8 双端口 sram 实现,它们可以直接寻址;因此,可以对单个数字 进行更新;并且只要 v+超过 2v,数据就可以保留下去。控制寄存器有 5 个,分 别为译码方式、显示亮度、扫描界限(扫描数位的个数) 、停机和显示测试。表 2-4 所列为 max7219 的内部寄存器及其地址。 表 2-4 max7219 的内部寄存器及其地址 地址 寄存器 d15-d12 d11 d10 d9 d8十六进制代码 no opx 0 0 0 0x0h 数字 0x 0 0 0 1x1h 数字 1x 0 0 1 0x2h 数字 2x 0 0 1 1x3h 数字 7x 1 0 0 0x8h 译码方式x 1 0 0 1x9h 亮度x 1 0 1 0xah 扫描界限x 1 0 1 1xbh 停机x 1 1 0 0xch 显示测试x 1 1 1 1xfh 2.4.3 显示电路显示电路 图 2.17 为 89s52 单片机与 max7219 的一种接口。at89s52 的 p1.0 口连接 到 max7219 的 din 端,p1.1 口连到 load 端,p1.2 连到 clk 端。采用软件 模拟方式产生 max7219 所需的工作时序。max7219 可以级联使用,这时需要 南通纺织职业技术学院毕业设计 基于 at9s52 温度控制设计 21 用到空操作寄存器(no - op),空操作寄存器的地址为 x0h。将所有级联器件 的 load 端连在一起,将 dout 端连接到相邻 max7219 的 din 端。例如, 将 4 个 max7219 级联使用,那么要对第 4 片 max7219 写入时,发送所需要 的 16 位字,其后跟 3 个空操作代码(x0xx) 。 图 2.17 max 7219 与 89s52 单片机接口 3 系统软件设计系统软件设计 3.1 主程序流程主程序流程 如图 3.1 所示,对程序参数、端口、7219 显示初始化,读取 eeprom 中 的数据,开中断,调用键盘扫描,调用温度监控,跳转到调用键盘扫描。 3.2 子程序流程子程序流程 子程序流程包括中断程序、键盘扫描程序、温度检测与报警程序、温度采 集程序 、存储程序。 3.2.1 中断流程中断流程 如图 3.2 所示,判断 500ms 是否到,如果 500到了则 连续采集三次数据并通过中值滤波取中间值送到相应寄存器中,然后刷新显示 缓冲,中断返回。 3.2.2 键盘扫描流程键盘扫描流程 如图 3.3 所示,判断 s1 有没有按下,如果 s1 按下则判断温度上限值是否等 于 99,若等于 99,则返回。若不等于 99,eeprom 中的温度上限值加 1 并通 过 7219 刷新温度上限值并在数码管上显示。如果 s1 没有按下则判断 s2 是否按 下,如果 s2 按下则判断温度上限值是否等于温度下限值,若等于下限值则返回, 若不等于下限值,eeprom 中的温度上限值减 1 并通过 7219 刷新温度上限值 并在数码管上显示。如果 s2 没有按下则判断 s3 是否按下,如果 s3 按下则判断 温度下限值是否等于温度上限值,若等于上限值则返回,若不等于上限值, eeprom 中的温度下限值加 1 并通过 7219 刷新温度下限值并在数码管上显示。 如果 s3 没有按下则判断 s4 是否按下,如果 s4 按下则判断温度下限值是否等于 0,若等于 0 则返回,若不等于 0,eeprom 中的温度下限值减 1 并通过 7219 刷新温度下限值并在数码管上显示。如果 s4 没有按下则返回。 南通纺织职业技术学院毕业设计 基于 at9s52 温度控制设计 22 3.2.3 温度检测与报警流程温度检测与报警流程 如图 3.4 所示,判断当前温度数值是否超过 eeprom 中存储的温度上限数 据,若超过则通过单片机 p2.6 口产生高电平信号驱动直流电机工作同时报警模 块红色报警灯亮。若低于温度上限时 p2.6 口输出低电平,直流电机停止工作红 色报警灯熄灭,若当前温度低于 eeprom 中存储的温度下限数据,p2.7 口产生 高电平使继电器打开,绿色报警灯亮,当温度恢复到上下限阈值内时,p2.7 口 产生低电平使继电器关闭,绿色报警灯熄灭,否则返回。 3.2.4 ds18b20 温度采集流程温度采集流程 如图 3.5 所示,ds18b20 先复位,然后跳过 rom 匹配,启动温度转换, 准备读温度前再次复位 ds18b20,然后再跳过 rom 匹配,读取温度值,返回。 3.2.5 cat24c02 读写模块流程读写模块流程 (1) .写模块流程: 如图 3.6 所示,at24c02 发送开始信号,然后发送设备号 a0,检测应答, 写入地址,检测应答,写入数据,检测应答,最后发送终止信号并结束。 (2) 读模块流程: 如图 3.7 所示,at24c02 发送开始信号,然后发送
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年ACCA国际注册会计师考试真题卷:企业风险管理试题(含答案)
- 2025小升初语文测试题及答案
- (2025)中小学生心理健康知识竞赛题库及参考答案
- 2025护师考试基础护理学练习题及答案
- (2025)学法用法考试题及答案
- 物联网技术试题及答案
- 技术文员考试试题及答案
- 2025年压力管道巡检维护证考试题库
- 2025电气设备购销合同范本
- 2025计算机硬件购销合同
- 《向长庚医院学管理》读后感
- 《建筑防水工程技术规程》
- DB11-T 1754-2024 老年人能力综合评估规范
- 《献给阿尔吉侬的花束》读书分享
- 电力项目全过程咨询服务方案
- T-CASME 1610-2024 淤泥土固化加固与处置技术规程
- 商用汽车金融方案
- 医药行业生产成本管控方案
- 上海市崇明区九校2024-2025学年六年级(五四制)上学期期中英语试题
- 预拌混凝土试验室作业指导书(完整版)
- 2024年10月自考00312政治学概论试题及答案含评分参考
评论
0/150
提交评论