毕业设计(论文)-基于单片机的水计价器设计.doc_第1页
毕业设计(论文)-基于单片机的水计价器设计.doc_第2页
毕业设计(论文)-基于单片机的水计价器设计.doc_第3页
毕业设计(论文)-基于单片机的水计价器设计.doc_第4页
毕业设计(论文)-基于单片机的水计价器设计.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本本科毕业论文(设计)科毕业论文(设计) 论文(设计)题目:基于单片机的水计价器设计论文(设计)题目:基于单片机的水计价器设计 学学 院:院: 专专 业:业: 班班 级:级: 学学 号:号: 学生姓名:学生姓名: 指导教师:指导教师: 年 月 日 贵州大学本科毕业论文(设计)贵州大学本科毕业论文(设计) 诚信责任书诚信责任书 本人郑重声明:本人所呈交的毕业论文(设计),是在导师的指导下 独立进行研究所完成。毕业论文(设计)中凡引用他人已经发表或未发 表的成果、数据、观点等,均已明确注明出处。 特此声明。 论文(设计)作者签名: 日 期: 贵 贵州大学本科毕业论文(设计) 第 i 页 目录 摘要.iii abstract .iv 第 1 章 绪论.1 1.1 研究背景及意义 1 1.2 研究目的、内容及思路 1 第 2 章 水计价器系统总体方案设计.3 2.1 系统设计方案简介 3 2.2 系统技术参数及性能特点 3 第 3 章 水计价器硬件电路设计.5 3.1 单片机最小系统设计 5 3.1.1 stc89c52 单片机简介5 3.1.2 单片机最小系统电路7 3.2 水流量检测电路设计 9 3.2.1 okd-hz41c 水流量传感器简介9 3.2.2 水流量检测电路10 3.3 水温检测电路设计 11 3.3.1 ds18b20 温度传感器简介 11 3.3.2 温度检测电路.12 3.4 at24c02 数据存储电路设计13 3.4.1 at24c02 数据存储芯片简介13 3.4.1 at24c02 数据存储电路15 3.5 系统时钟电路设计 15 3.5.1 ds1302 时钟芯片简介 15 3.5.2 时钟电路.16 3.6 人机交互功能设计 17 3.6.1 tgb12864 液晶显示电路设计17 3.6.2 按键输入电路设计19 贵 贵州大学本科毕业论文(设计) 第 ii 页 3.6.3 无线遥控电路设计20 3.6.4 报警驱动电路21 3.7 系统电源电路设计 21 第 4 章 水计价器软件设计.23 4.1 单片机控制系统程序设计方法 23 4.1.1 系统程序基本特点23 4.1.2 系统程序的设计流程23 4.2 keil编程环境简介.24 4.3 单片机程序设计 25 4.3.1 主程序流程图25 4.3.2 水流量测量子程序25 4.3.3 ds18b20 温度采集子程序 27 4.3.4 at24c02 数据存储子程序29 4.3.5 ds1302 时钟子程序 30 4.3.6 液晶显示子程序31 4.3.7 按键中断服务子程序33 总结.35 参考文献.36 致谢.37 贵 贵州大学本科毕业论文(设计) 第 iii 页 基于单片机的水计价器设计 摘要 随着人们物质生活水平越来越高以及物价市场的持续波动,原有的以计量为主的 功能单一仪表不再满足人们日益多元化的需要,而通过计价器人们可以直观的了解日 常各项开支,因此,计价器越来越多的影响着人们日常生活,特别是在出租车、水费、 供暖等日常消费活动中应用广泛。本系统采用 stc89c52 单片机作为控制核心,充分 利用单片机的数据处理及实时检测功能,实现对水流量进行检测,并可以根据当前水 费单价进行水费计量功能。外围扩展电路主要包括时钟电路、电源电路、温度检测电 路、数据存储电路、键盘输入电路、无线控制电路、报警电路及液晶显示电路等。整 体设计实现了用微机技术对水流量进行实时检测和水费计量,外围扩展电路采用模块 化设计,系统整体结构清晰,维护方便,对其他相似计费系统有很好的参考价值。 关键词:单片机,流量,温度,计费 贵 贵州大学本科毕业论文(设计) 第 iv 页 abstract as peoples material standard of living getting higher and higher, and the market price continued volatility, the original purpose of measuring the main function of a single instrument no longer meets the needs of an increasingly diverse people, and people can intuitively understand the expenditure through the meter everyday. therefore, the meter affected more and more peoples daily life, especially in the taxi, water, heating and other activities of daily consumption. the system uses stc89c52 mcu as the control core, takes full advantage of single-chip data processing and real-time detection function to achieve the water flow detection. it also can be carried out the expensive of water according to the current price. expansion of the external circuit includes the clock circuit, power supply circuit, the temperature detection circuit, data storage circuit, keyboard circuit, the radio control circuit, the alarm circuit and liquid crystal display circuit. the overall design has achieved water flow detection and water metering with computer technology, external expansion circuit uses a modular design, the system overall structure is clear, easy maintenance and also can be a good reference to other similar billing system. keywors: scm, flow, temperature, billing 贵 贵州大学本科毕业论文(设计) 第 1 页 第 1 章 绪论 1.1 研究背景及意义 随着现代社会的进步,经济的发展,人们对生活水平的要求越来越高,现代的家 居生活更加体现高品位、高质量、个性化、智能化的特点。水、电、暖是家居生活必 不可少的要素,对之精确、便捷的测量也显得尤为重要。传统的水表由传感器和转换 器部分构成,大多以码盘或者数码管形式显示水流量或水量,功能较为单一。而且由 于其不具备水费计量功能,因而不能很好的促进人们节能减排意识的提高。 单片机具有体积小、功能强、可靠性高、价格低廉等一系列优点,不仅已成为工 业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落, 有力地推动了各行业的技术改造和产品的更新换代。本文设计的以单片机为控制核心 的智能水计价器功能强大,用较少的硬件和适当的软件相互配合即可以很容易的实现 系统设计要求,系统灵活性强,且可以通过软件升级来完成更多的附加性功能。 该智能型水计价器系统和传统水表相比,具有功能多样化的优点,更加符合当今 社会智能、节能、环保的发展观念,使人们在享受高品位、高质量、个性化、智能化 生活的同时提高了节约用水意识。 1.2 研究目的、内容及思路 随着电子信息技术的飞速发展和人们节能减排意识的提高,计价器在人们日常生 活中得到越来越多的应用,特别是在和人们生活密切相关的水、电、暖等方面应用普 遍。早起的水计价器是通过直接显示被测对象的量来进行人工计算,后来又发展了模 拟控制计价器。但是采用模拟电路所用器件较多,导致电路复杂、故障率高、调试困 难等问题,另外,不同模式的切换用到的机械开关会造成接触不良,从而导致系统工 作不稳定。 基于此,本文拟设计一款基于单片机的智能型水计价器,该系统采用stc89c52单 片机作为系统控制核心,在充分利用其丰富i/o端口及控制灵活性的基础上,实现水费 计量、时间显示和数据存储功能。除了可以完成上述基本功能外,该计价器还具有水 温实时检测,水流量液晶显示,无线遥控能外部扩展功能。 本文研究内容和思路如图 1.1 所示: 贵 贵州大学本科毕业论文(设计) 第 2 页 广泛收集文献资料,掌握水计价器现状, 确定设计中需要解决的问题 研究“基于单片机的水计价器设计”系统 组成方案 研究“基于单片机的水计价器设计”系统 硬件组成 完成“基于单片机的水计价器设计”系统 软件设计 图 1.1 本论文主要研究内容及思路 贵 贵州大学本科毕业论文(设计) 第 3 页 第 2 章 水计价器系统总体方案设计 2.1 系统设计方案简介 系统采用台湾宏晶公司设计生产的 stc89c52 单片机作为主控制器,结合电源电 路、ds18b20 水温检测电路、hz41c 流量检测电路、at24c02 数据存储电路、键盘输 入电路、无线控制电路、ds1302 系统时钟电路及 tgb12864 液晶显示电路等外围电路, 共同实现对自来水的自动温度检测、流量检测以及水费计量。系统硬件电路结构简单, 功能强大,测量精度高。其硬件原理图如图 2.1 所示。 系统工作过程如下:在 stc89c52 单片机的控制下、水流量传感器 hz41c 和水温 传感器 ds18b20 实时采集水流量和水温数据,数据传入 stc89c52 单片机处理,计算 出所采集的水流量后,通过液晶屏 tgb12864 动态显示当前水流量、水费及水温数据。 另外系统还具有时钟显示、按键输入、遥控等功能。 stc89c52 单片机 ds18b20水温检测电路 hz41c流量检测电路 tgb12864液晶显示电路 无线控制电路 按键输入电路系统电源电路 ds1302系统时钟电力路 at24c02数据存储电路 图 2.1 系统结构框图 2.2 系统技术参数及性能特点 1、系统性能特点 具备有关水流量监测规程、规范要求的检测功能:数据显示、分析、存储功能。 采用单片机最小系统设计,不用外扩其他硬件电路,体积小,成本低。 2、主要技术参数 工作环境温度:-1055; 测温范围:0-100; 温度误差:1.0; 流量监测范围:0.22.5l/min。0.20.4l/min 时,1l=2100 次;0.50.8l/min 时, 1l=2280次;0.91.2l/min 时,1l=2350次;1.22.5l/min 时,1l=2460次(脉冲 贵 贵州大学本科毕业论文(设计) 第 4 页 次数在流量变化时有一定程度的变动); 流量测量精度:5%(在流量稳定的系统,精度可达2%) 实时检测:可对水温,水流量不间断检测和定时检测; 报警系统:对采集到的温度数据进行分析,达到报警上下限后系统有警报提示。 贵 贵州大学本科毕业论文(设计) 第 5 页 第 3 章 水计价器硬件电路设计 3.1 单片机最小系统设计 3.1.1 stc89c52 单片机简介 stc89c52 系列单片机是台湾宏晶科技公司推出的一款超强抗干扰、高速、低功耗 单片机。指令代码对 8051 单片机完全兼容,具有 12 分频时钟/机器周期和 6 分频时钟/ 机器周期,可选择使用,其内部方框图如图 3.1 所示。最新的 d 版本内部集成 max810 专用复位电路1。 (1)增强型6分频时钟/机器周期和12分频时钟/机器周期: (2)工作电压:5.5v3.4v/3.8v2.0v: (3)工作频率范围:040mips,实际工作频率可高达48mhz; (4)用户应用程序空间4k/8k/13k/16k/20k/32k/64k字节; (5)片上集成有128字节/512字节ram; (6)通用i/o口(32/36),复位后为p1/p2/p3/p4是准双向口,弱上拉; (7)isp/iap编程模式,无需专用编程器和仿真器; (8)e2prom功能; (9)内置硬件看门狗: (10)内部集成max810复位芯片,当外部晶振频率为20m以下时,可省略外部复位电路: (11)3个16位t/c,其中定时器0可以作为两个8位定时器使用; (12) 4路外部中断,下降沿或低电平触发方式: (13)通用异步串行口uart; (14)工作温度:075,-40+85; (15)封装:pdip-40;plcc:pqfp-44。 贵 贵州大学本科毕业论文(设计) 第 6 页 图 3.1 stc89c52 内部方框图 stc89c52 外形、引脚排列如图 3.2,引脚功能如下: vcc(40):5v gnd(20):接地 p0 口(3932):p0 口为 8 位漏极开路双向 i/o 口,每个引脚可吸收 8 个 ttl 门 电流。p1 口(18):p1 口是 8 位内部提供上拉电阻的双向 i/o 口,p1 口内部缓 冲器能接收或输出 4 个 ttl 电流。 p2 口(2128):p2 口也是 8 位内部提供上拉电阻的双向 i/o 口,p2 口内部缓冲 器同样可接收和输出 4 个 ttl 门电流。 p3 口(1017):p3 口普通 i/o 功能同 p1 口和 p2 口,带有 8 个内部上拉电阻器 的双向 i/o 口,可接收和输出 4 个 ttl 门电流。同时,p3 口也可作为 at89c51 的 特殊功能口。 rst(9):复位输入端。振荡器复位时,要保持 rst 引脚至少 2 个机器周期的高 电平。 ale/prog(30):当单片机对外部存储器访问时,地址锁存允许的输出电平用于 锁存地址的低位,在对单片机 flash 编程期间,此引脚用于编程脉冲输入。在平 时的时候,ale 端以固定频率(依据起振电路而定)输出正脉冲信号,此频率是 振荡器频率的 1/6,它可以用作对外部输出的脉冲或用于定时,需要注意的是,每 当访问外部数据存储器时,将跳过 1 个 ale 脉冲。 贵 贵州大学本科毕业论文(设计) 第 7 页 psen(29):外部程序存储器选通信号。当单片机从外部程序存储器取值的时候, 每个机器周期中有 2 次 psen 有效,但在对外部数据存储器访问时,这 2 次有效的 psen 信号将不出现。 ea/vpp(31):当 ea 保持持续低电平时,外部程序存储器地址始终为 0000hffffh,而不管是否具有内部程序存储器。在对单片机 flash 编程期间, 此引脚用于施加 12v 的外部编程电源(vpp)。 xtal1(19):反向振荡放大器的输入端,内部时钟工作电路输入端。 xtal2(18):反向振荡器输出端。 图 3.2 stc89c52 引脚排列外形图 3.1.2 单片机最小系统电路 单片机最小系统电路图如图3.3。包括时钟电路和复位电路。 1、时钟电路 时钟电路由振荡电路和分频电路组成。其中振荡电路由反相器以及并联外接的石英 晶体和电容构成,用于产生震荡脉冲。而分频电路则用于把震荡脉冲分频,已得到所 需要的时钟信号2。 时钟电路的作用主要是产生单片机工作所必需的时钟信号,而以时钟信号为基准的 时序是指令执行中各信号之间严格遵守的相互关系。单片机本身就是一个异常复杂的 同步时序电路,为了实现工作方式同步,应该有唯一的时钟信号对电路时序严格控制。 贵 贵州大学本科毕业论文(设计) 第 8 页 单片机stc89c52内部自带时钟电路,因此,在实际使用时只需要在片外通过xtal1引 脚(19)和xtal2引脚(18)接入晶体振荡器和电容等定时控制元件,即可构成稳定 的自激振荡器。stc89c52单片机内有一个高增益反相放大器,在芯片外部,xtal1引 脚和xtal2引脚之间跨接了晶体振荡器和微调电容。在单片机的xtal1引脚和xtal2 引脚之间并接一个晶体振荡器就构成了内部振荡方式。stc89c52单片机内部有一个高 增益的反相放大器,xtal1为内部反相放大器的输入端,xtal2为内部反相放大器的 输出端,在其两端接上晶振后,就构成了自激振荡电路,并产生振荡脉冲,振荡电路 输出的脉冲信号的频率就是晶振的固有频率。在实际应用中通常还需要在晶振的两端 和地之间各并上一个小电容。at89c52芯片中的高增益反响放大器,其输入端为引脚 xtal1,输出端为引脚xtal2。通过这两个引脚在芯片外并接石英晶体振荡器和两只 电容器(电容c1和电容c2一般取30pf) 。 2、复位电路 复位是单片机的硬件初始化操作,其目的是使cpu和系统中各部分处于一个确定 的状态,并从这一状态开始工作。系统上电路或死机后都要进行复位操作。单片机的 rst引脚为复位引脚,振荡电路正常工作后,rst端加上持续两个机器周期的高电平后, 单片机就被复位。复位电路有3种基本方式:上电复位,开关复位和看门狗复位。本课 题采用上电复位方式是指通过系统接通电源的方式,使单片机进入复位状态。上电复 位电路是最为简单的复位电路,一般不单独使用。图3.3中c1与r5构成了上电复位电路。 上电复位后,电源经r5对c1充满电源,c1等效于开路,rst端为低电平;单片机正常 工作。 在上述电路中c1、r5按照经验取值,c1为22uf的极性电容,r5为1k的电阻。复位 电路的作用非常重要,能否成功复位关系但单片机系统能否正常运行的问题。如果振 荡电路正常而单片机系统不能正常运行,其主要原因是单片机没有完成正常复位,程 序计数器的值没有回0,特殊功能寄存器没有回到初始状态。这时可以适当地调整上电 复位电路的阻容值,增加其充电时间常数来解决问题。经过复位操作后,单片机系统 才能开始正常工作3。 贵 贵州大学本科毕业论文(设计) 第 9 页 ea/vp 31 x1 19 x2 18 reset 9 rd 17 wr 16 int0 12 int1 13 t0 14 t1 15 p10/t 1 p11/t 2 p12 3 p13 4 p14 5 p15 6 p16 7 p17 8 p00 39 p01 38 p02 37 p03 36 p04 35 p05 34 p06 33 p07 32 p20 21 p21 22 p22 23 p23 24 p24 25 p25 26 p26 27 p27 28 psen 29 ale/p 30 txd 11 rxd 10 u180c51 cy1 11.059200mhz u4 30p u530p c1 22uf 16v r5 1k vcc vcc 图 3.3 单片机最小系统电路 3.2 水流量检测电路设计 课题任务中最重要的是水流量的测量,通过水流量传感器的数据采集。本文选用 深圳欧卡达公司的okd-hz41c水流量传感器,根据其参数可以得出单片机在运算时的 数据。okd-hz41c水流量传感器外形如图3.4所示。 图 3.4 水流量计图 3.2.1 okd-hz41c 水流量传感器简介 水流量传感器是利用霍尔元件的霍尔效应来测量磁性物理量的传感器。水流量传 感器主要由铜阀体、水流转子组件、稳流组件和霍尔传感器组成,装在进水端用于检 测进水流量的大小及通断。 贵 贵州大学本科毕业论文(设计) 第 10 页 将负载电阻串接在霍尔元件的正极处,同时通以 5v 直流电压使电流和磁场方向正 交。当水流通过涡轮开关壳推动磁性转子时会产生磁极不相同的旋转磁场,通过切割 磁感线产生了变化的高低脉冲电平。传感器中霍尔元件脉冲输出信号的频率和磁性转 子的转速成正比,而磁性转子转速又和水流量成正比,因此,根据传感器的脉冲输出 数目即可计算水流量的大小4。okd-hz41c 水流量传感器的电气参数如表 3.1 所示: 表 3.1 okd-hz41c 水流量传感器的电气参数表 有型号规格、生产日期,清洁美观 标识、外观 光滑无毛刺、无杂色 0.8mpa 水压下无漏水现象,且零件无裂纹、 耐水压性能 松弛、膨胀、变形等异常现象 工作电压范围dc3-18v,额定 dc5v 最大工作电流15ma 在额定 5v 工作电压时, 输出脉冲高电平 输出的高电平要求在 4.5v 以上 在额定 5v 工作电压时, 输出脉冲低电平 输出的低电平要求在 0.5v 以下 在额定工作电压时, 输出脉冲占空比 输出的脉冲占空比 50%10% 流量脉冲特性见流量参数和脉冲对照表 绝缘性能绝缘电阻100m 电气强度ac500v 50hz,不击穿或闪络 80温度中放置 72 小时,然后在环境温度下 耐热性(80) 恢复 1 小时测量的精度要求在5%以内 在-20温度中放置 72 小时,然后在环境温度下 耐寒性(-20) 恢复 1 小时测量的精度要求在5%以内 接线方式红色:正极,黑色:负极,黄色:脉冲信号 3.2.2 水流量检测电路 okd-hz41c 水流量传感器各接口属性及功能描述如表 3.2 所示: 贵 贵州大学本科毕业论文(设计) 第 11 页 表 3.2 okd-hz41c 水流量传感器引线分配 引脚名称颜色描述 1signal黄色脉冲信号输出端 2vdd红色电源电压(额定 dc5v) 3earth 黄绿大地 4gnd白色地线 单片机与 okd-hz41c 的典型连接电路如图 3.5 所示。传感器的信号输出端经过 104 瓷片电容滤波作用后与单片机的一个 i/o 端口连接即可。输出脉冲高电平 4.5v 以 上,低电平 0.5v 以下,脉冲输出占空比 5010%。另外,在使用中应尽量减小传输信 号线的长度。 图 3.5 水流量测量电路 3.3 水温检测电路设计 温度是水的重要指标之一,也是本文需要测量的重要参数, ,故先用温度传感器 ds18b20 的数据采集,再通过单片机数据处理,最后在液晶屏显示出来。 3.3.1 ds18b20 温度传感器简介 温度检测部分采用集成温度传感器ds18b20,ds18b20外形封装如图3.6,它采用 独特的单总线接线方式传输,在与微处理器连接时仅需要单条数据线即可实现单片机 和ds18b20双向通讯任务,不需要其他外围器件支持,温度检测的全部传感元件及转换 电路均集成在一只形状类似三极管的集成电路内,工作电源范围为3.05.5v,测温范 围为-55+125,在-10+85的温度测量范围内分辨率为0.5,数据测量结果以 9位或12位的数字量方式储存在传感器的内部数据寄存器中,最后数据通过单片机读写 命令以单总线串行方式传送给cpu,同时具有crc校验码功能和极强的抗干扰纠错能 力5。 贵 贵州大学本科毕业论文(设计) 第 12 页 图 3.6 ds18b20 外形封装 3.3.2 温度检测电路 该模块各接口属性及功能描述如表 3.3 所示: 表 3.3 ds18b20 引脚分配 引脚名称描述 1gnd地 2sda串行数据双向口 3vdd电源电压(3.5- 5.5v) 单片机与 ds18b20 的典型连接电路如图 3.7 所示。为了使 ds18b20 能完成准确的 温度变换,当温度变换发生时 i/o 线上必须提供足够的功率单总线通信模式下,经过 上拉作用后的串行数据双向口 sda(2 脚)与单片机的一个 i/o 端口连接即可。实际 工程使用中应尽量使中间连线短于 30m,上拉电阻推荐为为 5.1k。 在总线上的主机不知道总线上 ds18b20 是寄生电源供电还是外部 vdd 电源供电 的情况下,在 ds18b20 内采取了措施来通知微控制器其当前工作所采用的供电方案。 总线上的主机通过发出跳过 rom 的操作约定,继而发送读电源命令,同时可以决定是 否有需要强上拉的 ds18b20 在总线上。此命令发出后,主机紧接着发出读芯片命令, 如果是寄生供电方式,ds18b20 将在单线总线上送回“0”反馈;如果是由 vdd 电源供 电,它将送回“1”。如果主机接收到一个“0”,则必须在温度变换的同时在数据线上提供 一个强的上拉电源。当系统在连接线长度大于 30m 时,需要根据通信情况降低使用上 贵 贵州大学本科毕业论文(设计) 第 13 页 拉电阻的值,以避免线路压降过大使传感器出现供电不足状况,确保线信号传递准确 与稳定6,7。 stc 89c52 ds 18b20 vcc 5.1k p3.4 1 2 3 图 3.7 ds18b20 接口电路图 3.4 at24c02 数据存储电路设计 在单片机的开发应用中,常常希望对现场输入的数据能够在断电的情况下长久保 存,以避免下次开机时的重新输入,此项工作通常采用 at24c02 芯片来完成。 3.4.1 at24c02 数据存储芯片简介 数据存储主要用于存储当前已设定的单价信息,系统断电后当前设定单价不丢失, 并且存储已载乘客消费信息。本设计中采用的是 at24c02,其 pdip8 封装如图 3.8 所示。 图 3.8 at24c02 封装图 at24c02 是带 i2c 总线接口的 e2prom,其容量为 2568,它的特点是无需特殊 设备支持,单片机本身就可对它进行读/写操作,写入数据在断电情况下可保存十年以 上,使用非常方便。但由于 stc89c52 单片机没有 i2c 总线接口,故不能直接使用。 通常采用虚拟 i2c 总线技术来解决这个问题。其主要特性如下所示: 工作电压:1.8v5.5v; 输入/输出引脚兼容5v; 应用在内部结构; 1288(1k),2568(2k),5128(4k),10248(8k),20488(16k); 贵 贵州大学本科毕业论文(设计) 第 14 页 二线串行接口; 输入引脚经施密特触发器滤波抑制噪声; 双向数据传输协议; 兼容400khz(1.8v,2.5v,2.7v,3.6v ); 支持硬件写保护; 高可靠性:读写次数 1,000,000 次,数据保存 100 年。 表 3.4 at24c02 引脚定义 引脚名称引脚功能 a0a2器件地址输入 sda传销数据输入输出 scl串行时钟输入 wp写保护 vcc电源 gnd地 at24c02的第1、2、3管脚是芯片的三条地址线,用于确定芯片硬件地址;第4管 脚和第8管脚分别为正、负电源断开。第5管脚sda是数据串行输入/输出断开,时间数 据通过这条双向的i2c总线以串行方式传送,sda和scl和正电源之间都需要各接一个 5.1k的电阻作为上拉电阻。第7管脚为wp写保护端,该管脚接地时允许芯片执行一般 读写操作,接电源时则不允许对器件写入。at24c02中自带片内地址寄存器,每当写 入或读出一个数据字节,该地址寄存器加1,以准备对下一个存储单元的读写操作,寄 存器中所有的字节均以单一操作方式读取。同时,为了降低总的写入时间,一次写入 操作可写入多达8个字节的数据量8。 长时间处于极限条件下,将影响器件的可靠性。at24c02 的极限额定参数如表 3.5 所示,如果外加条件超过“极限额定参数”的额定值,将会对芯片造成永久性的破坏。 表 3.5 at24c02 极限额定参数表 工作温度 -55+125 存储温度 -65+150 任何引脚的对地电压-1.0v+7.0v 贵 贵州大学本科毕业论文(设计) 第 15 页 最大工作电压6.25v 直流输出电流5.0ma 3.4.1 at24c02 数据存储电路 设计电路如图3.9所示: 图 3.9 数据存储电路 3.5 系统时钟电路设计 在实时性控制的单片机系统中,一些数据的检测常需要与时间相关,这时就需要 在系统中提供实时时钟信号。例如,在故障诊断控制系统中,特别是长时间无人值守 的测控系统中,经常需要记录某些故障数据及其出现的时间,以便进行原因查询和事 故检修,这时使用实时时钟芯片,就能很好地解决这个问题。本文是利用单片机 stc89c52 和时钟芯片 ds1302 进行数据通信,以读取和写入时。 3.5.1 ds1302 时钟芯片简介 ds1302 是一种高性能、低功耗的实时时钟芯片,附加有 31 字节静态 ram,采用 spi 三线接口与 cpu 进行同步通信,并可以采用突发方式,一次传送多个字节的时钟 信号或 ram 数据。实时时钟可以提供秒、分、时、日、星期、月和年,一个月小于 31 日时可自动调整,包括闰年,有效至 2100 年。可以采用 12h 或 24h 方式计时,采用 双电源供电,可设置备用电源充电方式,同时提供了对后备电源进行涓流充电的能力。 7 个附加字节的暂存寄存器,包括移位寄存器控制逻辑振荡器实时时钟和 ram 芯片为 8 引脚小型 dip 封装引脚排列及说明分别如图 3.10 和表 3.6 所示。 贵 贵州大学本科毕业论文(设计) 第 16 页 图 1 ds1302 引脚排列 表 3.6 ds1302 的各引脚说明 引脚功能 vcc2主电源引脚 x1、x2连接 32.768khz 晶振,为芯片提供计时脉冲 gnd电源地 rst复位引脚 i/o数据输入、输出引脚 sclk串行时钟输入 vcc1后备电源引脚 ds1302 内部寄存器及取值说明如表 3.7 所示: 表 3.7 ds1302 内部寄存器及取值说明 寄存器名称含义功能 ch=0:振荡器工作允许 ch时钟停止位 ch=1:振荡器停止 wp=0:寄存器能够写入数据 wp写保护位 wp=1:寄存器不能写入数据 tcs=1010:使能涓流充电 tcs涓流充电选择 tcs=其它:禁止涓流充电 bit7=1:12 小时模式 存器 2 的第 7 位12/24 小时标志 bit7=0:24 小时模式 ap=1:下午模式 寄存器 2 的第 5 位am/pm 定义 ap=0:上午模式 ds二极管选择位ds=01:选择一个二极管 贵 贵州大学本科毕业论文(设计) 第 17 页 ds=10:选择两个二极管 ds=00 或 11:即使 tcs=1010, 充电功能也被禁 止 3.5.2 时钟电路 时钟模块主要用于某些具有特殊意义的数据记录,在本系统中时钟模块主要为计 价器提供精准的时间计时及不同时间的单价转换提供依据。在采用单片机计时方案时, 需要占用计数器硬件资源,另一方面需要设置中断、查询操作等,大量耗费单片机珍 贵资源。故本系统中采用了时钟芯片 ds1302 与单片机相连作为系统时钟信号源,该接 口电路简单,电路稳定,数据输入/输出脚、同步脉冲输入脚、片选脚分别接单片机模 拟串口脚即可。 ds1302 与单片机的连接仅需要 3 条线,即 sclk、i/o、rst。vcc2 在单电源与 电池供电的系统中提供低电源保护并能提供低功率电池备份。vcc2 在双电源系统提 供电源的运行方式下将 vcc1 连接到备份电源,这样的话即使没有主电源的情况下系 统也能保存时间信息以及数据,ds1302 选择两者中的较大者供电。当 vcc2 比 vcc1 大 0.2v 时,由 vcc2 给 ds1302 提供电源。当 vcc2 小于单片机系统中使用的 vcc1 电源时,ds1302 由 vcc1 提供电源。 在本系统中,以stc89c52为主器件,ds1302位从器件,rst接在主器件p1.2上, 此引脚为高位的时候,选中该芯片并对其进行操作。串行数据线i/o与串行时钟线 sclk分别接在p1.0和p1.1上,所有的单片机地址、命令及数据均通过这两条线传输。 系统中主器件在总线上产生时钟脉冲,寻址信号,数据信号,而从器件接收数据并送 出数据。对ds1302的每一次读写都需要16个时钟脉冲时间,其中,前8个脉冲输入操作 地址和读写命令。实际上,在调试程序时可以不加电容器,只加一个32.768khz的晶振 即可实现所需的功能。电路如图3.11所示9: 贵 贵州大学本科毕业论文(设计) 第 18 页 图 3.11 时钟电路 3.6 人机交互功能设计 3.6.1 tgb12864 液晶显示电路设计 在单片机应用系统中常用的显示器主要有发光二极管、数码显示器(简称led显 示器)和液晶显示器(简称lcd显示器)。lcd显示器具有耗电少、成本低廉、配置 简单灵活、安装方便、耐振动、使用寿命长等优点。鉴于出租车计价器要求较为简单, 本系统采用lcd液晶显示模块。 液晶显示器 lcd 以其微功耗、价格低、体积小、显示内容丰富、超薄轻巧的诸多 优点,在袖珍式仪表和低功耗控制领域中得到越来越广泛的应用。本次设计的液晶显 示电路采用带中文字库的 tgb12864 液晶模块,该模块采用 8 位数据并行接口方式, 芯片 rom 内部含有国家标准一级、国家标准二级简体中文字库;液晶模块的分辨率为 12864,内置 8192 个 1616 点汉字,和 128 个 168 点 ascii 字符集。该液晶模块接 口方式灵活、简单,操作指令高效、方便,可以很容易的构成人机交互系统界面,不 仅可以完成 84 行 1616 点阵的汉字显示,也可以进行简易编程图形显示。tgb12864 端口功能表如表 3-3 所示。另外,液晶显示采用低电压、低功耗的 stn(super twisted nematic)和 fstn(film compensated super twisted nematic)技术,使整个系 统功耗大大降低10。 表 3.8 tgb12864 端口功能表 名称型态电平功能描述 vcci-模块电源输入 端 gndi-电源地端 voi-对比度调节端 veei-液晶驱动电压输出端 psbih/l串口/并口选择端:h 并口;l 串口 rstih/l复位信号端,低电平有效 rs(cs)ih/l寄存器选择端: h 数据;l 指令 片选低有效 r/w(sid)ih/l读/写选择端: h 读;l 写 e(sclk)ih/l使能信号端(串行时钟输入) 贵 贵州大学本科毕业论文(设计) 第 19 页 db0-db3i/oh/l数据总线的低四位(空接) db4-db7i/oh/l数据总线的高四位,4 位并口(空接) ledai-背光电源正 ledai-背光电源负 液晶显示模块和控制器的接口电路如图 3.12 所示,电路设计中采用并口数据传输 模式。 图 3.12 tgb12864 液晶显示模块与单片机接口电路 3.6.2 按键输入电路设计 键盘在单片机应用系统中是一个很关键的输入部件,它能实现向计算机输入数据、 传送命令等功能,是人工干预计算机的主要手段。 在单片机控制系统中,需要用到功能键的时候一般采用独立式结构。独立式键盘 就是各键相互独立,每个按键各接一根输入线,通过检测输入线的点平状态可以很 容易的判断哪个按键被按下。 电路一般采用查询方式,如图 3.13。当某一个键闭合 时,相应的 i/o 口线变为低/高电平。当程序查询到低/高电平的 i/o 口线时,就可以确 定处于闭合状态的键并执行相应的命令。这种键盘的优点是电路简单,缺点是当键数 较多时,要占用较多的 i/o 线。本系统键盘采用由单片机 i/o 口控制的独立按键,主要 通过键盘设置测量温度上、下限及各种复位操作11。 贵 贵州大学本科毕业论文(设计) 第 20 页 图 3.13 查询方式的独立按键电路 3.6.3 无线遥控电路设计 无线控制部分作为除按键操作之外的又一个控制手段,可以完成和按键部分相同 的操作,有利于增加控制系统的稳定性和工作的可靠性。无线控制电路初步选择台湾 普城公司生产的低功耗、低价位通用型编解码电路芯片 pt2262/2272。pt2262/2272 最多可有 12 位(a0-a11)三态地址端管脚(悬空、高电平、 低电平),通过任意组合后可以有 531441 种编码地址。其中 pt2262 芯片最多使用 6 位 数据接口(d0-d5) ,通信建立后,地址和数据内容从数据发送端(17)脚依次串行输 出。 在一般使用过程中,为了对应 8 位控制器的数据操作习惯,多采用 4 位数据码和 8 位地址码的形式,即将编码芯片 pt2262 和解码芯片 pt2272 的第 1 至 8 管脚设置为 地址编码端。地址端具有悬空不接、接电源正极、接电源负极共三种接线方式。8 位地 址端三种状态的任意排列可有 6561 个组合结果,当且仅当数据发送芯片 pt2262 和接 收芯片 pt2272 的地址编码即接线方式完全相同时,数据才能实现正确收发,使用中接 口电路如图 3.14 所示12。 贵 贵州大学本科毕业论文(设计) 第 21 页 图 3.14 mcu 与 ptc2272 接口电路图 实验过程中,除满足地址编码必须完全一致外,2272 芯片的 15 和 16 管脚接的振 荡电阻必须匹配发射器 2262 中的电阻,否则容易出现接收芯片发热,接收距离变短现 象,甚至无法接收。匹配电阻选择参考表 3-4 效果较好: 表 3-4 无线收发芯片 pt2262/pt2272 匹配电阻对照表 编码发射芯片编码接收芯片 pt2262pt2272 1.2m200k 1.5m270k 2.2m390k 3.3m680k 4.7m820k 3.6.4 报警驱动电路 当计价器检测到水温过高或过低时会发出声音警报。如图 3.15 所示,单片机报警 信号通过 lm386 放大之后,通过报警喇叭发出报警声音,报警信号一旦触发,直至用 户手动解除为止。 贵 贵州大学本科毕业论文(设计) 第 22 页 图 3.15 lm386 驱动电路 3.7 系统电源电路设计 系统工作电压统一为 5v 供电,所以采用一片 lm7805ck 稳压电源芯片将经过变 压和整流后的电压稳定至 5v 电源。lm7805ck 是一款 3 端正稳压电路芯片,to-220 封装,能提供稳定的输出电压,应用范围广。芯片内含过流、过热和过载保护电路。 在带散热片情况下输出电流可达 1a。虽然是固定稳压电路,但通过使用不同参数外接 元件可获得不同的电压和电流。 如图3.16所示为监控系统供电电源电路,对于实物图为3.17。经电源变压器整流过 后的电压通过整流桥电路、电容滤波电路、集成稳压芯片lm7805ck以及后级滤波电 路后变为5v稳定电压。单片机对于直流电源电压非常敏感,但是一般直流电源都存在 一些杂波,通常是直流电压中的高频交流成分,消除电源中的高频交流成分对增强电 路的性能具有较大作用。因而在电源电路设计中我们加入了滤波电路,起到滤波的作 用,从而更好的避免不必要的故障发生,滤波电路的基本原理是利用电容滤波特性。 经检测,电源电压输出稳定,可保证系统供电可靠性。 图 3.16 电源电路设计 贵 贵州大学本科毕业论文(设计) 第 23 页 图 3.17 电源模块实物 贵 贵州大学本科毕业论文(设计) 第 24 页 第 4 章 水计价器软件设计 本系统的主程序用c51编写,与汇编相比,c语言在功能上、结构性、可读性、可 维护性上有明显的优势,因而易学易用13。系统软件部分主要完成对自来水水流量和 温度情况的巡检和显示以及水费的计量。软件设计采用软件工程结构化设计方法,实 现程序功能模块化。 4.1 单片机控制系统程序设计方法 4.1.1 系统程序基本特点 在基于 mcu 的控制系统程序设计一般具备以下几个特点: 1、实时性 控制系统对控制的实时性要求较高,因此程序设计的重要要求之一就是保证数据 采集和输出响应的实时性,即能够在控制对象允许的时间间隔内对系统进行数据采集、 数据计算和控制处理。在对实时性要求较高的控制系统中一般使用汇编语言进行程序 设计,而且对于多个任务实行中断嵌套处理或者多重中断处理。 2、针对性 基于单片机的控制系统软件设计最大的特点就是要有程序具有较强针对性,即每 段控制程序或函数都是对应于一个具体系统要求进行设计的。 3、通用性 基于单片机的控制系统软件设计在具有针对性的同时,还应该具有一定的通用性, 以适应不同系统要求。在不同的控制系统设计中,就可以把具有相似功能的函数、子 程序或者中断服务程序等进行递归调用,使其有机组合成一个能够完成特定功能的新 的应用程序,这样可以较大程度的节省开发时间。 4、可靠性 实现系统预期功能是程序设计的基本要求,系统的可靠性则是系统设计的关键, 只有具有较高可靠性的控制系统的才能保证系统设备正常运行14。 4.1.2 系统程序的设计流程 单片机应用程序设计一般采取以下几个步骤15: 贵 贵州大学本科毕业论文(设计) 第 25 页 表 4.1 系统程序设计流程 步骤序号步骤名称步骤内容 1分析问题 明确系统需要解决的所有问题,并据此将软件设计工作 分成互相独立的部分,根据各功能关系和时 序关系设计出合理的软件总体架构 2 建立正确的数据输入 输出模型 根据系统功能要求描述各输入、输出变量的数学关系 3制定程序流程图 根据所求输入、输出变量数据模型制定程序执行步骤, 并绘制程序流程图 4合理分配系统资源合理分配单片机内部系统资源和系统外扩资源 5编写指令应按照语法要求在程序相关位置填写注释,提高程序可读性 6程序调试 在集成开发环境中反复执行程序,排除设计中的所有语 法和机构错误 7程序优化模块化各功能程序,进一步精简指令,提高执行效率 4.2 keil 编程环境简介 keil c51 是美国 keil software 公司出品的 51 系列兼容单片机 c 语言软件开发系统。 keilc51 的 c 编译器为带有传统 8051 内核的微控制器的提供了软件开发 c 语言标准 环境,其中包括 c 语言编译器、宏汇编、文件连接器、库文件管理器以及功能强大的 仿真调试器。keil 通过集成开发环境 uvision 将上述部分集成在一起,并保留了汇编 代码高效,快速的特点。其中,keil uvision3 编程界面如图 4.1 所示16。 图 4.1 keil uvision3 编程界面

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论