




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 南京信息职业技术学院 毕业设计论文 作者 学号 10619s34 系部 电子信息工程系 专业 电子信息工程技术/电子商务 题目 小型仓库温湿度监测系统 指导教师 评阅教师 完成时间: 2010 年 3 月 15 日 毕业设计(论文)中文摘要 小型仓库温湿度监测系统 摘要:仓库内要实现温湿度的精确控制必须进行多点测量。基于这 一要求,本文采用多个数字温湿度传感器 shtll 来设计仓库监测系 统,以达到简化软硬件系统设计,提高测量精度的目的。首先介绍 了 shtll 的结构特点、接口电路和工作时序,然后确定了采用多个 shtll 纽成的温湿度测量系统的软硬件设计方案,最后基于 at89s51
2、单片机设计了电路简洁、大大节省 i/o 口资源、具有现场独立显示 和远距离通信功能的多点温湿度测量系统,并编写了 pc 机端直观的 数据观测界面程序,为现代化仓库的集中管理提供了条件。 关键词:sht11;at89s51;串口通信;仓库温湿度监测系统 毕业设计(论文)外文摘要 titletitle : : small storage temperature 式 12t 中 s()为 t sht11 温度测量值,特点系数 d 、d 值见表 2-5。 12 s() t d 2 d 2 14 bit0.010.018 12 bit0.040.072 表 2-5 温度转换系数 3. 测量举例 vdd
3、d 1 d 1 5v-40.00-40.00 4v-39.75-39.50 3.5v-39.66-39.35 3v-39.60-39.28 2.5v-39.55-39.23 图 2-11 “0000100100110001” “0000100100110001”=2353 rh=c +c s()+c s() linear12rh3rh 2 =-4+0.04052353+-2.8102353 62 =75.19 %rh(未包含温度补偿) 2.22.2 单片机单片机 at89s51at89s51 本设计采用 atmei 公司的 at89s51 芯片作为微控制器。at89s51 是一个低 功耗,高性
4、能 cmos 8 位单片机。 主要性能参数: 与 mcs-51 产品指令系统完全兼容 4k 字节在系统编程(isp)flash 闪速存储器 1000 次擦写周期 4.05.5v 的工作电压范围 全静态工作模式: 0hz 33mhz 三级程序加密锁 1288 字节内部 ram 32 个可编程 i /o 口线 2 个 16 位定时/计数器 6 个中断源 全双工串口 uart 通道 低功耗空闲和掉电模式 中断可从空闲模唤醒系统 看门狗(wdt)及双数据指针 掉电标识和快速编程特性 灵活的在系统编程(isp 字节或页写模式) 2.2.12.2.1 单片机单片机 at89s51at89s51 的的结构及
5、组成 at89s51 是由 cpu、内部数据存储器 ram、内部程序存储器 rom、并行输入/ 输出(i/o)口、串口口、定时/计数器、中断系统、时钟电路等部分组成,它 们均由单一总线连接并被集成在一块半导体芯片上,即组成了单片微型计算机。 结构图如图 2-12 图 2-12 at89s51 内部结构 2.2.22.2.2 单片机单片机 at89s51at89s51 的的引脚 at89s51 采用 40 管脚双列直插 dip 封装,如图 2-13。 图 2-13 at89s51 引脚图 引脚功能说明: vcc :电源电压 vss :地 p0 口: p0 口是一组 8 位漏极开路型双向 i/0
6、口,也即地址/数据总线复 用口。作为输出口用时,每位能驱动 8 个 ttl 逻辑门电路,对端口写“ l ” 可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分 时转换地址(低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。在 f1ash 编程时, p0 口接收指令字节,而在程序校验时,输出指令字节,校验 时,要求外接上拉电阻。 p1 口: pl 是一个带内部上拉电阻的 8 位双向 i/o 口, pl 的输出缓冲级 可驱动(吸收或输出电流) 4 个 ttl 逻辑门电路。对端口写“l” ,通过内部 的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部 存在上
7、拉电阻,某个引脚被外部信号拉低时会输出一个电流( i) 。flash 编 il 程和程序校验期间, pl 接收低 8 位地址。p1.5、p1.6、p1.7 可用于程序固化 (下载)使用,如表 2-6。 表 2-6 p2 口: p2 是一个带有内部上拉电阻的 8 位双向 i/o 口, p2 的输出缓 冲级可驱动(吸收或输出电流)4 个 ttl 逻辑门电路。对端口写“ 1 ”,通 过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因 为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(i)。在 il 访问外部程序存储器或 16 位地址的外部数据存储器(例如执行 movxdp
8、tr 指 令) 时, p2 口送出高 8 位地址数据。在访问 8 位地址的外部数据存储器 (如执行 movxri 指令)时, p2 口线上的内容(也即特殊功能寄存器( sfr )区中 p2 寄存器的内容),在整个访问期间不改变。flash 编程或校验时, p2 亦接收高位地址和其它控制信号。 p3 口: p3 口是一组带有内部上拉电阻的 8 位双向 i/0 口。 p3 口输出 缓冲级可驱动(吸收或输出电流) 4 个 ttl 逻辑门电路。对 p3 口写入“ l ”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低 的 p3 口将用上拉电阻输出电流(i)。p3 口除了作为一般的 i
9、/0 口线外, il 更重要的用途是它的第二功能,如下表 2-7 所示:p3 口还接收一些用于 flash 闪速存储器编程和程序校验的控制信号。 表 2-7 rst :复位输入。当振荡器工作时, rst 引脚出现两个机器周期以上高电 平将使单片机复位。 wdt 溢出将使该引 脚输出高电平,设置 sfr auxr 的 disrt0 位(地址 8eh )可打开或关闭该 功能。 disrt0 位缺省为 reset 输出高电平 打开状态。 aleale/:当访问外部程序存储器或数据存储器时,ale(地址锁存允许)prog 输出脉冲用于锁存地址的低 8 位字节。即使不访问外部存储器, ale 仍以时 钟
10、振荡频率的 1 /6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定 时目的。要注意的是:每当访问外部数据存储器时将跳过一个 ale 脉冲。对 f1ash 存储器编程期间,该引脚还用于输入编程脉冲(prog)。如有必要,可通 过对特殊功能寄存器(sfr)区中的 8eh 单元的 d0 位置位,可禁止 ale 操作。 该位置位后,只有一条 m0vx 和 m0vc 指令 ale 才会被激活。此外,该引脚会 被微弱拉高,单片机执行外部程序时,应设置 ale 无效。 :程序储存允许()输出是外部程序存储器的读选通信号,当 psenpsen at89s51 由外部程序存储器取指令(或数据)时,每个机器
11、周期两次有效,psen 即输出两个脉冲。当访问外部数据存储器,没有两次有效的信号。 psen /vpp :外部访问允许。欲使 cpu 仅访问外部程序存储器(地址为ea 0000h ffffh),端必须保持低电平(接地)。需注意的是:如果加密位 ea lb1 被编程,复位时内部会锁存端状态。如端为高电平(接 vcc 端),eaea cpu 则执行内部程序存储器中的指令。f1ash 存储器编程时,该引脚加上 +12v 的编程电压 vpp 。 xtall :振荡器反相放大器及内部时钟发生器的输入端。 xtal2 :振荡器反相放大器的输出端。 内置看门狗电路(wdt) :由十单片机的工作常常会受到来自
12、外界电磁场的干 扰,造成程序的跑飞而陷入死循环,这样会打断程序的正常运行,从而使单片 机控制的系统无法继续工作,造成整个系统陷入停滞状态,发生不可预料的后 果。为了避免这种情况发生,本芯片内置了看门狗电路。所谓看门狗技术是一 种程序监视技术,它不断的监视程序循环运行时间,当程序出现跑飞时而陷入 死循环时,看门狗电路就会在它和单片机复位引脚相连的引脚上送出一个复位 信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便 实现了单片机的自动复位,使单片机可以在无人状态下实现连续工作。 2.2.32.2.3 存储器存储器 at89c51 内核采用程序存储器和数据存储器空间分开的结构,均
13、具有 64kb 外部程序和数据的寻址空间。 2.2.3.12.2.3.1 程序存储器程序存储器 用于存放编制好的程序和表格。rom 的 0000h-002ah 单元预留给上电复位 后引导程序地址及 5 个中断服务程序的入口地址,在实际应用系统中,主程序 的存放从 002bh 单元开始。在程序存储器中有六个单元有特定的含义: 0000h0002h:单片机复位后,pc=0000h 即从此处开始执行指令。 0003h000ah:外部中断 0 入口地址区。 000bh0012h:定时器 0 溢出中断入口地址区。 0013h001ah:外部中断 1 入口地址区。 001bh0022h:定时器溢出中断入口
14、地址区。 0023h002ah:串口口中断入口地址区。 使用时常在这些入口外安放一条绝对跳转指令,使程序跳转到拥护安排的 中断处理程序的起始地址,或从 0000h 外执行一跳转指令,跳转到用户设计的 初始程序入口。 如果 ea 引脚接地,全部程序均执行外部存储器。 若 ea 接 vcc,程序首先执行地址从 0000h-0fffh (4kb)内部程序存储器, 再执行地址为 1000h-ffffh(60kb)的外部程序存储器。 2.2.3.22.2.3.2 数据存储器数据存储器 数据存储器用于存放运算中间的结果、数据暂存、缓冲、标志位、待测程 序等功能。 片内的低 128b 的 ram 地址为 0
15、0h7fh,供用户做 ram 用,但是在这中间 的前 32 单元,00h1fh 即引用地址寻址做用户 ram 用,常常做工作寄存器区, 分做四组,每组由 8 个单元组成通用寄存器 r0r7,任何时候都由其中一组作 为当前工作寄存器,通过 rs0,rs1 的内容来决定选择哪一个工作寄存器。 片内 ram 不够用时,须扩展片外数据存储器。此时单片机通过 p2 口和 p0 口选出 6 位地址,使用 ale 作低 8 位的锁存信号,再由 p0 口写入或读出数据。 写时用,读时用做外部数据存储器的选通信号。 2.2.3.32.2.3.3 特殊功能寄存器特殊功能寄存器 sfrsfr 在内部数据存储器的 8
16、0hffh 的高 128b 单元中有 21 个特殊功能寄存器 sfr,其余单元现无定义,用户不能对这些单元进行读写操作。它们用来管理 cpu 和 i/o 口以及内部逻辑部件,在指令中专用寄存器是以存储单元方式被读 写的,专用寄存器虽有名称,但寻址时都做专用寄存器用,它们的地址是与片 内 ram 的地址相连的。下面就专用寄存器作以简单的介绍: 累加器 a:在绝大多数情况下它参与运算的一方并存放运算的结果。 寄存器 b:进行乘除运算时,寄存器 b 有特定的用途,在乘时存放一个乘 数以及积的最高位,a 中存放另一个乘数以及积的低位。除法时,b 中存放除数 及余数,而在 a 中存放被除数和商,其他情况
17、可作为普通寄存器用。 堆栈指针 sp:在子程序调用或中断时,用来暂存数据和地址,它按先进 后出的原则存储数据,它是一个八位寄存器它指出堆栈顶部在片内 ram 中的位 置,系统复位后,sp 变成 07h,使堆栈从 00 单元开始。; 数据指针 dptr:由两个字节组成,dph 字地址由 83h,dpl 由 82h,存放 一个 16 位的二进制数做地址用。 程序状态字 psw:8 位寄存器,存放程序执行过程中的各种信息。 2.2.42.2.4flashflash 闪速存储器的编程闪速存储器的编程 2.2.4.12.2.4.1 并行编程并行编程 at89s51 单片机内部有 4k 字节的可快速编程的
18、 flash 存储阵列。编程方 法可通过传统的 eprom 编程器使用高电压(+12v)和协调的控制信号进行编程。 at89s51 的代码是逐一字节进行编程的。 (一)编程方法:编程前,须按编程模式表(表 2-7)和图 2-14、图 2-15 所示设置好地址、数据及控制信号,at89s51 编程方法如下: 1 在地址线上加上要编程单元的地址信号。 2 在数据线上加上要写入的数据字节。 3 激活相应的控制信号。 4 将/vpp 端加上 +12v 编程电压。 ea 5 每对 flash 存储阵列写入一个字节或每写入一个程序加密位,加上一个 ale/编程脉冲。每个字节写入周期是自身定时的,大多数约为
19、 50us 。改prog 变编程单元的地址和写入的数据,重复 1-5 步骤,直到全部文件编程结束。 (二)数据查询:at89s5l 单片机用数据查询方式来检测一个写周期是否结束, 在一个写周期中,如需读取最后写入的那个字节,则读出的数据的最高位 (p0.7)是原来写入字节最高位的反码。写周期完成后,有效的数据就会出 现在所有输出端上,此时,可进入下一个字节的写周期,写周期开始后, 可在任意时刻进行数据查询。 (三)ready/:字节编程的进度可通过“rdy/bsy”输出信号监测,编程busy 期间,ale 变为高电平“h”后 p3.0 端电平被拉低,表示正在编程状态 (忙状态) 。编程完成后,
20、p3.0 变为高电平表示准备就绪状态。 (四)程序校验:如果加密位 lb1、lb2 没有进行编程,则代码数据可通过地 址和数据线读回原编写的数据,各加密位也可通过直接回读进行校验。 (五)读片内签名字节:at89s51 单片机内有 3 个签名字节,地址为 000h、100h 和 200h 。用于声明该器件的厂商和型号等信息,读签名字节 的过程和正常校验相仿,只需将 p3.6 和 p3.7 保持低电平,返回值意义 如下: (000h)=1eh 声明产品由 atmel 公司制造 (100h)=51h 声明为 at89s51 单片机 (200h)=06h (六)芯片擦除:在并行编程模式,利用控制信号
21、的正确组合并保持 ale/ 引脚 200ns-500ns 的低电平脉冲宽度即可完成擦除操作。在串口编 prog 程模式,芯片擦除操作是利用擦除指令进行。在这种方式,擦除周期是自 身定时的,大约为 500ms。擦除期间,用串口方式读任何地址数据,返回 值均为 00h 。 表 2-7 flash 编程模式 注: 1 芯片擦除每一 prog 脉冲为 200ns-500ns 。 2 写代码数据每一 prog 脉冲为 200ns-500ns 。 3 写加密位每一 prog 脉冲为 200ns-500ns 。 4 编程期间 p3.0 引脚输出 rdy/bsy 信号。 5 “”不需理会。 图 2-14 fl
22、ash 存储器编程(并口模式) 图 2-15 flash 存储器校验(并口模式) 数据查询: 2.2.4.22.2.4.2 串口编程串口编程 将 rst 接至 vcc,程序代码存储阵列可通过串口 isp 接口进行编程,串口接口 包含 sck 线、mosi(数据输入)和 miso(数据输出)线。将 rst 拉高后,在其 它操作前必须发出编程使能指令,编程前需将芯片擦除。芯片擦除则将存储代 码阵列全写为 ffh 。外部系统时钟信号需接至 xtal1 端或在 xtall 和 xtal2 接上晶体振荡器。最高的串口时钟(sck)不超过 l/16 晶体时钟,当晶体为 33mhz 时,最大 sck 频率为
23、 2mhz 。 (一)编程方法: 1 上电次序:将电源加在 vcc 和 gnd 引脚, rst 置为“ h ” ,如果 xtal 和 xtal2 接上晶体或者在 xtal1 接上 3-33mhz 的时钟频率,等候 10ms 。 2 将编程使能指令发送到 mosi(pl.5),编程时钟接至 sck(pl.7),此频率需 小于晶体时钟频率的 l/16 。 3 代码阵列的编程可选字节模式或页模式。写周期是自身定时的,一般不大 于 0.5ms(5v 电压时)。 4 任意代码单元均可 miso(pl.6)和读指令选择相应的地址回读数据进行校验。 5 编程结束应将 rst 置为“l”以结束操作。 6 断电
24、次序:如果需要的话按这个方法断电,假如没有使用晶体,将 xatl 置为低,rst 置低,关断 vcc 。 (二)数据查询:数据校验也可在串口模式下进行,在这个模式,在一个写周 期中,通过输出引脚 miso 串口回读一个字节数据的最高位将为最后写入 字节的反码。 (三)串口编程指令设置:串口编程指令设置为一个 4 字节协议,参见表 2-8 。 (四)并行编程接口:采用控制信号的正确组合可对 flash 闪速存储阵列中 的每一代码字节进行写入和存储器的整片擦除,写操作周期是自身定时的, 初始化后它将自动定时到操作完成。 图 2-16 flash 存储器串口下载 表 2-8 flash 串口编程指令
25、 注: 1. 当 lb3 和 lb4 加密位已编程时则不可读签名字节。 2. b1=0 b2=0 ,方式 1 ,无加密保护 b1=0 b2=l ,方式 2 ,加密位 lbl b1=1 b2=0 ,方式 3 ,加密位 lb2 b1=1 b2=1 ,方式 4 ,加密位 lb3 各加密位在方式 4 执行前需按顺序逐一操作。 复位信号为“ h ”后,建立数据前使 sck 为低电平至少为 64 个系统时钟周期,复 位脉冲是必须的。 sck 时钟频率不得大于 xtal1 时钟的 1/ 16 。 在页读/写模式,数据总是从地址 00 开始直到 255。命令字节后紧跟着高 4 位地址, 全部数据单元 256
26、字节会逐一进行读/写,此时下个指令将准备译码。 2.2.52.2.5 单片机最小系统的硬件电路单片机最小系统的硬件电路 单片机要能正常工作必须要有时钟和复位电路,单片机芯片+复位电路+时钟电 路,构成单片的最小运行环境,如图 2-17 所示。 图 2-17 2.2.5.12.2.5.1 复位电路复位电路 单片机复位是使 cpu 和系统中的其他功能部件都处在一个确定的状态,并 从这个状态开始工作,pc=0000h,从第一单元取指令执行。 单片机复位电路如图图 2-17,图中提供上电复位和按键复位两种方式。复 位条件是:必须使 rst 引脚上加上持续两个机器周期以上的高电平,点偏激才 有效复位。
27、2.2.5.22.2.5.2 时钟电路时钟电路 时钟电路是用来产生 at89s51 单片机工作时所必须的时钟信号, at89s51 本身就是一个复杂的同步时序电路,为保证工作方式的实现, at89s51 在唯一的时钟信号的控制下严格的按时序执行指令进行工作 ,时钟 的频率影响单片机的速度和稳定性。通常时钟由于两种形式:内部时钟和外部 时钟。 我们系统采用内部时钟方式来为系统提供时钟信号。at89s51 内部有一个 用于构成振荡器的高增益反向放大器,该放大器的输入输出引脚为 xtal1 和 xtal2,它们跨接在晶体振荡器和用于微调的电容,便构成了一个自激励振荡 器 电路中的 c1、c2 的选择
28、在 30pf 左右,但电容太小会影响振荡的频率、稳定性 和快速性。晶振频率为在 1.2mhz12mhz之间,频率越高单片机的速度就越 快,但对存储器速度要求就高。为了提高稳定性我们采用温度稳定性好的 npo 电容,采用的晶振频率为 12(11.0592)mhz。因此,本设计的机器周期为 1us。 2.32.3 通信模块通信模块 通信模块用于 at89s51 和后台 pc 间的通信 ,at89s51 通过串口通信把温 湿度数据传送给 pc 机,显示在用 vc 编辑一个温湿度显示的界面上,从而有利 于后台 pc 的实时监测仓库温湿度情况。 通信部分主要由一个 max232a 和两个 max485
29、构成:其中 max232a 和一个 max485 共同组成 pc 端的信号转换部分即 rs232-485 转换器;而另一个 max485 则作为单片机 at89s51 端的信号转换部分。由于 rs485 传输最长距离达 1.5km,允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和 冲突保护特性,所以更好的解决了仓库分布零散和集中管理的矛盾,也为仓库 远程控制提供了条件。如图 2-18 通信模块: 图 2-18 通信模块 rs232-485 转换器主要包括了电源、232 电平转换、485 电路三部分。本 电路的 232 电平转换电路直接使用 max232a 集成电路,485 电路采
30、用了 max485 集成电路。为了使用方便,电源部分设计成无源方式,整个电路的供电直接从 pc 机的 rs232 接口中的 dtr(4 脚)和 rts(7 脚)窃取。pc 串口每根线可以 提供大约 9ma 的电流,因此两根线提供的电流足够供给这个电路使用了。经实 验,本电路只使用其中一条线也能够正常工作。使用本电路需注意 pc 程序必须 使串口的 dtr 和 rts 输出高电平,经过 d3 稳压后得到 vcc。 max485 是通过两个引脚 re(2 脚)和 de(3 脚)来控制数据的输入和输 出。当 re 为低电平时,max485 数据输入有效;当 de 为高电平时, max485 数 据输
31、出有效。在半双工使用中,通常可以将这两个脚直接相连,然后由 pc 或者 单片机输出的高低电平就可以让 max485 在接收和发送状态之间转换。由于本电 路 dtr 和 rts(db9 的 4、7 脚)都用于了电路供电,因此使用 max232 的另外一 个通道(max232 的 9 脚)及 q1 来控制 max485 的状态切换。一般 max232 的 9 脚输出高电平,q1 导通,使 max485 的 re 和 de 为低电平而处于数据发送状态。 当 pc 机发送数据时,max232 的 9 脚输出低电平,q1 截止,使 max485 的 re 和 de 为高电平而处于数据接受状态。 2.3.
32、12.3.1 rs-232rs-232、rs-485rs-485 及其接口电路 rs-232 与 rs-485 都是串口数据接口标准。rs-232 的传送距离最大约为 15 米,最高速率为 20kb/s,rs-232 是为点对点(即一对收、发设备)通讯而 设计的接口标准,rs232 只适合于本地通讯使用。 rs-485 接口标准传输最长距离达 1.5km,增加了多点、双向通信能力,即 允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保 护特性,扩展了总线共模范围。 max232a 和 max485 分别是 rs-232 和 rs-485 接口标准的接口电路芯片, 如图 2-1
33、9、图 2-20: 图 2-19 max232 内部结构基本可分三个部分: 第一部分是电荷泵电路。由 1、2、3、4、5、6 脚和 4 只电容构成。功能 是产生+12v 和-12v 两个电源,提供给 rs-232 串口电平的需要。 第二部分是数据转换通道。由 7、8、9、10、11、12、13、14 脚构成两个 数据通道。13 脚(r1in) 、12 脚(r1out) 、11 脚(t1in) 、14 脚(t1out)为第 一数据通道。8 脚(r2in) 、9 脚(r2out) 、10 脚(t2in) 、7 脚(t2out)为第 二数据通道。ttl/cmos 数据从 t1in、t2in 输入转换
34、成 rs-232 数据从 t1out、t2out 送到电脑 db9 插头;db9 插头的 rs-232 数据从 r1in、r2in 输入 转换成 ttl/cmos 数据后从 r1out、r2out 输出。 第三部分是供电。15 脚 gnd、16 脚 vcc(+5v) 。 图 2-20 max485 2 脚(re):接收器输出使能端。re 低电平,ro 有效;re 高电平,ro 成高 阻状态。 3 脚(de):驱动器输出使能端。高电平,a、b 有效,即器件作线驱动器用; 低电平,a、b 成高阻,即器件作线接收器用。 1 脚(ro):接收器输出。若 a 比 b 大 200mv,ro 为高;若 a
35、比 b 小 200mv,ro 为低。 4 脚(di):驱动器输入。 6 脚(a):同相接收器输入和同相接收器输出 7 脚(b):反相接收器输入和反相接收器输出 5 脚:gnd。 8 脚:vcc(+4.75+5.25v) 。 2.3.22.3.2 串口的基本接线方法 目前较为常用的串口有 9 针串口(db9)和 25 针串口(db25),通信距离 较近时(15m),可以用电缆线直接连接标准 rs232 端口,若距离较远,需附加 调制解调器(modem)。最为简单且常用的是三线制接法,即地、接收数据和发 送数据三脚相连,且直接用 rs232 相连。 1.db91.db9 和和 db25db25 的
36、常用信号脚说明的常用信号脚说明 9 针串口(db9)25 针串口(db25) 针号功能说明缩写针号功能说明缩写 1 数据载波检测 dcd8 数据载波检测 dcd 2 接收数据 rxd3 接收数据 rxd 3 发送数据 txd2 发送数据 txd 4 数据终端准备 dtr20 数据终端准备 dtr 5 信号地 gnd7 信号地 gnd 6 数据设备准备好 dsr6 数据准备好 dsr 7 请求发送 rts4 请求发送 rts 8 清除发送 cts5 清除发送 cts 9 振铃指示 dell22 振铃指示 dell 表 2-9 常用信号脚 2.rs2322.rs232 串口接线方法(三线制)串口接
37、线方法(三线制) 串口传输数据只要有接收数据针脚和发送针脚就能实现: 9 针9 针25 针25 针9 针25 针 233222 322333 557757 表 2-10 接线方法 2.42.4 电源模块电源模块 本设计需要+5v 电源为整个系统供电,电源模块以芯片 lm7805 为核心设计 成输出+5 直流电压的稳压电源电路。 电源模块是有电源变压器变压器、整流、滤波和稳压电路等四部分组成。 电源变压器将交流 220v 变为 9v 左右交流电压,然后通过整流桥将交流电变为 脉动的直流电压。由于此脉动直流电压还包含较大的纹波,必须通过滤波电路 加以滤波,c13、c14 分别为输入端和输出端滤波电
38、容,并利用芯片 lm7805 进 行稳压,当输出电较大时,7805 应配上散热板。具体电路如图 2-21 7805 稳压 电源: 如图 2-21 7805 稳压电源 2.4.12.4.1 芯片芯片 lm7805lm7805 lm7805 系列为 3 端正稳压电路 ,to-220 封装,能提供多种固定的输出电 压,应用范围广。内含过流、过热和过载保护电路。带散热片时,输出电流可 达 1a 。虽然是固定稳压电路,但使用外接元件,可获得不同的电压和电流。 外形及引脚排列见图 2-22。 主要特点: 输出电流可达 1a 输出电压有: 5v 过热保护 短路保护 输出晶体管 soa 保护 图 2-22 图
39、 2-23 功能框图 2.52.5 硬件设计综述硬件设计综述 2 总线 串 口 总线 号 号号号 485 89 51 11 温湿度传感器 485 89 51 11 温湿度传感器 485 89 51 11 温湿度传感器 11 温湿度传感器 89 51 485 转换器 图 2-24 扩展系统 根据 rs-485 标准传输最长距离达 1.5km,多点和双向通信能力,可以将原 来的小型仓库的温湿度监测系统进行扩展(如图 2-24) ,扩展后的系统可用于 大型仓库的温湿度监测。 三、软件设计 本文的温湿度多点测量系统软件设计主要包括两个方面:一是单片机 at89s51 的软件编程;二是 pc 机的数据接
40、收界面设计。其中,at89s51 的程序 采用 c51 语言编写,c51 语言具有 c 语言的编程风格,模块化设计使程序流程 更加清晰、易懂;而 pc 机端的数据接收界面采用 vc 语言编写,其中的图形动 态显示直观的反应了温室内部温湿度的变化情况。 3.13.1 at89s51at89s51 软件设计软件设计 at89s51 的程序编写主要有两方面:一是按照 shtll 的功能时序对 i/o 口 进行操作,让 shtll 进行温湿度的测量;另一方面是将采集的数据发送到观测 室内的 pc 机上,即通信部分。 3.1.13.1.1 软件结构设计软件结构设计 下面主要讨论 at89s51 向 sh
41、tll 发送命令和读取测量数据的软件实现。 由前面所述,在 shtll 测量之前 at89s51 必须先向其发送命令时序,即向 shtll 写入 8 个数据位并在第 9 个 sck 周期读取 shtll 返回的确认位(0 为正确 接收,1 为接收失败)。根据 shtll 两线制工作方式,at89s51 应该先在 p20 输出低电平来触发 shtll,然后在每条 data 线上输出一位命令数据,再给出 sck 高电平触发 shtll 锁存数据,当然 at89s51 输出的 sck 周期必须满足 shtll 数据建立和保持最少时间(110ns)的要求。当发送完命令后要依次读取各 shtll 数据线
42、上的返回位,以作为是否重新发送的依据。具体 c51 程序如下:其中 comval 是命令字节,err 为应答返回字节,datal、data2、data3、data4 分别 是 sht11 的 data,即 p2.1、p2.2、p2.3、p2.4。 启动: void start() _nop_(); sck=1; _nop_(); data=0; _nop_(); sck=0; _nop_(); _nop_();_nop_(); sck=1; _nop_(); data=1; _nop_(); sck=0; 写命令: char writel(uchar comval) uchar i=8,err
43、=o; while(i-) if(comval&ox80) datal=1;data2=1;data3=1;data4=1; elsedatal=o;data2=o;data3=o;data4=0;/发完后拉低数据线 comval=1;b=1;c=1;d=1; sck=o; datal=!ack;data2=!ack;data3=!ack;data4=!ack; sck=1;_nop_();sck=0; datal=1;data2=1;data3=1;data4=1; 当 shtll 完成测量后,依据读写数据规则 at89s51 通过以下方式读取测量 结果:先置时钟线为低电平使 shtll 内
44、的锁存器输出数据,并延时一段时间(大 于数据稳定输出时间 250ns)等待数据稳定,然后再读取数据,如此类推直到接 收完一字节数据为止,且要在第 9 个时钟给出应答位。读取数据的 c51 程序如 上(读数据),其中程序人口参数 ack 为应答位,1 代表继续接收后续数据;o 表 示终止通信。 shtll 读取的 12 位的温度和 8 位的湿度测量值(二进制数) ,传递给 at89s51,再通过串口通信发送给 pc 机,由 pc 机后台根据公式 2-1、2-2、2- 3,计算出实际值。 3.23.2 pc 机数据接收界面设计 pc 机端的软件设计主要是实现正确接收单片机发送的测量数据,并把数据
45、以实时曲线的形式直观表现出来,并设置 pc 机蜂鸣报警等功能。本设计利用 具有面向对象可视化设计功能的 vc+编写 pc 机接收数据的界面程序,通过其 提供的串口通信控件 mscomm 实现 pc 机与 at89s51 之间的通信,使测量数据正 确无误地重现在 pc 机的显示屏上,如图 3-1 所示。 图 3-1 pc 机数据观测界面(示例) 四、系统调试 本设计是一种嵌入式设计,包括软件设计和硬件设计,系统调试也就涉及 到软件调试和硬件调试,在没做错实物之前应先利用集成开发环境和仿真软件 对自己所设计的电路的软件进行调试,调试主要用到得是 isiskeil 。做出实物之后,还要利用 at89
46、s51 的 isp 功能对设计实物进行调试。具体步骤这 里就不一一说明。 结 论 本文设计的仓库温湿度监测系统由于采用了高集成度和高精度的温湿度 数字传感器 shtll 和合理的多片连接方式,既节省了单片机 i/o 口资源和使 系统整体设计成本下降,又避免了逐个测量时造成的整体测量滞后问题和提 高了测量精度,同时大大简化了单片机的程序编写;另外,该系统所具有的 远距离通信功能又为现代化温室群的集散管理提供了必要的条件,可在现代 化仓库控制系统中推广应用。 致 谢 本次毕业设计我要感谢我的指导老师丁宁老师,谢谢丁宁老师给予我的 帮助。 参考文献 1 shtlx/sht7x humidity&temperat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年建设跨海大桥接线工程项目物有所值及财政承受能力评价报告
- 2025年塑料网纱项目可行性研究报告
- 2025-2030年中国新型节能建筑材料行业深度研究分析报告
- 大气污染防治科普宣传与教育普及考核试卷
- 2025年气控弹簧拖钩项目投资可行性研究分析报告-20241226-191549
- 创业空间的营销策略考核试卷
- 创业空间金融科技发展考核试卷
- 社交网络与个人品牌的维护
- 2025年HDPE防水板行业深度研究分析报告
- 2025年橡木酒盒项目投资可行性研究分析报告
- 上海市2024-2025学年高一上学期期末考试数学试题(含答案)
- 2024-2025学年五年级数学上册名校真题 期末考试综合检测卷
- 2025年市青年企业家商会工作计划
- DGTJ 08-2176-2024 沥青路面预防养护技术标准(正式版含条文说明)
- 2023年湖南长沙自贸投资发展集团有限公司招聘笔试真题
- 《电子技能与实训》课件
- 基础摄影培训
- 高一政治学科期末考试质量分析报告(7篇)
- 《面试官培训》课件
- 导管相关性血流感染-7
- 汽车维修保养协议三篇
评论
0/150
提交评论