




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档 1欢迎下载 毕 业 论 文 设 计 题 目 自动浇水系统的设计 学生姓名 学号 所在院 系 物理与电信工程学院 专业班级 电子 083 指导教师 2012 年 6 月 5 日 精品文档 2欢迎下载 毕业论文 设计 任务书 院 系 物理与电信工程学院 专业班级 电子 083 学生姓名 一 毕业论文 设计 题目 盆花自动浇水系统设计与实现 二 毕业论文 设计 工作自 2012 年 2 月 27 日 起至 2012 年 6 月 15 日止 三 毕业论文 设计 进行地点 电子信息工程系实验室 四 毕业论文 设计 的内容要求 本课题要求设计一个盆花自动浇水系统 要求 1 实现湿度的显示 2 配合使雨水检测器 即 使你设定的浇水时间天突然下雨了 浇水控制器就会自动关阀停止浇水 3 每天可设定八次定时 浇水选择 每次为 1 分钟至 9 小时 59 分 也可以根据需要的时间设计 4 采用电机阀技术 浇水 自动控制器不受水压影响 而且不易受水质影响和堵塞 解决途径 用 51 系列单片机作为主控芯片 配合温 湿度传感器 雨水检测器以及对应的测 量电路完成对环境的检测 驱动数码管或 LCD 进行温 湿度显示 驱动浇水装置实现自动浇水 主要任务 进行硬件电路设计和软件程序的编写调试 烧录程序并完成系统联调 最后撰写毕 业设计论文 进度安排 2 月 27 日 3 月 30 日 查阅资料及方案论证 4 月 2 日 5 月 11 日 编写软件 调试运行及单元电路调试 5 月 14 日 5 月 25 日 整体联调 5 月 28 日 6 月 8 日 整理数据及撰写论文 6 月 11 日 6 月 15 日 准备答辩 指 导 教 师 系 教 研 室 应用电子技术教研室 系 教研室 主任签名 批准日期 接受论文 设计 任务开始执行日期 学生签名 精品文档 3欢迎下载 盆花自动浇水系统的设计 摘要 本设计主要的内容是土壤湿度检测电路的设计与制作 该电路的工作原理是由 AT89C51 单片机 和 ADC0809 组成系统的核心部分 湿度传感器将采集到的数据直接传送到 ADC0809 的 IN 端作为输入的模拟信 号 选用湿度传感器和 AD 转换 电路内部包含有湿度采集 AD 转换 单片机译码显示等功能 单片机需要采 集数据时 发出指令启动 A D 转换器工作 ADC0809 根据送来的地址信号选通 IN3 通道 然后对输入的模拟信 号进行转换 转换结束时 EOC 输出高电平 通知单片机可以读取转换结果 单片机通过调用中断程序 读取 转换后的数据 最后 单片机把采集到的湿度数据经过软件程序处理后送到 LED 数码管进行显示 自动浇水系 统设计为智能和手动两个部分 智能浇水部分是通过单片机程序设计浇水的上下限值与感应电路送入单片机的 土壤湿度值相比较 当低于下限值时 单片机输出一个信号控制浇水 高于上限值时再由单片机输出一个信号 控制停止浇水 手动部分是由通过关闭单片机电源 由外围电路供电进行浇灌 关键词 AT89C51 干湿度的采集与显示 LED 精品文档 4欢迎下载 Design of potted flowerss automatic watering system Grade 08 Class 3 Major electronics and information engineering School of physics and AbstractAbstract the design of potted plant automatic watering system includes soil temperature and humidity acquisition and display and the counter setting and display and alarm two parts water Soil temperature and humidity acquisition and display part and comprises a soil temperature and humidity acquisition and display automatic watering system Soil temperature and humidity acquisition and display in ADC0809is connected with two potentiometers as an induction circuit the collected soil temperature and humidity value is send to the AT89C51 single chip then by its transmission to the LCD screen display Automatic watering system design for intelligent and manual two parts intelligent watering section through the MCU programming watering the upper limit and the lower limit and the induction circuit into the microcontroller s soil humidity value are compared when less than the lower limit value the MCU output a signal to control the watering high in the upper limit value by the microcontroller output a signal control stop watering manual part is composed of single chip digital tube into the month and day from real time through the software programmed timing watering time KeyKey wordswords AT89C51 temperature and humidity acquisition in the display counter LED 精品文档 5欢迎下载 引言 1 选题的目的和意义 随着社会的进步 人们的生活质量越来越高 在家里养养盆花可以陶冶情操 丰富生活 同时 盆花可以通过光合作用吸收二氧化碳 净化室内空气 在有花木的地方空气中阴离子聚集较多 所 以空气也特别清新 而且许多花木还可以吸收空气中的有害气体 因此 养盆花如今被许多人喜爱 盆花浇水量是否能做到适时适量 是养花成败的关键 但是 在生活中人们总是会有无暇顾及 的时候 比如工作太忙 或者出差 旅游等 花草生长问题 80 以上是由花儿浇灌问题引起的 好 不容易种植几个月的花草 因为浇水不及时 长势不好 用来美化环境的花草几乎成了 鸡肋 不种植吧 家里没有绿色衬托 感觉没有生机 保留吧 花草长得不够旺盛 还影响家庭装饰效果 虽然市场上有卖盆花自动浇水器 但价格十分昂贵 并且大多只能设定一个定时浇水的时间 很难 做到给盆花自动适时适量浇水 夜有较经济的盆花缺水报警器 可以提醒人们及时的给盆花浇水 可是这种报警器只能报警 浇水还需要人们亲自动手 当家里无人时 即使报警也无人浇水 就起 不到应有的作用了 因此 我想设计一种集盆花土壤湿度检测 自动浇水以及蓄水箱自动供水于一 体的盆花自动浇水系统 让人们无暇顾及时也能得到及时的浇灌 2 自动浇水器的诞生背景及国内外发展现状 微喷系统是近几年利用国内外先进技术组装的新型灌溉设施 主要是利用水流通过管道系统以 一定速度从特制的喷头喷出 在空气中分散成细小的水滴着落在花草植物 作物及周围的地面上 从而达到及时补充水分的目的 该系统具有用水量少 冲击力小的灌溉特性 适用于栽培密度大 植被柔软细嫩的植物 自动浇水器的诞生时随着人们生活水平的提高和生活节奏的加快而诞生的一 种懒人园艺用品 它把微喷的概念应有家庭盆花浇灌中 通过相应地改进 达到合理给盆花自动浇 水的目的 早在很多年前 国外就已经开始普及 国内实用的电子类自动浇水器多数从国外进口的 价格 昂贵 但质量比较可靠 不过这不太适用于国内 目前国内外比较流行的是玻璃制作的自动浇水器 这种类型的浇水器多数在我国山西和浙江一带生产的 价格比较低廉 实用性没有电子类自动浇水 器好 随着国内居民消费水平和生活质量的提高 居家园艺市场异常火爆 但是由于生活节奏加快 种花容易养花难 浇水问题就暴露出来 因此国内上加已经看到了这种需求潜力 目前这类小居家 用品的厂家主要集中在广东 上海 浙江一带 现在市场上所出售的自动浇水器主要有电子类自动 浇水器和玻璃 陶瓷类自动浇水器 1 电子类自动浇水器 电子类自动浇水器又叫时控喷淋装置 系统构成为 主机 或者 主管 可以是花园管也可 以是七分之四毫米的微喷淋管 分水接头 3 通 4 通 5 通 6 通 分水器 副管 五分之三毫 米 喷淋管 雾化喷头 旋转喷头 折射雾化喷头等 电子类自动浇水器根据电源的不同分为交 精品文档 6欢迎下载 流电自动浇水器和电池自动浇水器两种 控制器的一般性能有 电磁阀控制 智能时控电路 微电 脑芯片控制 适用电源为 AC220V 50Hz 最适水压 0 3 0 6Mpa 待机功率 4VA 浇水时小于 12VA 可控制连续作业时间试 1 分钟至 168 个小时 可每天自动完成十次以上浇水作业 可每天 隔天 隔多天自动循环进行浇水 手动自动两用 每天计时误差小于正负 3 秒 电器适应环境温度为 10 50 摄氏度 相对湿度小于 90 RH 2 玻璃 陶瓷类自动浇水器 玻璃陶瓷类自动浇水器又叫自动渗水装置 它由本身材质的物理结构构成 根据器具的物理渗 水原理完成自动浇灌 当自动浇水器内部存水 自身形成一定的压力 当遇到干燥的土壤 水就会 自上而下的流出 当土壤湿润以后 会形成一个堵塞压力 从而导致水流速度变慢或者停止 器具 工艺不同 效果也不一样 当然也因土壤的疏松情况决定器具内水流的速度 当前传感器技术与单 片机技术发展迅速 其应用逐步由工业 军事等领域向其它领域渗透 已经和我们的日常生活息息 相关 而且智能家居概念也越来越受到人们的推崇 因此 微电脑控制的电子类自动浇水系统有很 好的发展前景 3 毕业设计所采用的研究方法和手段 本次毕业设计是设计一种单片机控制的自动浇水系统 实现室内盆花浇水的自动化系统 该系 统可对土壤的湿度进行监控 并对作物进行适时适量的浇水 其核心是单片机和温湿度采集和显示 电路以及浇水驱动电路构成的检测控制部分 主要研究土壤湿度与浇水量之间的关系 浇灌控制技 术及设备系统的硬件 软件编程各个部分 检测部分 单片机选用 AT89C51 单片机 软件选用 C51 语言编程 土壤温湿度采集于显示电路可将检测到的土壤温湿度模拟量放大转换成数字量通过单片 机内程序控制精确的将温度与湿度分别显示在 LCD 显示屏上 同时把程序发给另外一块单片机 通 过单片机内的中断服务程序判断是否要给盆花浇水 若需浇水 则单片机系统发出浇水信号 开始 浇水 若不需要浇水 则进行下一次循环检测 在浇水系统中也同时设计一个定时浇水部分 通过 按键开关设置不同的浇水时间段 在时间段以内时 单片机驱动浇水系统 开始浇水 如不在时间 段内 则不浇水 精品文档 7欢迎下载 目录 1 AT89C51 1 1 1 AT89C51 的简介 1 1 2 AT89C51 单片机的基本组成 1 1 3 AT89C51 主要特性 2 1 4 AT89C51 的管脚说明 2 1 5 AT89C51 单片机的存储器 4 1 6 振荡电路和时钟 5 1 7 AT89C51 的中断系统 6 1 7 1 中断系统结构和中断控制 6 1 7 2 中断响应过程 8 1 8 定时器 计数器 8 1 8 1 定时器 计数器 0 和 1 简介 8 1 8 2 与定时器 计数器 0 和 1 相关的特殊功能寄存器 9 2 LED 数码管显示 11 2 1 LED 显示器的简介 11 3 ADC0809 13 3 1 ADC0809 的简介 13 3 2 ADC0809 引脚图 13 3 3 ADC0809 的主要特性 14 精品文档 8欢迎下载 3 4 ADC0809 的内部结构 14 3 5 ADC0809 的工作过程 15 4 盆花自动浇水系统的设计 18 4 1 土壤温湿度采集与显示 18 4 1 1 硬件电路设计 18 4 1 2 具体的土壤温湿度采集于显示系统硬件电路 18 4 1 3 系统软件设计 19 4 2 定时器部分 22 4 2 1 按键开关操作简介 22 4 2 2 定时器部分硬件电路设计 23 4 2 3 定时器部分硬件电路 23 5 总结 24 6 致谢 25 7 参考文献 26 8 附录 27 附录 A Protues 仿真图 27 精品文档 1欢迎下载 1 AT89C51 1 1 AT89C51 的简介 AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器的低电压 高性能 CMOS8 位微处理器 俗称单片机 单片机的可擦除只读存储器可以反复擦除 100 次 该器件采用 ATMEL 高密度非易失存 储器制造技术制造 与工业标准的 MCS 51 指令集合输出管脚相兼容 由于将多功能 8 位 CPU 和闪 烁存储器组合在单个芯片中 ALMEL 的 AT89C51 是一种高效微控制器 AT89C51 单片机为很多嵌入 式控制系统提供了一种灵活性高且廉价的方案 1 2 AT89C51 单片机的基本组成 AT89C51 由一个 8 位的微处理器 128KB 片内数据存储器 RAM 21 个特殊功能寄存器 SFR 3KB 片内程序存储器 Flash ROM 64KB 可寻址片内外一编址的 ROM 64KB 可寻址片外的 RAM 4 个 8 位并 行 I O 接口 P0 P3 一个全双工通用异步串行接口 UART 两个 16 位的定时器 计数器 具有位 操作功能的布尔处理机及位寻址功能的五个中断源 两个优先级的中断控制系统以及片内振荡器和 时钟产生电路 其基本组成框图如图 1 1 所示 图 1 1 AT89C51 单片机的基本组成 精品文档 2欢迎下载 1 3 AT89C51 主要特性 1 与 MCS 51 兼容 2 4K 字节可编程闪烁存储器 3 寿命 1000 写 擦循环 4 数据保留时间 10 年 5 全静态工作 0Hz 24Hz 6 三级程序存储器锁定 7 128 8 位内部 RAM 8 32 可编程 I O 线 9 两个 16 位定时器 计数器 10 5 个中断源 11 可编程串行通道 12 低功耗的闲置和掉电模式 13 片内振荡器和时钟电路 1 4 AT89C51 的管脚说明 AT89C51 的引脚图如图 1 2 所示 各引脚的具体说明如下 VCC 供电电压 GND 接地 P0 口 P0 口为一个 8 位漏级开路双向 I O 口 每脚可吸收 8TTL 门电流 当 P0 口的管 脚第一次写 1 时 被定义为高阻输入 P0 能够用于外部程序数据存储器 它可以被定义为数据 地址的低八位 在 FIASH 编程时 P0 口作为原码输入口 当 FIASH 进行校验时 P0 输出原 码 此时 P0 外部必须接上拉电阻 P1 口 P1 口是一个内部提供上拉电阻的 8 位双向 I O 口 P1 口缓冲器能接收输出 4TTL 门电流 P1 口管脚写入 1 后 被内部上拉为高 可用作输入 P1 口被外部下拉为低电平时 将输出电流 这是由于内部上拉的缘故 在FLASH 编程和校验时 P1 口作为低八位地址接收 精品文档 3欢迎下载 P2 口 P2 口为一个内部上拉电阻的 8 位双向 I O 口 P2 口缓冲器可接收 输出 4 个 TTL 门电流 当 P2 口被写 1 时 其管脚被内部上拉电阻拉高 且作为输入 并因此作为输入时 P2 口的管脚被外部拉低 将输出电流 这是由于内部上拉的缘故 P2 口当用于外部程序存储 器或 16 位地址外部数据存储器进行存取时 P2 口输出地址的高八位 在给出地址 1 时 它利用内部上拉优势 当对外部八位地址数据存储器进行读写时 P2 口输出其特殊功能寄存 器的内容 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号 P3 口 P3 口管脚是 8 个带内部上拉电阻的双向 I O 口 可接收输出 4 个 TTL 门电流 当 P3 口写入 1 后 它们被内部上拉为高电平 并用作输入 作为输入 由于外部下拉为低电平 P3 口将输出电流 ILL 这是由于上拉的缘故 P3 口也可作为 AT89C51 的一些特殊功能口 如下所示 各口管脚 备选功能 P3 0 RXD 串行输入口 P3 1 TXD 串行输出口 P3 2 INT0 外部中断 0 P3 3 INT1 外部中断 1 P3 4 T0 记时器 0 外部输入 P3 5 T1 记时器 1 外部输入 P3 6 WR 外部数据存储器写选通 P3 7 RD 外部数据存储器读选通 P3 口同时为闪烁编程和编程校验接收一些控制信号 RST 复位输入 当振荡器复位器件时 要保持RST 脚两个机器周期的高电平时间 ALE PROG 当访问外部存储器时 地址锁存允许的输出电平用于锁存地址的地位字节 在 FLASH 编程期间 此引脚用于输入编程脉冲 在平时 ALE 端以不变的频率周期输出正脉冲信 号 此频率为振荡器频率的 1 6 因此它可用作对外部输出的脉冲或用于定时目的 然而要注 意的是 每当用作外部数据存储器时 将跳过一个ALE 脉冲 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0 此时 ALE 只有在执行 MOVX MOVC 指令是 ALE 才起作用 另外 该引脚 被略微拉高 如果微处理器在外部执行状态ALE 禁止 置位无效 PSEN 外部程序存储器的选通信号 在由外部程序存储器取指期间 每个机器周期两次 PSEN 有效 但在访问外部数据存储器时 这两次有效的 PSEN 信号将不出现 精品文档 4欢迎下载 EA VPP 当 EA 保持低电平时 则在此期间外部程序存储器 0000H FFFFH 不管是否 有内部程序存储器 注意加密方式 1 时 EA 将内部锁定为 RESET 当 EA 端保持高电平时 此间内部程序存储器 在 FLASH 编程期间 此引脚也用于施加 12V 编程电源 VPP XTAL1 反向振荡放大器的输入及内部时钟工作电路的输入 XTAL2 来自反向振荡器的输出 图 1 2 AT89C51 的引脚图 1 5 AT89C51 单片机的存储器 在单片机中 存储器分为程序存储器 ROM 和数据存储器 RAM 并且两个存储器是独立编址 的 AT89C51 单片机芯片内配置有 8KB 0000H 1FFFH 的 Flash 程序存储器和 256 字 00H FFH 的数据存储器 RAM 根据需要可外扩到最大 64KB 的程序存储器和 64KB 的数据存储器 因此 AT89C51 的存储器结构可分为 4 个部分 片内程序存储器 片外程序存储器 片内数据存 储器和片外程序存储器 如果以最小系统使用单片机 即不扩展 则AT89C51 的存储器结构就 较简单 只有单片机自身提供的 8Flash 程序存储器和 256 字节数据存储器 RAM 图 1 3 给出了 AT89C51 单片机的存储器分布空间 左侧框中为单片机自身提供的 8KBFlash 程序存储器和 256 字节数据存储器 RAM 右侧为可扩展的 64KB 的程序存储器 ROM 和 64KB 的数据存储器 RAM 精品文档 5欢迎下载 图 1 3 存储器空间分布 1 程序存储器 AT89C51 单片机出厂时片内已带有 8KB 的 Flash 程序存储器 使用时 引脚 EA 要按高电 平 5V 这时 复位后 CPU 从片内 ROM 区 0000H 单元开始读取指令代码 一直运行到 1FFFH 单元 如果外部扩展有程序存储器 ROM 则 CPU 会自动转移到片外 ROM 空间 2000H FFFH 读取 指令代码 2 数据存储器 AT89C51 单片机出厂时片内已带有 256 字节的数据存储器 RAM 如果不够用 可以在片外 扩展 最多可扩展 64KB RAM 单片机自带的数据存储器 RAM 结构如图 2 4 所示 此字节单元 00H FFH 的低 128 字节 00H 7FH 单元为用户使用区 高 128 字节 80H FFH 单元为特殊功能寄存器 SFR 区 片内数据存储器的 00H 7FH 单元又划分为 3 块 00H 1FH 块是工作寄存器所用 20 2FH 块是位寻址功能的单元区 30H 3FH 是普通 RAM 区 工作寄存器又分为 4 组 在当前的运行程 序中只有一组是被激活的 谁被激活有程序状态寄存器PEW 的 RS1 RS0 两位决定 1 6 振荡电路和时钟 在 AT89C51 芯片内部 有一个振荡电路和时钟发生器 引脚XTAL1 和 XTAL2 之间接入晶 体振荡器和电容后构成内部时钟方式 也可以使用外部振荡器 由外部振荡器产生的信号直接 加载到振荡器的输入端 作为 CPU 的时钟源 称为外部时钟方式 采用外部时钟方式时 外部 振荡器的输出信号接至 XTAL1 XTAL2 悬空 两种方式的电路连接 图 1 6 所示 大多数的单片 机采用内部时钟方式 本次设计亦然 在 AT89C51 单片机内部 引脚 XTAL2 和引脚 XTAL1 连接着一个高增益反相放大器 XTAL1 引脚是反相放大器的输入端 XTAL2 引脚是反相放大器的输出端 芯片内部的时钟发生器是一个二分频触发器 振荡器的输出fosc 为其输入 输出为两相 时钟信号 状态时钟信号 频率为振荡器输出信号频率 fosc 的二分之一 状态时钟经三分频 后为低字节地址锁存信号 ALE 频率为振荡器输出信号频率 fosc 的六分之一 经六分频后为 机器周期信号 频率为 fosc 12 C1 C2 一般取 20 30pF 的陶瓷电容器 图 1 4 AT89C51 振荡器的连接方式 精品文档 6欢迎下载 1 7 AT89C51 的中断系统 为了提高系统的工作效率 AT89C51 单片机设置了中断系统 采用中断方式与外设进行数 据传送 所谓 中断 是指单片机在执行某一段程序的过程中 由于某种原因 如异常情况 或特殊请求 单片机暂时中止正在执行的程序 而去执行相应的处理程序 待处理结束后 再返回到被打断的程序除 继续执行原程序的过程 1 7 1 中断系统结构和中断控制 AT89C51 有六个固定的可屏蔽中断源 分别是三个片内定时器 计数器溢出中断 TF0 TF1 和 TF2 两个外部中断 INT0 P3 2 和 INT1 P3 3 一个片内串行口中断 T1 或 RI 6 个中断 源有两个中断优先级 可形成中断嵌套 它们在程序存储器中各有固定的中断入口地址 由此 进入相应的中断服务程序 引起 6 个中断源的符号 名称及产生的条件如下 INT0 外部中断 0 由 P3 2 端口线引入 低电平或下降沿引起 INT1 外部中断 1 由 P3 3 端口线引入 低电平或下降沿引起 T0 定时器 计数器 0 中断 由 T0 记满回零引起 T1 定时器 计数器 1 中断 由 T1 记满回零引起 T1 RI 串行口 I O 中断 串行口完成一帧字符发送 接收后引起中断 T2 定时器 计数器 2 中断 由 T2 记满回零引起 在本次设计中采用了定时器 计数器 0 中断 它的中断控制寄存器包括定时器 计数器 0 1 控制寄存器 TCON 和中断允许控制寄存器 IE 1 定时器控制寄存器 TCON TCON 是定时器 计数器和外部中断两者合用的一个可寻址的特殊功能寄存器 它的格式如下 D7D6D5D4D3D2D1D0 TF1TR1TF0TR0IE1IT1IE0IT0 各控制位定义如下 精品文档 7欢迎下载 TF1 定时器 计数器 1 溢出中断请求标志位 当定时器 计数器 1 计数产生溢出时 由内 部硬件置位 TF1 向 CPU 响应中断并转向该中断服务程序执行时 由硬件内部自动TF1 清 0 TR1 定时器 计数器 1 启动 停止位 由软件置位 复位控制位 计数器 1 的启动或停止计 数 TF0 定时器 计数器 0 溢出中断请求标志位 当定时器 计数器 0 计数产生溢出时 由内 部硬件置位 TF0 向 CPU 响应中断并转向该中断服务程序执行时 由硬件内部自动TF1 清 0 TR0 定时器 计数器 0 启动 停止位 由软件置位 复位控制定时器 计数器 0 的启动或停止计 数 IE1 外部中断请求标志位 当 CPU 检测到 INT0 低电平或下降沿且 IT1 1 时 由内部硬件 置位 IE1 标志位 IE 1 向 CPU 请求中断 当 CPU 响应中断并转向该中断服务程序执行时 由 硬件内部将 IE1 清 0 IE0 外部中断请求标志位 当 CPU 检测到 INT0 低电平或下降沿且 IT0 1 时 由内部硬 件置位 IE0 标志位 IE0 1 向 CPU 请求中断 当 CPU 响应中断并转向该中断服务程序执行时 由硬件内部将 TE0 清 0 IT1 用软件置位 复位 IT1 来选择外部中断 INT1 是下降沿触发还是电平触发中断请求 当 IT1 置 1 时 则外部中断 INT1 为下降沿触发中断请求 即 INT1 端口由前一个机器周期的高 电平跳变为下一个机器周期的低电平 则触发中断请求 当IT1 复位清 0 则 INT1 的低电平 触发中断请求 IT0 由软件置位 复位 IT0 来选择外部中断 INT0 是下降沿触发还是低电平触发中断请求 其控制原理同 IT1 1 中断允许控制寄存器 中断允许控制寄存器 IE 的格式如下 D7D6D5D4D3D2D1D0 EAET2ESET1EX1ET0EX0 各控制定义如下 EA 中断总控制位 EA 1 CPU 开中断 它是 CPU 是否响应中断的前提 在此前提下 如 果某中断源的中断允许置位 1 才能响应应该中断源的中断请求 如果EA 0 无论哪个中断源 有请求 CPU 都不予回应 精品文档 8欢迎下载 ET2 定时器 计数器 T2 中断控制位 ET2 1 允许 T2 计数溢出中断 ET 2 禁止 T2 中断 ES 串行口中断控制位 ES 1 允许串行口发送 接受中断 ES 0 禁止串行口中断 ET1 定时器 计数器 T1 中断控制位 ET1 1 允许 T1 计数溢出中断 ET1 0 禁止 T1 中 断 EX1 外部中断 1 控制位 EX1 1 允许中断 EX 0 禁止外部中断 1 中断 ET0 定时器 计数器 T0 中断控制位 ET0 1 允许 T0 计数溢出中断 ET0 0 禁止 T0 中 断 EX0 外部中断 0 控制位 EX0 1 允许中断 EX0 0 禁止外部中断 0 中断 1 7 2 中断响应过程 CPU 中断处理从响应中断 控制程序转向对应的中断矢量地址入口处执行中断服务程序 到 执行返回 RET1 指令为止 中断响应可分为以下几个步骤 1 保护断点 即保存下一个将要执行的指令的地址 把这个地址送入堆栈 2 寻找中断入口 根据 6 个不同的中断源所产生的中断 中断系统必须能够正确地识别中断 源 查找 6 个不同的入口地址 以上工作是由单片机自动完成的 与编程者无关 在6 个入 口地址处存放有中断处理程序 2 执行中断处理程序 4 中断返回 执行完中断指令后 从中断处返回到朱程序 继续执行 1 8 定时器 计数器 AT89C51 单片机内部设有两个 16 位可编程定时器 计数器 即定时器 计数器 0 和定时器 计数器 1 除此之外还有一个可编程定时器 计数器 2 1 8 1 定时器 计数器 0 和 1 简介 定时器 计数器 0 和 1 内部有一个计数寄存器 THx 和 TLx 它实际上是一个累加寄存器 加 1 计数 定时器和计数器共用这个寄存器 但定时器 计数器同一时刻只能工作在其中一种 方式下 不可能既工作在定时器方式 同时又工作在计数器方式 这两个工作方式的根本区别 是在于计数脉冲的来源不同 工作在定时器方式时 对振荡器12 分频的脉冲计数 即每过一 精品文档 9欢迎下载 个机器周期 1 个机器周期在时间上和 12 个振荡周期的时间相等 计数寄存器中的值就加 1 工作在计数器方式时 计数器不是来自内部的机器周期 而是来自外部输入 对定时器 计数器 0 定时器 计数器 1 计数脉冲分别来自 T0 T1 引脚 当这些引脚上输入的信号产生 高电平至低电平的负跳变时 计数器寄存器的值就加1 单片机每个机器周期都要对对外部输 入进行采样 如果在第一个周期 即第三个机器周期计数寄存器的值才增加1 1 8 2 与定时器 计数器 0 和 1 相关的特殊功能寄存器 1 计数器寄存器 TH0 TL0 和 TH1 TL1 计数寄存器是 16 位的 再启动定时器时需要对它设定初始值 THx 是计数器寄存器的高 8 位 THx 是计数寄存器的低 8 位 TH0 TL0 对应 T C0 TH1 TL1 对应 T C1 2 定时器 计数器控制寄存器 TCON 的格式如下 TF1TR1TF0TR1IE1IT1IE0IT0 TF1 为 T C1 的溢出标志 溢出时由硬件置 1 进入中断后又由硬件自动清 0 TR1 为 T C1 的启动和停止位 由软件控制 置 1 时启动 T C1 清 0 时停止 T C1 TF0 和 TR0 的功能和使用方法以 TF1 TR1 类似 只是它们针对的是 T C0 3 定时器 计数器方式控制寄存器 TMOD 定时器 计数器方式控制寄存器 TMOD 的格式如下所示 它的控制位都是由软件控制的 其 中高 4 位是针对 T C1 的 低 4 位是针对 T C0 的 其功能和使用方法相似 GATEM1M0GATEM1M0 现在以 T C0 来说明各控制位的使用方法 GATE 是一个选通位 当 GATE 位置 1 时 T C0 受到双重控制 只有 INT0 为高电平且 TR0 位置 1 是 T C0 才开始工作 当 GATE 位清 0 时 T C0 仅受到 TR0 的控制 C T 用来选择工作在定时器方式还是计数器方式 当该位置1 时工 作在计数器方式 清 0 时工作在定时器方式 M1 和 M0 联合起来用于选择操作模式 一共有四 种操作模式 如表所示 精品文档 10欢迎下载 表 1 1 定时器 计数器的四种模式 M1M0操作模式计数器配置 00模式 013 位计数器 10模式 2自动重转载的 8 位计数器 10模式 2自动重转载的 8 位计数器 11模式 3T0 分为两个 8 位计数器 T1 停止计数 精品文档 11欢迎下载 2 LED 数码管显示 2 1 数码管介绍 数码管是一种半导体发光器件 其基本单元是发光二极管 数码管按段数分为七 段数码管和八段数码管 八段数码管比七段数码管多一个发光二极管单元 多一个小 数点显示 按能显示多少个 8 可分为 1 位 2 位 4 位等等数码管 按发光二极管单元连接方式分为共阳极数码管和共阴极数码管 共阳数码管 是指将所有发光二极管的阳极接到一起形成公共阳极 COM 的数码管 共阳数码管在应 用时应将公共极 COM 接到 5V 当某一字段发光二极管的阴极为低电平时 相应字段就 点亮 当某一字段的阴极为高电平时 相应字段就不亮 共阴数码管是指将所有发光 二极管的阴极接到一起形成公共阴极 COM 的数码管 共阴数码管在应用时应将公共极 COM 接到地线 GND 上 当某一字段发光二极管的阳极为高电平时 相应字段就点亮 当 某一字段的阳极为低电平时 相应字段就不亮 2 3 1 数码管概述 e 1 d 2 dp 3 c 4 g 5 S4 6 b 7 S3 8 S2 9 f 10 a 11 S1 12 LE D A F B E D dp C G S4 S3 S2 S1 图 5 数码管 数码显示器是一种由 LED 发光二极管组合显示字符的显示器件 它使用了 8 个 Led 发光二极管 其中七个用于显示字符 一个显示小数点 所以通称为七段发光二极 管数码显示器 4 位一体数码管 其内部段已连接好 引脚如图所示 数码管的正面朝 精品文档 12欢迎下载 自己 小数点在下方 a b c d e f g dp 为段引脚 S1 S2 S3 S4 分别表 示四个数码管的位 3 ADC0809 3 1 ADC0809 的简介 ADC0809 其实就是美国国家半导体公司生产的 CMOS 工艺 8 通道 8 位逐次逼近式 A D 模数 转换器 其内部有一个 8 通道多路开关 它可以根据地址码锁存译码后的信号 只选通8 路 模拟输入信号中的一个进行 A D 转换 是目前国内应用最广泛的 8 位通用 A D 芯片 3 2 ADC0809 引脚图 图 3 1 ADC0809 引脚图 ADC0809 主要信号引脚的功能说明如下 IN7 IN0 模拟量输入通道 ALE 地址锁存允许信号 对应 ALE 上跳沿 A B C 地址状态送入地址锁存器中 START 转换启动信号 START 上升沿时 复位 ADC0809 START 下降沿时启动芯片 开 始进行 A D 转换 在 A D 转换期间 START 应保持 低电平 本信号有时简写为 ST 精品文档 13欢迎下载 A B C 地址线 通道端口选择线 A 为低地址 C 为高地址 引脚图中为 ADDA ADDB 和 ADDC 其地址状态与通道对应关系见表 1 CLK 时钟信号 ADC0809 的内部没有时钟电路 所需时钟信号由外界提供 因此有时钟 信号引脚 通常使用频率为 500KHz 的时钟信号 EOC 转换结束信号 EOC 0 正在进行转换 EOC 1 转换结束 使用中该状态信号即可 作为查询的状态标志 又可作为中断请求信号使用 D7 D0 数据输出线 为三态缓冲输出形式 可以和单片机的数据线直接相连 D0 为 最低位 D7 为最高 OE 输出允许信号 用于控制三态输出锁存器向单片机输出转换得到的数据 OE 0 输 出数据线呈高阻 OE 1 输出转换得到的数据 Vcc 5V 电源 Vref 参考电源参考电压用来与输入的模拟信号进行比较 作为逐次逼近的基准 其典 型值为 5V Vref 5V Vref 5V 3 3 ADC0809 的主要特性 1 8 路 8 位 A D 转换器 即分辨率 8 位 2 具有转换起停控制端 3 转换时间为 100 s 4 单个 5V 电源供电 5 模拟输入电压范围 0 5V 不需零点和满刻度校准 6 工作温度范围为 40 85 摄氏度 7 低功耗 约 15mW 3 4 ADC0809 的内部结构 ADC0809 是 CMOS 单片型逐次逼近式 A D 转换器 内部结构如图所示 它由 8 路模拟开关 地址锁存与译码器 比较器 8 位开关树型 D A 转换器 逐次逼近 精品文档 14欢迎下载 图 3 2 ADC0809 的内部结构 3 5 ADC0809 的工作过程 首先输入 3 位地址 并使 ALE 1 将地址存入地址锁存器中 此地址经译码选通8 路模拟 输入之一到比较器 START 上升沿将逐次逼近寄存器复位 下降沿启动 A D 转换 之后 EOC 输出信号变低 指示转换正在进行 直到A D 转换完成 EOC 变为高电平 指示 A D 转换结 束 结果数据已存入锁存器 这个信号可用作中断申请 当OE 输入高电平 时 输出三态门打 开 转换结果的数字量输出到数据总线上 4 盆花自动浇水系统的设计 该系统包括土壤 干湿度采集与显示系统和定时器的设置与显示系统两个系统 4 1 土壤温湿度采集与显示 土壤温湿度采集与显示系统以单片机 AT89C51 为控制核心 通过软件设置达到具体动作实 现 土壤的温湿度是由 ADC0809 和两个点位器进行模拟并送入单片机 通过单片机的I O 口 精品文档 15欢迎下载 把检测到的土壤温湿度值用 LCD 显示出来 同时 如果系统在智能浇水设置情况下 则该值与 设定的浇水上下限值相比较 若低于下限值 则单片机发出一个控制信号 开始浇水 若高于 上限值时 单片机再发出一个控制信号控制 停止浇水 如果系统设置在手动浇水情况下 则 按照设定好的定时浇水时间进行浇水 温湿度检测电路把检测到的土壤温湿度值显示在LCD 上 以达到对土壤温湿度实时监测的目的 4 1 1 硬件电路设计 土壤温湿度检测与控制系统由 AT89C51 单片机 ADC0809 电位器 LCD 显示屏 电阻等 组成 对于 LCD 显示屏将 D0 D7 通过排阻 RESPACK8 连接到单片机的 P0 0 P0 7 上 E R W RS 与 P3 7 P3 6 P3 5 连接 4 1 2 具体的土壤温湿度采集于显示系统硬件电路 精品文档 16欢迎下载 图 4 1 土壤温湿度采集于显示系统硬件电路连接图 4 1 3 系统软件设计 程序头函数 include 宏定义 define uint unsigned int define uchar unsigned char define Data ADC0809 P1 管脚声明 sbit Feng P3 0 ADC0809 sbit ST P3 3 sbit EOC P3 4 sbit OE P3 2 按键 sbit Key1 P3 5 sbit Key2 P3 6 sbit Key3 P3 7 显示数组0 9 F uchar Data 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f 0 x71 0 x3f sbit Wei1 P2 7 sbit Wei2 P2 6 sbit Wei3 P2 5 sbit Wei4 P2 4 函数声明 extern uchar ADC0809 void Display uchar X uchar Data void delay uint t 酒精含量变量 uchar temp 0 蜂鸣器变量 uchar FF 125 显示模式 uchar Mode 0 uchar p 精品文档 17欢迎下载 void main while 1 正常模式 if Mode 0 读取 AD 值 temp ADC0809 for p 0 pFF Feng 0 else Feng 1 调整模式 else Display 1 FF 功能键 if Key3 0 Feng 0 delay 100 while Key3 0 if Mode 0 Display 0 temp else Display 1 FF if Mode 0 Mode 1 else Mode 0 精品文档 18欢迎下载 Feng 1 增加 if Key2 0 delay 100 while Key2 0 Display 1 FF FF if FF 251 FF 250 Feng 1 减少 if Key1 0 delay 100 while Key1 0 Display 1 FF FF if FF 0 xff FF 0 Feng 1 ADC0809 读取信息 uchar ADC0809 uchar temp 0 x00 初始化高阻太 OE 0 转化初始化 ST 0 开始转换 ST 1 ST 0 外部中断等待 AD 转换结束 精品文档 19欢迎下载 while EOC 0 读取转换的 AD 值 OE 1 temp Data ADC0809 OE 0 return temp 延时 void delay uint t uint i j for i 0 i t i for j 0 j 10 j 显示 X 表示状态 Data 表示数据 void Display uchar X uchar Data Wei1 1 Wei2 1 Wei3 1 Wei4 1 P0 0 xff 正常模式 if X 0 P0 Data 11 非正常 else P0 Data 10 Wei1 0 Wei2 1 Wei3 1 Wei4 1 delay 10 Wei1 1 Wei2 1 Wei3 1 Wei4 1 精品文档 20欢迎下载 P0 Data Data 100 Wei1 1 Wei2 0 Wei3 1 Wei4 1 delay 10 Wei1 1 Wei2 1 Wei3 1 Wei4 1 P0 Data Data 10 10 Wei1 1 Wei2 1 Wei3 0 Wei4 1 delay 10 Wei1 1 Wei2 1 Wei3 1 Wei4 1 P0 Data D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025有关合同履行的具体规定
- 2025【餐饮业连锁经营】:区域代理合同B
- 2025年保密考试及答案
- 天津编导联考真题及答案
- 2025年pccm考试题及答案
- 水质溯源调查方案范本
- 德州不锈钢风管施工方案
- 丘陵地区旱改水施工方案
- 2025房产交易简化版合同
- 安庆楼顶发光字施工方案
- 【幼儿园自主游戏开展现状、问题及改进建议研究6500字(论文)】
- 2025年湖南株洲市工会社会工作者招聘30人考试笔试试卷【附答案】
- 2025年9月 基孔肯雅热疫情防控工作的经验总结报告
- 第2课《中国人首次进入自己的空间站》教学设计-统编版语文八年级上册
- 新能源销售基础知识培训课件
- 上海婚恋婚介培训课件
- 植物的身体说课课件
- 烧结工艺培训课件
- 外宾参观活动方案
- 1.4理解与感知1812序曲课件-高中音乐湘教版必修音乐鉴赏
- 乡镇卫生院管理制度
评论
0/150
提交评论