基于单片机的数据采集系统的硬件设计和软件设计(编辑修改稿)内容摘要:

也可以提供低 8位地址和 8位数据的复用总线。 此时, P0 口内部上拉电阻有效。 在 Flash ROM 编程时, P0 端口接收指令字节;而在校验程序时,则输出指令字节。 验证时,要求外接 一个 上拉电阻。 P1 口双向 8位 I/O口 P1 端口( ~ , 40~ 44引脚 ,1~ 3 引脚): P1口是一个带 有 内部上拉电阻的 8位双向 I/O 口。 P1的输出缓冲器可驱动(吸收或者输出电流方式) 4个 TTL 输入。 对端口写入 1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。 P1 口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流。 此外, 和 还可以作为定时器 /计数器 2 的外部技术输入( )和定时器 /计数器 2 的触发输入( )。 P2 端口( ~ , 18~ 25 引脚): P2口是一个带内部上拉电阻的 8 位双向 I/O 端口。 P2的输出缓冲器可以驱动(吸收或输出电流方式) 4个 TTL 输入。 对端口写入 1时,通过内部的上拉电阻把端口拉到高电平, 这时可用作输入口。 P2作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。 在访问外部程序存储器和 16位地址的外部数据存储器(如执行“ MOVX @DPTR”指令)时, P2 送出高 8位地址。 在访问 8 位地址的外部数据存储器(如执行“ MOVX @R1”指令)时, P2 口引脚上的内容(就是专用寄存器( SFR)区中的 P2 寄存器的内容),在整个访问期间不会改变。 P3 端口( ~ , 7~ 13 引脚): P3是一个带内部上拉电阻的 8位双向 I/O 端口。 P3 的输出缓冲器可驱动(吸收或输出电流方式) 4 个 TTL 输入。 对 端口写入 1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。 P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流。 (5 引脚 ):串口 1数据接收端。 (7 引脚 ):串口 1数据发送端。 RST( 4引脚):复位输入。 当输入连续两个机器周期以上高电平时为有效,用来完成单片机的复位初始化操作。 看门狗计时完成后, RST引脚输出 96 个晶振周期的高电平。 特殊寄存器 AUXR(地址 8EH)上的 DISRTO 位可以使此功能无效。 DISRTO 默认状态下,复位高电平有效。 P4 口 双向 8位 I/O 口 DHT11 数字温湿度传感器 ◆相对湿度和温度测量 ◆全部校准,数字输出 ◆卓越的长期稳定性 ◆无需额外部件 ◆超长的信号传输距离 ◆超低能耗 ◆ 4 引脚安装 ◆完全互换 产品概述 DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术, 确保产品具有极高的可靠性和卓越的长期稳定性。 传感器包括一个电阻 感湿元件和一个 NTC测温元件,并与一个高性能 8位单片机相连接。 因此该产品具有品质卓越 、超快响应、抗干扰能力强、性价比 高等优点。 每个 DHT11 传感器都在极为精确的湿度校验室中进行校准。 校准系数以程序的形式存在 OTP 内存中,传感器内部在检测型号的处理过程中要调用这些校准系数。 单线制串行接口,使系统集成变得简易快捷。 超小的体积、极低的功耗。 产品为 4针单排引脚封装,连接方便。 DHT11 实物如图 所示 图 DHT11 传感器实物图 接口说明 引脚介绍: Pin1: (VDD),电源引脚,供电电压为 Pin2:( DATA),串行数据,单总线。 Pin3:( NC),空脚,悬浮即可。 Pin4( VDD),接地端,接电源负极。 串行接口 (单线双向) DATA 用于微处理器与 DHT11 之间的通讯和同步 ,采用单总线数据格式 ,一次通讯时间 4ms 左右 ,数据分小数部分和整数部分 ,具体格式在下面说明 ,当前小数部分用于以后扩展 ,现读出为零 .操作流程如下 : 一次完整的数据传输为 40bit,高位先出。 数据格式 :8bit 湿度整数数据 +8bit 湿度小数数据 +8bi 温度整数数据 +8bit 温度小数数据 +8bit 校验和 数据传送正确时校验和数据等于 “ 8bit 湿度整数数据 +8bit 湿度小数数据 +8bi 温度整数数据 +8bit 温度小数数据 ” 所得结果的末 8 位。 用户 MCU发送一次开始信号后 ,DHT11从低功耗模式转换到高速模式 ,等待主机开始信号结束后 ,DHT11 发送响应信号 ,送出 40bit 的数据 ,并触发一次信号采集 ,用户可选择读取部分数据 .从模式下 ,DHT11 接收到开始信号触发一次温湿度采集 ,如果没有接收到主机发送开始信号 ,DHT11 不会主动进行温湿度采集 .采集数据后转换到低速模式。 通讯过程如图 所示 图 DHT11 通讯过程 总线空闲状态为高电平 ,主机把总线拉低等待 DHT11响应 ,主机把总线拉低必须大于 18毫秒 ,保证 DHT11能检测到起始信号。 DHT11接收到主机的开始信号后 ,等待主机开始信号结束 ,然后发送 80us 低电平响应信号 .主机发送开始信号结束后 ,延时等待 2040us 后 , 读取 DHT11 的响应信号 ,主机发送开始信号后 ,可以切换到输入模式 ,或者输出高电平均可 , 总线由上拉电阻拉高。 通讯初始化要求如图 所示。 图 总线为低电平 ,说明 DHT11 发送响应信号 ,DHT11 发送响应信号后 ,再把总线拉高80us,准备发送数据 ,每一 bit数据都以 50us低电平时隙开始 ,高电平的长短定了数据位是 0还是 .如果读取响应信号为高电平 ,则 DHT11 没有 响应 ,请检查线路是否连接正常 .当最后一 bit 数据传送完毕后, DHT11 拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。 数字 0信号表示方法如图 所示 图 数字 0信号表示方法 数字 1信号表示方法 .如图 图 数字 1信号表示方法 软件开发平台介绍 KEIL C51 开发软件 KeilC51 软件是德国公司 KEIL Software 开发的单片机语言编译器,它符合ANSI 标准,生成的代码执行非常快,占用空间小,执行的速度与汇编语言程序相当。 目前 KEIL 公司已经推出 以上版本的 CX51 编译器 ,提供了全新的单片机 C 语言开发 环境,同时继续保留了汇编语言简单、高效的特点。 同时, KEIL Software 公司已经把 CX51 程序编译器集成到 uVision2 开发环境中,它包括项目( project)管理器、 CX51 程序编译器、 AX51 宏编译器、 BL51/LX51连接定位器、 RTX51 实时操作系统、 Simulator 软件模拟器以及 Monitor51 硬件目标调试器,所有这些功能都可以在 uVision2 开发环境快速高效的独立进行。 同时使 uVision2 在单片机软件开发中具有如下优点。 (1) uVision2 提供强大的项目管理功能,可以方便实现程序的模块化设计。 在它内部还集成了源级浏览器( Browser)用户利用符号信息可以简单、快速的浏览源文件。 (2) uVision2 内部有一个元件数据库( device database)含有不同型号单片机的片上资源信息,通过它可以方便设置程序编译器 CX5 AX51 宏编译器、BL51/LX51 连接定位器和调试器的本来选项,最大限度满足用户使用某种单片机的要求。 (3) uVision2 具有源程序编辑功能,允许用户在程序调试中设置运行断点,便于快速检查和修改错误。 它具有的文件查找功能可以使用户找到单一文件或项目文件。 (4) uVision2 支持程序模拟和试验板调试两种工作方式。 以上是 uVision2 开发环境和 KEIL 软件的一些特点介绍,在使用 KEIL C51进行程序开发时,我们一般要遵循以下步骤。 (1)在开发环境中创建新的工程( project),并为此工程选择合适的 MCU。 (2)使用 uVision2 中的程序编辑器编写程序代码文件,同时将文件添加到工程中去。 一个工程可以包含多个程序源文件,除此之外还可以包含库文件或文本文件。 (3)利用 uVision2 中的各个选项,设置 CX51 程序编译器、 AX51 宏编译器、BL51/LX51 连接定位器及调试器的功能。 (4)通过 uVision2 中的构造( Build)功能对程序源 文件进行编译连接,生成可执行的 HE。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。