基于at89c51单片机的大棚温湿度控制系统的毕业设计内容摘要:

存允许的输出电平用于锁存地址的地位字节。 在 FLASH 编程期间,此引脚用于输入编程脉冲。 在平时, ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。 因此它可用作对外部输出的脉冲或用于定时目的。 然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。 此 时, ALE只有在执行 MOVX, MOVC 指令是 ALE才起作用。 另外,该引脚被略微拉高。 如果微处理器在外部执行状态 ALE 禁止,置位无效。 PSEN:外部程序存储器的选通信号。 在由外部程序存储器取指期间,每个机器周期两次 /PSEN 有效。 但在访问外部数据存储器时,这两次有效的 /PSEN 信号将不出现。 EA/VPP:当 /EA 保持低电平时,则在此期间外部程序存储器( 0000HFFFFH),不管是否有内部程序存储器。 注意加密方式 1 时, /EA将内部锁定为 RESET;当/EA 端保持高电平时,此间内部程序存储器。 在 FLASH编程期间,此引脚也用于施加 12V 编程电源( VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 89C51 的存储器配置 . . 图 310 89C51 存储器配置 程序存储器 与 ROM 密切相关的两个引脚 地址锁存允许信号端 外部程序存储器允许输出信号端 当 ROM 容量不够时 ,尽量选择高容量存储器空间的单片机 ,如89C52,89C54,89C58 等 ,应避免外扩程序存储器 ,因为会增加硬件负担 . 通过 16位 PC 寻址 ,最大可寻址 64kB 地址空间 数 据存储器 数据存储器用于存放运算中间的结果、数据暂存、缓冲、标志位、待测程序等功能。 片内的 128B 的 RAM 地址为 00H~ 7FH,供用户做 RAM 用,但是在这中间的前32单元, 00H~ 1FH 即引用地址寻址做用户 RAM 用,常常做工作寄存器区,分做四组,每组由 8个单元组成通用寄存器 R0~ R7,任何时候都由其中一组作为当前工作寄存器,通过 RS0, RS1的内容来决定选择哪一个工作寄存器。 低 128 字节中的 20H~ 2FH共 16 字节可用位寻址方式访问各位,共 128 个位地址, 30H~ 7FH 共 80 个单元为用户 RAM区,作堆栈 或数据缓冲用,片内 RAM不够用时,须扩展片外数据存储器。 此时单片机通过 P2口和 P0 口选出 6位地址,使用 ALE 作低 8位的锁存信号,再由 P0口写入或读出数据。 写时用 ,读时用做外部数据存储器的选通信号 特殊功能寄存器 SFR . . 表 33 特殊功能寄存器 SFR 的位置 89C51 的工作模式 有四种工作模式 : 模式 0, 模式 1, 模式 2, 模式 3 模式 0:选择定时器的高 8 位和低 5 位组成一个 13 位定时器 /计数器。 TL低 5 位溢出时向 TH 进位, TH 溢出时向中断标志位 TF进位,并申请中断。 定时时间 t=(213初值 )振荡 周期 12;计数长度位 213=8192 个外部脉冲 模式 1:与模式 0 的唯一差别是寄存器 TH 和 TL 以全部 16位参与操作。 定时时间 t=(216初值 )振荡周期 12;计数长度位 216=65536 个外部脉冲 模式 2:把 TL0 和 TL1 配置成一个自动重装载的 8位定时器 /计数器。 TL用作 8 位计数器, TH 用以保存初值。 TL 计数溢出时不仅使 TF0 置 1,而且还自动将 TH 中的内容重新装载到 TL中。 定时时间 t=(28初值 )振荡周期 12;计数长度位 28=256 个外部脉冲 模式 3:对 T0 和 T1 不大相同 若设 T0位模式 3, TL0 和 TH0 被分为两个相互独立的 8 位计数器。 TL0 为 8位计数器,功能与模式 0和模式 1相同,可定时可计数。 . . TH0 仅用作简单的内部定时功能,它占用了定时器 T1的控制位 TR1 和中断标志位 TF1,启动和关闭仅受 TR1 控制。 定时器 T1 无工作模式 3,但 T0 在工作模式 3时 T1 仍可设置为 0~2。 温湿度传感器 SHT11 SHT11是瑞士 Ssirion公司推出的一款数字温湿度传感器芯片。 温湿度传感器 SHT11集温度传感器和湿度传感器于一体,因此采用 SHT11进行温湿度实时监测的系统具有精度高、成本低、体积 小、接口简单等优点;另外 SHT11芯片内部集成了 14位 A/D转换器,且采用数字信号输出,因此抗干扰能力也比同类芯片高。 该芯片在温湿度监测、自动控制等领域均已得到广泛应用。 该芯片广泛应用于暖通空调、汽车、消费电子、自动控制等领域。 共主要特点如下: 高度集成,将温度感测、湿度感测、信号变换、 A/D转换和加热器等功能集成到一个芯片上; 提供二线数字串行接口 SCK和 DATA,接口简单,支持 CRC传输校验,传输可靠性高; 测量精度可编程调节,内置 A/D转换器 (分辨率为 8~ 12位,可以通过对芯片内部寄存器编 程选择 ); 测量精确度高,由于同时集成温湿度传感器,可以提供温度补偿的湿度测量值和高质量的露点计算功能; 封装尺寸超小 ( mm mm),测量和通信结束后,自动转入低功耗模式; 高可靠性,采用 CMOSens工艺,测量时可将感测头完全浸于水中。 SHT11温湿度传感器采用 SMD(LCC)表面贴片封装形式,接口非常简单,引脚名称 及 各引脚的功能如下: 脚 1GND和 脚 4VDD—— 信号地和电源 ,其工作电压范围是 ~ V; 脚 2DATA和脚 3SCK—— 二线串行数字接口, DATA为数据线, SCK为时钟线; 脚 5~ 8—— 未连接。 SHT11的内部结构和工作原理 : 温湿度传感器 SHT11将温度感测、湿度感测、信号变换、 A/D转换和加热器等功能集成到一个芯片上,其内部结构如图 3所示。 该芯片包括一个电容性聚合体. . 湿度敏感元件和一个用能隙材料制成的温度敏感元件。 这两个敏感元件分别将湿度和温度转换成电信号,该电信号首先进入微 弱信号放大器进行放大;然后进入一个 14位的 A/D 转换器;最后经过二线串行数字接口输出数字信号。 SHT11在出厂前,都会在恒湿或恒温环境巾进行校准,校准系数存储在校准寄存器中;在测量过程中,校准系数会自动校准来自传感器的信号。 此外, SHT11内部还集成了一个加热元件,加热元件接通后可以将 SHT11 的温度升高 5℃ 左右,同时功耗也会有所增加。 此功能主要为了比较加热前后的温度和湿度值,可以综合验证两个传感器元件的性能。 在高湿 (95% RH)环境中,加热传感器可预防传感器结露,同时缩短响应时间,提高精度。 加热后 SHT11温度升高、相对湿度降低,较加热前,测量值会略有差异。 图 3 SHT11内部结构图 微处理器是通过二线串行数字接口与 SHT11进行通信的。 通信协议与通用的I2C总线协议是不兼容的,因此需要用通用微处理器 I/O口模拟该通信时序。 微处理器对 SHT11的控制是通过 5个 5位命令代码来实现的,命令代码的含义如表 2所示。 表 2 SHT11控制命令代码 命令代码 含 义 相对湿度传感器 温度 传感器 放大器 14 位 A/D转换器 校准存储器 I2C 总线接口 和 CRC 寄存器 VDD GND SCA DATA . . 00011 测量温度 00101 测量湿度 00111 读内部状态寄存器 00110 写内部状态寄存器 11110 复位命令,使内部状态寄存器恢复默认值。 下一次命令前至少等待 11ms 其他 保留 SHT11应用设计 : 微处理器采用二线串行数字接口和温湿度传感器芯片 SHT11进行通信,所以硬件接门设计非常简单;然而,通信协议是芯片厂家自己定义的,所以在软件设计中,需要用微处理器通用 I/O口模拟通信协议。 硬件设计 : SHT11通过二线数字串行接口来访问,所以硬件接口电路非常简单。 需要注意的地方是: DATA数据线需要外接 上拉电阻,时钟线 SCK用于微处理器和 SHT11之间通信同步,由于接口包含了完全静态逻辑,所以对 SCK最低频率没有要求;当工作电压高于 , SCK频率最高为 10MHz,而当工作电压低于 时, SCK最高频率则为 1MHz。 软件设计 : 微处理器和温湿度传感器通信采用串行二线接口 SCK和 DATA,其中 SCK为时钟线, DATA为数据线。 该二线串行通信协议和 I2C协议是不兼容的。 在程序开始,微处理器需要用一组 “ 启动传输 ” 时序表示数据传输的启动,如图 4所示。 当 SCK时钟为高电平时, DATA翻转为低 电平;紧接着 SCK变为低电平,随后又变为高电平;在 SCK时钟为高电平时, DATA再次翻转为高电平。 DATA SCK 图 4 数据传输启动时序 液晶显示 LCD1602 1602 液晶也叫 1602 字符型液晶它是一种专门用来显示字母、数字、符号等. . 的 点阵 型液晶模块它有若干个 5 7 或者 5 11 等点阵字符位组成,每个点阵字符位都可以显示一个字符。 每位之间有一个点距的间隔每行之 间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。 1602LCD 是指显示的内容为 16 2,即可以显示两行,每行 16 个字符液晶模块(显示字符和数字)。 在单片机系统中应用晶液显示器作为输出器件有以下几个优点:显示质量高、数字式接口、体积小、重量轻、功耗低。 1602LCD 主要技术参数: 显示容量 :16 2个字符 ; 芯片工作电压 :— ; 工作电流 :(); 模块最佳工作电压 :; 字符尺寸 : (W H)mm。 1602采用标准的 16脚接口,其中: 第 1脚: VSS为电源地。 第 2脚: VDD接 5V电源正极。 第 3脚: V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比 度最高(对比度过高时会 产生 “ 鬼影 ”, 使用时可以通过一个 10K的电位器调整对比度) ; 第 5脚: RW为读写信号线,高电平 “ 1” 时进行读操作,低电平 “ 0” 时进行写操作 ; 第 6脚: E(或 EN)端为使能 (enable)端。 第 7~ 14脚: D0~ D7为 8位双向数据端。 第 15~ 16脚:空脚或背灯电源。 15脚背光正极, 16脚背光负极。 1602LCD的指令说明及时序 : 1602 液晶模块内部的控制器共有 11条控制指令,如表 3所示。 1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。 (说 明: 1为高电平、 0为低电平) 表 3 1602LCD控制指令 序 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 . . 号 1 清显示 0 0 0 0 0 0 0 0 0 1 2 光标返回 0 0 0 0 0 0 0 0 1 * 3 置输入 模式 0 0 0 0 0 0 0 1 I/D S 4 显示开、关控制 0 0 0 0 0 0 1 D C B 5 光标或字符移位 0 0 0 0 0 1 S/C R/L * * 6 置功能 0 0 0 0 1 DL N F * * 7 置字符发生存储器地址 0 0 0 1 字符发生存储器地址 8 置数据存储器地址 0 0 1 显示数据存储器地址 9 读忙标志活地址 0 1 BF 计数器地址 10 写数到 CGRA,M 或 DDRAM 1 0 要写的数据内容 11 从 CGRAM 或 DDRAM 读数 1 1 读出的数据内容 指令 1:清显示,指令码 01H,光标复位到地址 00H位置。 指令 2:光标复位,光标返回到地址 00H。 指令 3:光标和显示模式设置。 I/D:光标移动方向,高电平右移,低电平左移 ; S:屏幕上所有文字是否左移或者右移。 高电平表示有效,低电平则无效。 指令 4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 ; C:控制光标的开与关,高电平表示有光标,低电平表示无光标 ; B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。 指令 5:光标或显示移位。 S/C:高电平时 移动显示的文字 , 低电平时移动光标。 指令 6:功能设置命令。 DL:高电平时为 4。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。