本科毕业设计论文基于单片机的自动节水灌溉系统.doc_第1页
本科毕业设计论文基于单片机的自动节水灌溉系统.doc_第2页
本科毕业设计论文基于单片机的自动节水灌溉系统.doc_第3页
本科毕业设计论文基于单片机的自动节水灌溉系统.doc_第4页
本科毕业设计论文基于单片机的自动节水灌溉系统.doc_第5页
免费预览已结束,剩余21页可下载查看

下载本文档

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

文档简介

基于单片机的自动节水灌溉系统 摘 要 节水灌溉 农业节水不仅潜力很大而且利国利民 对占消费水 80 左右的农 业用水的合理使用和发挥最大效益应该说具有非常重要的意义 尤其对于处在干 旱 半干旱地区的大半个中国 节水将是可持续发展需要解决的最重要问题 单 片机可编程控制节水灌溉系统 该系统可对不同土壤的湿度进行监控 并按照作 物对土壤湿度的要求进行适时 适量灌水 本控制器以 AT89C51 单片机为核心 由传感器 信号处理电路 输出控制电路等构成 以实现数据采集 控制信号输 出 通过传感器自动检测土壤水分实现自动灌溉控制 硬件方面 土壤含水量 的测量采用 HIH3610 湿度传感器 A D 转换采用 ADC0809 芯片 74LS373 芯片等 单片机控制部分采用 AT89C51 单片机为核心 主要由土壤湿度传感器 信号 处理电路 输出控制电路等组成 软件选用汇编语言编程 单片机可将土壤湿度 传感器检测到的土壤湿度模拟量转换成数字量 并传输给控制系统检测是否该灌 溉 该系统灵活性强 成本低 可靠性高 在实际应用中前景广阔 关键词 单片机 芯片 采样 A D 转换 河北大学 2009 届本科生毕业论文 设计 ABSTRACT Stanza water irrigation agriculture stanza water not only the potential but is very big and benefit people of country To have to consume water 80 or so agriculture to use aqueous of reasonable usage and develop the biggest efficiency should say having count for much meaning Particularly for be placed in the greater half inside country of drought the half dry region stanza water will be keep on the development needs to be solved the most important problem The single slice of machine programmable control stanza water irrigation system that system can carry on supervision to the degree of humidity of different soil and Be according to the request of farm crop to soil degree of humidity carry on in good time and just the right amount infusing water This controller takes the AT89 C51 single slice of machine as core from spread a feeling machine the signal handles electric circuit and output control electric circuit etc composing Collect by carrying out a data control signal output pass to spread a feeling machine an auto examination the soil humidity carry out an automatic irrigation control Hardware the soil contains the diagraph adoption HIH3610 degree of humidities of amount of water to spread a feeling machine A D convert the adoption ADC0809 chips 74 LS373 chip etc Single slice of machine control part adoption the AT89 C51 single slice of machine is mainly spread a feeling machine by soil degree of humidity the signal handles electric circuit and outputs control electric circuit etc to constitute the software choice edits collected materials a language plait distance The single slice of machine can spread soil degree of humidity the feeling machine examines of the soil degree of humidity imitates quantity to convert into a number quantity and deliver to control system examination whether should irrigate The system s vivid is strong the cost is low High reliability at physically applied in foreground vast Keyword single chip Chip Sample A D convert 目目 录录 一 前言 1 1 1 本设计的任务和主要内容 1 二 本系统主要硬件电路设计及介绍 2 2 1 本系统主要硬件介绍及总体说明 2 2 2 简介 AT89C51 内部总体结构及其基本特性如下 2 2 3 湿度传感器介绍 3 2 4 A D 模块介绍 4 2 5 电动机介绍 6 2 6 电磁阀 喷头 7 三 本系统主要硬件电路设计 9 3 1 系统的工作原理 9 3 2 单片机主系统电路 9 3 3 时钟电路 10 3 4 数据存储器的扩展电路 11 3 数据采集处理电路 11 3 LED 显示系统电路 12 四 系统的软件设计 15 4 1 系统主程序设计 15 4 2 采样子程序设计 17 4 3 数据处理 17 4 3 1 采集数据转换 17 4 3 2 BCD 转换 19 4 4 LED 动态显示程序 19 结 论 21 谢 辞 22 参考文献 23 河北大学 2009 届本科生毕业论文 设计 0 一一 前言前言 水是生命之源 没有了水 地球上的生物都将消失 农业自古是我国重中之重的行业 是各行各业的基础 也是人类得以生存的行业 农 业的发展从长远的可持续战略发展来看 节水 高科技农业是二来的趋势 由传统农 业向现代化农业转变 由粗放经营向集约经营转变 农业科技要想有大的发展 必须 进行一次新的农业技术革命 农业与工业 交通等行业相比仍然比较落后 农业灌溉 技术尤其落后 灌溉系统自动化水平较低是制约我国高效农业发展的主要原因之一 传统的灌溉模式自动化程度低 属粗放的人工操作 即便对于给定的量 在操作中也 无法进行有效的控制 为了提高灌溉效率 缩短劳动时间和节约水资源 必须发展节 水灌溉控制技术 计算机技术和传感器技术的迅猛发展 计算机和传感器的价格日益降低 可靠性 日益提高 用信息技术改造农业已经是势在必行 用高新技术改造农业产业 实施节 水灌溉已成为我国农业乃至国民经济持续发展带战略性的根本大事 本课题旨在设计 一套能对作物生长的土壤湿度进行监控并自动灌溉的系统 它能对作物进行适时 适 量的灌水 起到高效灌溉 节水 节能的作用 1 1 本设计的任务和主要内容 本论文主要讨论单片机控制的节水灌溉系统 分别对土壤湿度与灌水量之间的关 系 灌溉控制技术及系统设备的软 硬件各个部分进行了探讨 主要内容如下 1 节水灌溉控制系统的整体说明与设计思路分析 2 单片机的各部件的硬件说明 电路分析及软件编码 3 据土壤湿度值 在灌水期间以预定的时间进行灌溉 当土壤湿度值低于设定的最低 值时 系统便自动灌溉 4 相对于落后的人工灌溉来讲 这种自动化的方式可以控制浇水量的多少 减少人工 操作 达到节水的目的 河北大学 2009 届本科生毕业论文 设计 1 二 本系统主要硬件电路设计及介绍 2 1 本系统主要硬件介绍及总体说明 要实现智能灌溉 系统需要有单片机 传感器 A D 模块 电动机 电磁阀 管 网和喷头等设备 单片机 负责发出和接收各种运行程序指令 是整个控制系统的中枢部分 传感器 由于本次设计时间比较仓促 忽略了温度对灌溉的影响 因此没有使用温度 传感器 只使用了土壤湿度传感器 通过传感器采集土壤里的湿度信号 判断是否需 要灌溉 A D 模块 将传感器采集的信号送到单片机 电动机 从水源抽水 为喷灌系统提供一定的压力 电磁阀 控制喷头的喷灌与否 喷头 实现均匀喷洒 便于充分吸收 管网 灌溉系统输送水的管路 图 2 1 系统结构框图 2 2 简介 AT89C51 内部总体结构及其基本特性如下 AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器的低电压 高性能 CMOS8 位微处理器 俗称单片机 8 位 CPU 片内振荡器 4k 字节 ROM 128 字节 RAM 21 个特殊功能寄存器 32 根 I O 线 可寻址的 64k 字节外部数据 程序存贮空 间 2 个 16 位定时器 计数器中断结构 具有二个优先级 五个中断源一个全双口串 行口位寻址功能 适于按位进行逻辑运算的位处理器 除 128 字节 RAM 4k 字节 ROM 和中断 串行口及定时器模块外 还有 4 组 I O 口 P0 P3 余下的就是 CPU 的 全部组成 如去掉 ROM EPROM 部分即为 8031 如果将 ROM 置换为 Flash 存贮器或 河北大学 2009 届本科生毕业论文 设计 2 EEPROM 或再省去某些 I O 即可得到 51 系列的派生品种 如 89C51 等单片机 单 片机各部分是通过内部的总线有机地连接起来 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 p1 7 8 P3 0 RXD 10 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 5 T1 15 P3 6 WR 16 P3 7 RD 17 XTAL2 18 XTAL1 19 GND 20 A9 P2 1 22 A10 P2 2 23 A11 P2 3 24 A12 P2 4 25 A13 P2 5 26 A14 P2 6 27 A15 P2 7 28 PSEN 29 EA 31 AD7 P0 7 32 AD6 P0 6 33 AD4 P0 4 35 AD3 P0 3 36 AD2 P0 2 37 AD1 P0 1 38 Ucc 40 AD0 P0 0 39 AD5 P0 5 34 ALE 30 RST 9 P3 1 TXD 11 A8 P2 0 21 AT89C51 图 AT89C51 引脚结构图 因此 AT89C51 构成的单片机系统是具有结构最简单 造价最低廉 效率最高的 微控制系统 省去了外部的 RAM ROM 和接口器件 减少了硬件开销 节省了成本 提高了系统的性价比 2 3 湿度传感器介绍 湿敏元件的特性 由于单总线微网采用寄存电源的方式向单总线器件供电 因此 要求挂接在单总 线微网上的器件必须满足低功耗的要求 这里 选用了具有低功耗特性的模拟大信号 湿度传感器 HIH 3610 HIH 3610 是美国 Honeywell 公司生产的相对湿度传感器 该传 器采用热固聚酯电容式传感头 同时在内部集成了信号处理功能电路 因此 可完成 将相对湿度值变换成电容值 再将电容传转换成线性的电压输出 同时该传感器还具 精度高 响应快速 高稳定性 低温漂 抗化学腐蚀性能强及互换性好等优点 其性 能指标如表 2 3 所列 输出电压与相对湿度的关系如表 2 1 所示 表 2 1 HIH 3610 湿度传感器性能指标 参 数指 标 RH 精度 2 RH 0 100 RH 非凝结 25 DC 供电电压 5V RH 互换性 5 RH 0 60 RH 8 90 RH RH 线性 0 5 RH 典型值 RH 迟滞 1 2 的 RH 最大量程 河北大学 2009 届本科生毕业论文 设计 3 RH 重复性 0 5 RH RH 反应时间 s30 慢流动的空气中 1 e 25 RH 稳定性 1 RH 典型值 50 RH 5 年时间内 DC 供电电压 V4 9 传感器在 DC5V 下标定 消耗电流 mA0 2 DC 5V 2 典型值 DC9V 输出电压 Vout Vsuppl 0 0062 sensor RH 0 16 由性能指标及输出电压与相对湿度的关系曲线 可得出如下结论 HIH 3610 在供电电压为 5V 时 其消耗电流仅为 200 A 完全可满足单总线微网对 器件低功耗的要求 HIH 3610 输出电压为 Vout Vsupply 0 0062 sensor RH 0 16 即输出电压 Vout 不仅正比于湿度测量值 且与电源电压值 Vsupply 圾关 若 Vsupply 固定为 5V 则其值仅由相对湿度值决定 但由于单总线上的供电电压值为变量 故要 求在进行湿度测量的同时还应测量电源电压 Vsupply 的值 HIH 3610 输出的湿度值还与环境温度有关 故应进行温度补偿 补偿公式为 RH sensor RH 1 0546 0 0216t 2 4A D 模块介绍 ADC 有两大类 一类在电子线路中使用 没有使能控制端 另一类有使能控制端 可以和微机接口直接连接 ADC0809 是 8 位逐次逼近式 A D 转换器 可以和微机接口 直接相连 内部结构 ADC0809 由八路模拟开关 地址锁存与译码器 比较器 256 电阻阶梯 树状开关 逐 次逼近式寄存器 SAR 控制电路和三态输出锁存器等组成 1 八路模拟开关及地址锁存与译码器 八路模拟开关用于输入 IN0 IN7 上八路模拟电压 地址锁存和译码器在 ALE 信号控制 下可以锁存 ADDA ADDB 和 ADDC 上地址信息 经译码后控制 IN0 IN7 上哪一路模拟电 压送入比较器 例如 当 ADDA ADDB 和 ADDC 上均为低电平 0 以及 ALE 为高电平时 地址锁存和译码器输出使 IN0 上模拟电压送到比较器输入端 VIN 2 256 电阻阶梯和树状开关 为了简化问题起见 现以二位电阻阶梯和树状开关为例加以说明 其中 四个分压电 阻使 A B C 和 D 四点分压成 2 5V 1 5V 0 5V 和 0V SAR 中高位 D1 控制左边两只 树状电子开关 低位 D0 控制右边四只树状开关 各开关旁的 0 和 1 表示树状开关闭合 条件 由 D1D0 状态决定 例如 D1 1 则上面开关闭合而下面开关断开 D1 0 时的 情况正好与此相反 树状开关输出电压 VST 和 D1D0 关系列于表 2 2 表 2 2 VST 和 D1D0 的关系 河北大学 2009 届本科生毕业论文 设计 4 D1 D0VST 0 00V 0 10 5V 1 01 5V 1 12 5V 对于 8 位 A D 转换器 SAR 为八位 电阻阶梯 树状开关和上述情况类似 只是要有 256 个分压电阻 形成 256 个标准电压供给树状开关使用 VST 送给比较器输入端 3 逐次逼近寄存器和比较器 SAR 在 A D 转换过程中存放暂态数字量 在 A D 转换完 成后存放数字量 并可送到 三态输出锁存器 A D 转移前 SAR 为全 0 A D 转换开始时 控制电路使 SAR 最高位为 1 并控制树状 开关的闭合和断开 由此产生 VST 送给比较器 比较器对输入模拟电压 VIN 和 VST 进 行比较 若 VIN VST 则比较器输出逻辑 0 而使 SAR 最高位由 1 变为 0 若 VIN VST 则比较器输出使 SAR 最高位保留 1 此后 控制电路在保持最高位不变下 依次对次高位 次次高位 最低位重复上述过程 就可在 SAR 中得到 A D 转换完成 后的数字量 4 三态输出锁存器和控制电路 三态输出锁存器用于锁存 A D 转换完成后的数字量 CPU 使 OE 引脚变为高电平就可以 从 三态输出锁存器 取走 A D 转换后的数字量 控制电路用于控制 ADC0809 的操作过程 引脚功能 ADC0809 采用双列直插式封装 共有 28 条引脚 如图 2 3 所示 现分为四组简述如下 IN 0 26 msb2 1 21 2 2 20 IN 1 27 2 3 19 2 4 18 IN 2 28 2 5 8 2 6 15 IN 3 1 2 7 14 lsb2 8 17 IN 4 2 EOC 7 IN 5 3 ADD A 25 IN 6 4 ADD B 24 ADD C 23 IN 7 5 ALE 22 ref 16 ENABLE 9 START 6 ref 12 CLOCK 10 ADC0809 图 2 3 ADC0809 引脚图 1 IN0 IN7 8 条 IN0 IN7 为八路模拟电压输入线 用于输入被转换的模拟电压 河北大学 2009 届本科生毕业论文 设计 5 2 地址输入和控制 ALE 为地址锁存允许输入线 高电平有效 当 ALE 线为高电平时 ADDA ADDB 和 ADDC 三条地址线上地址信号得以锁存 经译码后控制八路模拟开关工 作 ADDA ADDB 和 ADDC 为地址输入线 用于选择 IN0 IN7 上哪一路模拟电压送给比 较器进行 A D 转换 ADDA ADDB 和 ADDC 对 IN0 IN7 的选择如表 2 3 所列 表 2 3 被选模拟量路数和地址的关系 被选模拟电压 路数 ADDCADDBADDA IN0000 IN1001 IN2010 IN3011 IN4100 IN5101 IN6110 IN7111 3 数字量输出及控制线 START 为 启动脉冲 输入线 该线上正脉冲由 CPU 送来 宽度应大于 100ns EOC 为转换结束输出线 该线上高电平表示 A D 转换已结束 数字 量已锁入 三态输出锁存器 2 1 2 8 为数字量输出线 2 1 为最高位 OE 为 输 出允许 线 高电平时能使 2 1 2 8 引脚上输出转换后的数字量 4 电源线及其他 5 条 CLOCK 为时钟输入线 用于为 ADC0809 提供逐次比较所需 640KHZ 时钟脉冲序列 VCC 为 5V 电源输入线 GND 为地线 VREF 和 VREF 为参考电压输入线 用于给电阻阶梯网络供给标准电压 VREF 常和 Vcc 相连 VREF 常接地 2 5 电动机介绍 本系统采用最常用的三相异步电动机其运行性能好 可靠性高 成本低 而且 结 构简单 其内部结构由定子 定子绕组 机座 转子 转子绕组及轴承 风扇等组成 三相异步电动机的基本原理 当电动机接入三相交流电源时 三相定子绕组流过三 相对称电流产生的三相磁动势 定子旋转磁动势 并产生旋转磁场 电动机是将电脉冲 信号转变为角位移或线位移的开环控制元件 在非超载的情况下 电动机的转速 停止 的位置只取决于脉冲信号的频率和脉冲数 而不受负载变化的影响 即给电动机加一个 脉冲信号 电动机则转过一个步距角 这一线性关系的存在 加上只有周期性的误差而 无累积误差等特点 使得在速度 位置等控制领域变的非常的简单 在自动控制系统中 用作执行元件 把所收到的电信号转换成电动机轴上的角位移 河北大学 2009 届本科生毕业论文 设计 6 或角速度输出 分为直流和交流电动机两大类 其主要特点是 当信号电压为零时无自 转现象 转速随着转矩的增加而匀速下降 伺服电机内部的转子是永磁铁 驱动器控制 的 U V W 三相电形成电磁场 转子在此磁场的作用下转动 同时电机自带的编码器反馈 信号给驱动器 驱动器根据反馈值与目标值进行比较 调整转子转动的角度 电机的精 度决定于编码器的精度 线数 2 6 电磁阀 喷头 电磁阀是用来控制流体的方向的自动化基础元件 属于执行器 通常用于机械控制 和工业阀门上面 对介质方向进行控制 从而达到对阀门开关的控制 电磁阀的工作原理 电磁阀里有密闭的腔 在的不同位置开有通孔 每个孔都通向不同 的油管 腔中间是阀 两面是两块电磁铁 哪面的磁铁线圈通电阀体就会被吸引到哪边 通过控制阀体的移动来档住或漏出不同的排油的孔 而进油孔是常开的 液压油就会进 入不同的排油管 然后通过油的压力来推动油刚的活塞 活塞又带动活塞杆 活塞竿带 动机械装置动 这样通过控制电磁铁的电流就控制了机械运动 在选用电阀磁的时候要 注意以下特性 一 安全性 腐蚀性介质 宜选用塑料电磁阀和全不锈钢 对于强腐蚀的介质必须选用隔离膜片 式 中性介质 也宜选用铜合金为阀壳材料的电磁阀 否则 阀壳中常有锈屑脱落 尤 其是动作不频繁的场合 爆炸性环境必须选用相应防爆等级产品 露天安装或粉尘多场 合应选用防水 防尘品种 电磁阀公称压力应超过管内最高工作压力 二 适用性 介质特性 液态或混合状态分别选用不同品种的电磁阀 有液态与气态之分 介质温 度不合适 容易使线圈烧掉 密封件老化 严重影响寿命 介质清洁度不高时都应在电 磁阀前配装反冲过滤阀 介质流通方向不同 选用的型号也不同 介质温度应选在电磁 阀允许范围之内 管道参数 根据介质流向要求及管道连接方式选择阀门通口及型号 根据流量和阀门 管径选择不同的型号 最低工作压差在 0 04Mpa 以上可选用间接先导式 最低工作压差 接近或小于零的必须选用直动式或分步直接式 环境条件 环境的最高和最低温度应选在允许范围之内 如果相对湿度高及有水滴雨 淋等场合 应选防水电磁阀 经常有振动 颠簸和冲击等场合应选特殊品种 例如船用 电磁阀 在有腐蚀性或爆炸性环境中的使用应优先根据安全性要求选用耐发蚀 环境空 间若受限制 可选用多功能电磁阀 因其省去了旁路及三只手动阀且便于在线维修 电源条件 根据供电电源种类 分别选用交流和直流电磁阀 一般来说交流电源取用 方便 电压规格用尽量优先选用 AC220V DC24V 电源电压波动通常交流选用 10 15 直流允许 10 左右 如若超差 须采取稳压措施 应根据电源容量选择额定电流 和消耗功率 须注意交流起动时 VA 值较高 在容量不足时应优先选用间接导式电磁阀 控制精度 普通电磁阀只有开 关两个位置 在控制精度要求高和参数要求平稳时要 河北大学 2009 届本科生毕业论文 设计 7 选用多位电磁阀 三 可靠性 工作寿命 选用质量较高的产品寿命比较长 工作制式 分长期工作制 反复短时工作制和短时工作制三种 对于长时间阀门开通 只有短时关闭的情况 宜选用常开电磁阀 工作频率 动作频率要求高时 结构应优选直动式电磁阀 电源优选交流 动作可靠性 对可靠性要求却很高 如消防 紧急保护等 喷头介绍 喷头用于将水分散成水滴 如同降雨一般比较均匀地喷洒在作物种植区域 河北大学 2009 届本科生毕业论文 设计 8 三 本系统主要硬件电路设计 3 1 系统的工作原理 湿度传感器采集到湿度信息 通过变换器 转化为电信号 A D 转换器将模拟电 信号转化为离散信号 传给单片机 单片机软件系统根据事先的设定值对采集的信息 进行处理 输出离散的控制信号 D A 转换器将离散的控制信号转化为模拟电量 通 过模拟电量来控制阀门的动作 从而实现自动控制 系统原理框如图 3 1 图 系统原理图 通过湿度传感器采集湿度信息 经放大器放大后送到 A D 转换器 A D 转换器将 连续的模拟量转化为单片机能接受的离散的数字量 单片机收到流量信号后 在控制 系统软件的作用下 发出相应的执行命令给进电机 进行控制 3 2 单片机主系统电路 AT89C51 内部自带 2K 字节可编程 FLASH 存储器的低电压以及高性能 COMS 八 位微处理器 与 Intel MCS 51 系列单片机的指令和输出管脚兼容 由于将多功能八位 CPU 和闪速存储器结合在单个芯片中所以 AT89C51 构成的单片机系统具有结构简单 造价低廉 效率高的特点 省去了外部的 RAM ROM 和接口器件 减少了硬件开销 节省了成本 提高了系统的性价比 AT89C51RC 片内总共有 512 字节的用户数据区 而 256 字节的内部扩展数据区需通过清 SFR 8EH 的位 1 并用 MOVX 指令访问 片内 置通用 8 位中央处理器和 FlASH 存储单元 另一个 256BytesRAM 区与 ATMEL 之 AT89 系列 8052 兼容的单片机是一致的 AT89C51RC 结合通用的 8 位微处理器和 Flash 存储技术构成功能强大单片微处理器 可提供许多高性能低价位的系统控制应用 场合 河北大学 2009 届本科生毕业论文 设计 9 图 3 2 A D 信号变换图 CPU 的 P0 口是地址数据复用总线 由锁存器 373 锁存低 8 位地址 经译码器译 码产生地址为 F0H 的输出信号作为 ADC0809 的选通信号 从传感器送来的模拟信号 经 ADC0809 转换为数字信号 对 F0H 地址的写操作启动 A D 转换 然后查询 EOC 结 束信号 直到 EOC 输出高电平表示 A D 转换结束 CPU 通过对 F0H 地址的读操作读 取转换结果 CPU 经过数据处理后发出控制命令给电机系统 控制发动电机系统抽水 打开阀门进行灌溉 传感器不断传送土壤的湿度值给单片机 当土壤湿度值达到了预 定设的湿度指数 发出信号关闭阀门停止灌溉 传感器每隔一定时间便给单片机传送 土壤湿度值 一但未到到预设的湿度 不适合农作物生长的条件下 主机系统便开始 循环自动灌溉 3 3 时钟电路 单片机的时钟信号用来提供单片机片内各种微操时间基准 时钟信号通常有两种 电路形式 内部振荡和外部振荡 51 单片机内部有一个用于构成振荡器的高增益反向 放大器 引脚 XTALl 和 XTAL2 分别是此放大电器的输入端和输出端 由于采用内部方 式时 电路简单 所得的时钟信号稳定 实际使用中常采用这种方式 如图 3 3 所示 在其外接晶体振荡器 晶振 或陶瓷谐振器就构成了内部振荡方式 片内高增益反向放 大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器并产生 振荡时钟脉冲 外接晶体以及电容 C2 和 C1 构成并联谐振电路 它们起稳定振荡频率 快速起振的作 用 其值均为 30P 左右 晶振频率选 6MHz 河北大学 2009 届本科生毕业论文 设计 10 图 3 3 时钟电路 3 4 数据存储器的扩展电路 AT89C51 单片机外接数据 RAM 时 P2 口输出存储器地址的高 8 位 PO 口分时输出 地址的低 8 位和传送指令字节或数据 PO 口先输出低 8 位地址信号 在 ALE 有效时将 它锁存到外部地址锁存器中 然后 PO 口作为数据总线使用 地址锁存器选用 74LS373 C51 单片机的系统存储器结构及存储器的编址方法 3 数据采集处理电路 ADC0809 是一种 8 位逐次逼近式 A D 转换器 内部具有锁存控制的 8 路模拟开关 外接 8 路模拟输入端 可同时对 8 路 0 5V 的输入模拟电压信号分时进行采集转换 本 系统只用到 INO 和 INl 两路输入通道 ADC0809 转换器的分辨率为 8 位 采用单一 5V 供电 功耗为 15mW 不必进行零点和满度调整 由于 ADC0809 转换器的输出数据寄存 器具有可控的三态输出功能 输出具有 TTL 三态锁存缓冲器 故其 8 位数据输出引脚 可直接与数据总线相连 A D 转换器需外部控制启动转换信号方能进行转换 由 CPU 河北大学 2009 届本科生毕业论文 设计 11 提供这一启动转换信号 对启动转换信号的要求不同 A D 转换器型号也不同 有脉 冲启动和电平启动两种 ADC0809 采用脉冲启动转换 只需给 A D 转换器的启动控制 转换的输入引脚 START 加入正脉冲信号 就可以启动 A D 转换器进行转换 转换开 始后 转换结束信号输出端 EOC 信号变低 转换结束时 EOC 返回高电平 以通知主 机读取转换结果的数字量 这个信号可以作为 A D 转换器的状态信号供查询 也可以 用作中断请求信号 本系统中 ADC0809 与 AT89C51 单片机的接口如图 3 2 所示 采用 等待延时方式 ADC0809 的时钟频率范围要求在 10 1280kHz AT89C51 单片机的 ALE 脚的频率是单片机时钟频率的 1 6 因此当单片机的时钟频率采用 6MHz ADC0809 输入 时钟频率为 1MHz 发生启动脉冲后需延时 100Us 才可读取 A D 转换数据 ADC0809 的 8 位数据输出引脚可直接与数据总线相连 地址译码引脚 A B C 分别与 74LS373 的 A B C 相连 以选通 INO IN7 中的一个通道 AT89C51 的 p 2 6 作为片选信号 在启动 AM 转换时 由单片机的写信号控制 ADC 的地址锁存和转换启动 由于 ALE 与 START 连在一起 因此 ADC0809 在锁存通道地址的同时也启动转换 在读 取转换结果时 用单片机的读信号 引脚一级或非门产生的正脉冲作为 OE 信号 用以 打开三态输出锁存器 3 LED 显示系统电路 微机测控系统中常用的测量数据的显示器有发光二极管显示器 LED 和液晶显示器 LCD 这两种显示器都具有线路简单 耗电少 成本低 寿命长等优点 数码管有 共阴共阳之分 本系统采用 8 段共阴型 LED 每位数码管内部有 8 个发光二极管 公 共端由 8 个发光二极管的阴极并接 正常显示时公共端接低电平 GND 各发光二极 管是否点亮取决于各引脚上是否是高电平 数码管有两种工作方式 静态显示方式和动态扫描显示方式 为了节省端口降低 功耗 本系统采用动态扫描显示方式 这种连接方式由于多位字段线连在一起 因此 要想显示不同的内容必然要采取轮流显示的方式 即在某一瞬间 只让其中的某一位 的字位线处于选通状态 其它各位的字位线处于断开状态 同时字段线上输出这一位 相应要显示字符的字段码 在这一瞬时 只有这一位在显示 其他几位为暗 本系统 中字位线的选通与否是通过 PNP 三极管的导通与截止来控制 即三极管处于 开头 状态 在单片机系统中 LED 和键盘是两种很重要外设 键盘用于输入数据 代码和命 令 LED 用来显示控制过程和运算结果 LED 数码显示管分为共阴和共阳两种 为共阴八段 LED 管时 所有发光二极管阴 极共连后接到引脚 G G 脚为控制端 用于控制 LED 是否点亮 若 G 脚接地 则 LED 被点亮 若 G 脚 TTL 高电平 则它被熄灭 当共阳八段 LED 数码显示管时 所有发光二极管阳极共连后接到 G 脚 正常显示 时 G 脚接 5V 各发光二极管是否点亮取决于各引脚上是否是低电平 0 伏 因此 共阴 和共阳所需字形码正好相反 如表 3 1 所列 河北大学 2009 届本科生毕业论文 设计 12 静态显示的特点是各 LED 管能稳定地同时显示各自字形 动态显示是指各 LED 轮 流一遍一遍显示各自字符 人们因视觉惰性而看到的是各 LED 似乎在同时显示不同字 形 表 3 1 八段 LED 数码显示管字型码表 地址偏移量共阴字形码共阳字形码所显字符 SGTB 0H3FHC0H0 1H06HF9H1 2H5BHA4H2 3H4FHB0H3 4H66H99H4 5H6DH92H5 6H7DH82H6 7H07HF8H7 8H7FH80H8 9H6FH90H9 AH77H88HA BH7CH83Hb CH39HC6HC DH5EHA1Hd EH79H86HE FH71H8EHF 10H00HFFH 空格 11HF3H0CHP 12H76H89HH 13H80H7FH 14H40HBFH 1 静态显示 在单片机应用系统中 常采用 MC14495 芯片作为 LED 的静态显示接口 它可以和 LED 显示器直接连接 MC14495 芯片是由 4 位锁存器 地址译码器和笔段 ROM 阵列以及 带有限流电阻的驱动电路 输出电流为 10mA 等三部分电路组成 A B C D 为二进 制码或 BCD 码输入端 LE 为锁存控制端 LE 为低电平时可以输入数据 LE 为高电平 时锁存输入数据 h I 为输入数据大于等于 10 指示位 若输入数据大于或等于 10 则 h I 输出高电平 否则输出为低电平 VCR 为输入等于 15 指示位 若输入数据等于 15 则 VCR 输出高电平 否则为高阻状态 MC14495 芯片的作用是输入被显字符的二 河北大学 2009 届本科生毕业论文 设计 13 进制码或 BCD 码 并把它自动转换成相应字形码 送给 LED 显示 2 动态显示 为了减少硬件开锁 提高系统可靠性和降低成本 单片机控制系统通常采用动态 扫描显示 图中 B 口和所有 LED 的 a b c d e f g SP 引线相连 各 LED 控 制端 G 和 8155C 口相连 故 B 口为字形口和 C 口为字位口 因为 CPU 可以通过 C 口控 制各 LED 是否点亮 从表 3 4 可以很容易看出 8155 的端口地址分配如下 8000H 命令 状态口 8001H A 口 8002H B 口 字形口 8003H C 口 字位口 8004H 定时器低 8 位口 8005H 定时器高 8 位口 8000H FFFFH 8155I O 重叠地址区 8000H 00FFH 8155 RAM 基本地址区 8000H 7FFFH 8155 RAM 重叠地址区 动态显示采用软件法把欲显示十六进制数或 BCD 码转换为相应字形码 故它通常 需要在 RAM 区建立一个显示缓冲区 显示缓冲区内包含的存储单元个数常和系统中 LED 显示器个数相等 显示缓冲区的起始地址很重要 它决定了显示缓冲区在 RAM 中 的位置 显示缓冲区中每个存储单元用于存放相应 LED 显示器欲显示的字形码地址偏移量 故 CPU 可以根据这个地址偏移量通过查字形码表来找出所需显示字符的字形码 以便送 到字形口显示 当显示器位数较少时 采用静态显示的方法比较好 若位数较多 采用静态显示所需 的 I O 太多 一般采用动态显示方法 因此本课题采用动态的显示方式 PC0 PC5 PB0 PB7 PA0 PA3 LED1LED2LED3LED4LED5LED6LED7LED8LED9LED10 abcdefgsp 8003H 8003H 8002H 8155 GGGGGGGGGG 图 3 4 LED 与 8155 的连接图 河北大学 2009 届本科生毕业论文 设计 14 四 系统的软件设计 系统软件程序设计主要包括 主程序设计 采样子程序设计 数据处理程序 显示 子程序 串口通信程序等 各芯片地址编码为 RAM6116 OFOOOH OF7FFH 81551 0 口 7FF8H 7FFDH ADC0809 OBFF8H OBFFFH 4 1 系统主程序设计 图 主程序流程图 ADTURNO EQU 21H INO 通道 A D 转换数据存放首址 ADTURN1 EQU 2CH IN1 通道 A D 转换数据存放首址 LINEADRO EQU 36H 1N0 采集数据经滤波处理数据存放地址 LINEADR1 EQU 37H INl 采集数据经滤波处理数据存放地址 河北大学 2009 届本科生毕业论文 设计 15 LINEADR EQU 38H 平均值存放地址 HUMID EQU 3BH 标度变换后的湿度值存放地址 BCDADR EQU 3CH BCD 转换后的湿度值存放地址 HUMADR EQU 3DH 湿度值存放地址 T100US EQU 256 50 延时参数 Cl00US EQU 3FH SHOWADR EQU 40H 显示区数据存放首址 ORG OOOOH SJMP START ORG OOOBH 定时器 0 中断服务程序入口 Limp TOINT ORG 0023H 串行 I O 中断服务程序入口 Limp SERVE ORG 0050H START MOV SP 50H 设置堆栈 MOV HUMADR OFFH SETB OD3H 选中寄存器 3 SETS OD4H MOV R0 HUMADR CLR OD3H 选中寄存器 0 CLR OD4H MOV TMOD 22H 主程序初始化 MOV TH1 OF3H MOV TLl OF3H MOV SCON 50H MOV PCON 80H MOV DPTR 7FF8H MOV A 4DH MOVX DPTR A SETB TR1 SETB EA SETB ES RUN LCALL AD 调用 A D 转换子程序 LCALL TURN 调用湿度转换子程序 MOV A HUMID 将湿度值送往单片机 MOV SBUF A LCALL TWOSEC 延时等待 MOV A HUMID CJNE A HUMADR COMP 检测到的湿度值大于预设湿度值时循环采样 否则灌溉 DONE CLR P1 1 LCALL RAIN 进行灌溉 LCALL TIME ORL P1 02H LCALL TWMIN 灌水结束等待 20 分钟 河北大学 2009 届本科生毕业论文 设计 16 Limp RUN 回到主程序 COMP JC DONE LJMP RUN END 4 2 采样子程序设计 该系统采用延时等待的方法来读取 A D 转换结果 ADC0809 的 INO 和 INl 两个地 址分别是 OBFF8H OBFF9H INO 通道采集到的 9 个数据放入以 ADTURNO 片内 21H 为首址 的一片数据区内 IN1 通道采集到的 9 个数据放入以 ADTURN1 片内 2CH 为首址的另一 片数据区内 程序清单 AD MOV R1 ADTURNO MOV R4 OBH ADLOOP MOV DPTR OBFFFH 启动 INO 通道 A D 转换 GOON MOVX DPTR A MOV R7 OAOH 延时等待转换结束 DLAY NOP NOP NOP NOP NOP DJNZ R6 DLAY MOVX A DPTR MOV R1 A 将转换后的数据送入以 ADTURNO 为首址的一片 RAM 内 INC R1 DJNZ R4 ADLOOP SJMP AD RET 4 3 数据处理 4 3 1 采集数据转换 在测控系统中 用原始数据经 A D 转换器接口送入单片机的数据 这些原始数据 送入机器后通常要先进行处理 然后才能输出作为显示器的显示数据 在该系统中 湿度传感器和 A D 相连 A D 转换器和单片机相连 在该系统中 土壤湿度测量范围对应的输出电压范围为 0 5V ADC0809 为 8 位 A D 转换器 转换输 出的数码为 0255 即根据公式 DL 0lD H 255 NL 0 NH 100 TURN SETB OD3H CLR OD4H 选第一组寄存器 河北大学 2009 届本科生毕业论文 设计 17 CLR C MOV B LINEADR MOV A 20 MUL AB CLR OD2H MOV R7 A MOV R6 B MOV R5 00H MOV R4 33H LOOP1 MOV B R7 JNZ LOOP2 MOV B R6 JNZ LOOP2 MOV R7 0 MOV R6 0 SJMP LOOP2 CLR B MOV R2 B MOV R3 B MOV Rl 16 ADIN CLR C MOV B R6 RLC B MOV R6 B MOV B R7 RLC B MOV R7 B MOV B R2 RLC B MOV R2 B MOV B R3 RLC B LOOP3 DJNZ R1 ADIN MOV B R3 JB ACC 7 LOOP4 MOV B R2 RLC B MOV R2 B MOV B R3 RLC B SUBB B R5 JC DONE1 JNZ LOOP4 MOV B R2 河北大学 2009 届本科生毕业论文 设计 18 SUBB B R4 JC DONE1 LOOP4 MOV B R6 ADD B 1 MOV R6 B MOV B R7 ADDC B 0 MOV R7 B DONE1 MOV HUMID R6 CLR 0D3H RET 4 3 2 BCD 转换 计算机能识别和处理的是二进制数 标度变换后的结果计算和存储为二进制数 而 在 I O 系统中 为了人们看的直观采用十进制数 在计算机中十进制数采用 BCD 码表 示 经转换后采样得到的数据才能以十进制的形式显示输出 系统将二进制数转换成 BCD 数的方法是将其除以 10 次幂 即得相应位数 最后 的余数为个位数 程序如下 BCDTURN MOV SHOWADR 3 00H 因湿度值小于 100 故千位为 0 MOV B 100 MOV A HUMID DIV AB MOV SHOWADR 2 A 将百位数送 SHOWADR 2 显示地址 MOV A 10 XCH A B DIV AB MOV SHOWADR 1 A 将十位数送 SHOWADR 1 显示地址 MOV SHOWADR B 将个位数送 SHOWADR 显示地址 RET 4 4 LED 动态显示程序 根据 LED 动态显示系统电路图 3 4 8155 控制口的地址为 7FF8H POA 口地址为 7FF9H PC 口地址为 7FFBH 片内显示缓冲区为 SHOWADR SHOWADR 3 40H 43H 共 4 个单元对应 4 个数码管 程序中先取 SHOWADR I 3 中的数 对应选中最左边的数码 管 其余类推 由于 LED 为共阴极接法 并有反相驱动 字型表 TAB 中有效的字型码 为 字型 共阳极段 共阴极段 字型 共阳极段 共阴极段 0 C0H 3FH 9 90H 6FH 1 F9H 06H A 88H 77H 2 A4H 5BH B 83H 7CH 3 B0H 4FH C C6H 39H 4 99H 66H D A1H 5EH 5 92H 6DH E 86H 79H 河北大学 2009 届本科生毕业论文 设计 19 6 82H 7DH F 84H 71H 7 F8H 07H 空白 FFH 00H 8 80H 7FH P 8CH 73H 程序清单如下 MOV DPTR 7FF8H 指向 8155 控

温馨提示

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

评论

0/150

提交评论