基于单片机的仓库温度监测系统设计与制作毕业论文(编辑修改稿)内容摘要:
仓库温度监测系统设计与制作 6 非易失 存储器 制造技术制造,与工业标准的 MCS51 指令集和输出管脚相兼容。 由于将多功能 8 位 CPU 和闪速 存储器 组合在单个芯片中, ATMEL 的 AT89C51是一种高效微控制器。 AT89C51 单片机 为很多 嵌入式控制系统 提供了一种灵活性高且价廉的方案。 AT89C51 引脚功能 AT89C51 单片机为 40 引脚双列直插式封装,其引脚排列和逻辑符号如图 所示。 图 单片机引脚示意图 ( 1) VCC:供电电压。 ( 2) GND:接地。 ( 3) P0 口: P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。 当 P0 口的管脚第一次写 1 时,被定义为 高阻 输入。 P0 能够用于外部程序数据 存储器 ,它可以被定义为数据 /地址的低八位。 在 FIASH 编程时, P0 口作为原码输入口,当 FIASH 进行校验时, P0 输出原码,此时 P0 外部必须接上拉电阻。 ( 4) P1 口: P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口, P1 口缓冲器能接收输出 4TTL 门电流。 P1 口管脚写入 1 后,被内部上拉为高,可用作输入, P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。 在FLASH 编程和校验时, P1 口作为低八位地址接收。 基于单片机的仓库温度监测系统设计与制作 7 ( 5) P2 口: P2 口为一个内部上拉电阻的 8 位双向 I/O 口, P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写 “ 1” 时,其管脚被内部上拉电阻拉高,且作为输 入。 并因此作为输入时, P2 口的管脚被外部拉低,将输出电流。 这是由于内部上拉的缘故。 P2 口当用于外部 程序存储器 或 16 位地址 外部数据 存储器进行存取时, P2 口输出地址的高八位。 在给出地址 “ 1” 时,它利用内部上拉优势,当对外部八位地址数据 存储器 进行读写时, P2 口输出其 特殊功能寄存器 的内容。 P2 口在 FLASH 编程和校验时接收高八位地址信号和 控制信号。 ( 6) P3 口: P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4个 TTL 门电流。 当 P3 口写入 “ 1” 后,它们被内部上拉为高电平,并用作输入。 作 为输入,由于外部下拉为低电平, P3 口将输出电流( ILL)这是由于上拉的缘故。 P3 口也可作为 AT89C51 的一些特殊功能口,如下表 所示 : 表 P3 口第二功能 引脚 功能 RXD(串行接口输入) TXD(串行接口输出) /INT0(外部中断 0 输入) /INT1(外部中断 1 输入) T0(定时器 0 输入信号) T1(定时器 1 输入信号) /WR(外部数据存储器读选通) /RD(外部数据存储器写选通) P3 口同时为闪烁编程和编程校验接收一些 控制信号。 ( 7) RST:复位输入。 当振荡器复位器件时,要保持 RST 脚两个 机器周期的高电平时间。 ( 8) ALE/PROG:当访问外部 存储器 时, 地址锁存 允许的 输出电平 用于锁存地址的低位字节。 在 FLASH 编程 期间,此 引脚 用于输入 编程 脉冲。 在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。 因此它可用作对外部输出的脉冲或用于定时目的。 然而要注意的是:每当用作外部数据存储器 时,将跳过一个 ALE 脉冲。 如想禁止 ALE 的输出可在 SFR8EH 地址上置0。 此时, ALE 只有在执行 MOVX, MOVC 指令 时 ALE 才起作用。 另外,该引脚 被略微拉高。 如果 微处理器 在外部执行状态 ALE 禁止,置位无效。 ( 9) /PSEN:外部 程序存储器 的选通信号。 在由外部程序 存储器 取指期间,基于单片机的仓库温度监测系统设计与制作 8 每个 机器周期 两次 /PSEN有效。 但在访问 外部数据 存储器时,这两次有效的 /PSEN信号将不出现。 ( 10) /EA/VPP:当 /EA 保持低电平时,则在此期间外部程序 存储器( 0000HFFFFH),不管是否有内部程序存储器。 注意加密方式 1 时, /EA 将内部锁定为 RESET;当 /EA 端保持高电平时,此间内部程序存储器。 在 FLASH 编程期间,此引脚也用于施加 12V 编程电源( VPP)。 ( 11) XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 ( 12) XTAL2:来自反向振荡器的输出。 XTAL1 和 XTAL2 分别为反向放大器的输入和输出。 该反向放大器可以配置为片内振荡器。 石晶 振荡和陶瓷振荡均可采用。 如采用外部 时钟源 驱动器件,XTAL2 应不接。 有余输入至内部 时钟信号 要通过一个二分频 触发器 ,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 芯片擦除 整个 PEROM 阵列和三个锁定位的电擦除可通过正确的 控制信号 组合,并保持 ALE 管脚处于低电平 10ms 来完成。 在芯片擦操作中,代码阵列全被写 “ 1”且在任何非空存储字节被重复 编程 以前,该操作必须被执行。 此外, AT89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种 软件 可选的掉电模式。 在闲置模式下, CPU 停止工作。 但 RAM, 定时器 ,计数器,串口和 中断系统 仍在工作。 在掉电模式下,保存 RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 DS18B20 温度传感器 DS18B20 数字温度传感器接线方便,封装后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有 LTM8877, LTM8874等等。 主要根据应用场合的不同而改变其外观。 封装后的 DS18B20 如图 所示 可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。 耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。 DS18B20 的主要特性 ( 1) 适应电压范围更宽, 电压范围: ~ ,在寄生电源方式下可由数 据线供电。 ( 2) 独特的单线接口方式, DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。 基于单片机的仓库温度监测系统设计与制作 9 ( 3) DS18B20 支持多点组网功能,多个 DS18B20 可以并联在唯一的三线上,实现组网多点测温。 ( 4) DS18B20 在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路内。 ( 5) 温范围- 55℃ ~ +125℃。 ( 6) 可编程 的分辨率为 9~ 12 位,对应的可分辨温度分别为 ℃ 、℃ 、 ℃ 和 ℃ ,可实现 高精度测温。 ( 7) 在 9 位分辨率时最多在 内把温度转换为数字, 12 位分辨率时最多在 750ms 内把温度值转换为数字,速度更快。 ( 8) 测量结果直接输出数字温度信号,以 一 线总线 串行传送给 CPU,同时可传送 CRC 校验码,具有极强的抗干扰纠错能力。 ( 9) 负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。 图 DS18B20 封装图 DS18B20 的外形和内部结构 DS18B20内部结构主要由四部分组成: 64位光刻 ROM 、温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄存器。 DS18B20引脚定义: ( 1) DQ 为数字信号输入 /输出端; ( 2) GND 为电源地; ( 3) VDD 为外接供电电源输入端(在寄生电源接线方式时接地)。 DS18B20的外形及管脚排列如图 : 光 刻 ROM 中的 64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。 64位光刻 ROM 的排列是:开始 8位 ( 28H)是产品类型标号,接着的 48位是该 DS18B20自身的序列号,最后 8位是前面 56位的循环冗余校验码( CRC=X8+X5+X4+1)。 光刻 ROM 的作用是使每一个基于单片机的仓库温度监测系统设计与制作 10 DS18B20都各 不相同,这样就可以实现一根总线上挂接多个 DS18B20的目的。 图 DS18B20的外形及管脚排列 DS18B20 的内部结构如图 : 图 DS18B20内部结构图 DS18B20中的温度传感器可完成对温度的测量,以 12位转化为例:用 16位符号扩展的二进制补码读数 形式提供,以 ℃ /LSB 形式表达,其中S 为符号位。 如表 : 基于单片机的仓库温度监测系统设计与制作 11 表 DS18B20 温度值格式表 这是 12位转化后得到的 12位数据,存储在 18B20的两个 8比特的 RAM 中,二进制中的前面 5位是符号位,如果测得的温度大于 0, 这 5位为 0,只要将测到的数值乘于 ;如果温度小于 0,这 5位为 1,测到的数值需要取反加 1再乘于 温度。 例如 +125℃ 的数字输出为 07D0H,+℃ 的数字输出为 0191H, ℃ 的数字 输出为 FE6FH, 55℃ 的数字输出为 FC90H。 如表 表 DS18B20 温度数据表 DS18B20温度传感器的内部 存储器包括一个高速暂存 RAM和一个非易失性的可电擦除的 EEPRAM,后者存放高温度和低温度触发器 TH、 TL 和结构寄存器。 配置寄存器的结构见表。 表 配置寄存器 TM R1 R0 1 1 1 1 1 低五位一直都是 “ 1” , TM 是测试模式位,用于设置 DS18B20 在工作模式还是在测试模式。 在 DS18B20 出厂时该位被设置为 0,用 户不要去 改动。 R1基于单片机的仓库温度监测系统设计与制作 12 和 R0 用来设置分辨率,如表 所示:( DS18B20 出厂时被设置为 12 位) 表 温度分辨率设置表 R1 R0 分辨率 温度最大转换时间 0 0 9 位 0 1 10 位 1 0 11 位 375ms 1 1 12 位 750ms 高速暂存存储器由 9 个字节组成,其分配如表 所示。 当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在 高速暂存存储器的第 0 和第 1 个字节。 单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表 1 所示。 对应的温度计算:当符号位 S=0 时,直接将二进制位转换为十进制;当 S=1 时,先将补码变为原码,再计算十进制值。 表 是对应的一部分温度值。 第九个字节是冗余检验字节。 表 DS18B20暂存寄存器分布 寄存器内容 字节地址 温度值低位 ( LS Byte) 0 温度值高位 ( MS Byte) 1 高温限值( TH) 2 低温限值( TL) 3 配置寄存器 4 保留 5 保留 6 保留 7 CRC 校验值 8 根据 DS18B20 的通讯协议,主机(单片机)控制 DS18B20 完成温 度转换必须经过三个步骤:每一次读写之前都要对 DS18B20 进行复位操作,复位成功后发送一条 ROM 指令 见表 ,最后发送 RAM 指令 见表 ,这样才能对 DS18B20进行预定的操作。 复位要求主 CPU将数据线下拉 500微秒,然后释放,当 DS18B20基于单片机的仓库温度监测系统设计与制作 13 收到信号后等待 16~ 60 微秒左右,后发出 60~ 240 微秒的存在低脉冲,主 CPU收到此信号表示复位成功。 表 ROM 指令表 指 令 约定代码 功 能 读 ROM 33H 读 DS1820 温度传感器 ROM 中的编码(即 64 位地址) 符合 ROM 55H 发出此 命令之后,接着发出 64 位 ROM 编码,访问单总线上与该编码相对应的 DS1820 使之作出响应,为下一步对该 DS1820 的读写作准备。 搜索 ROM 0FOH 用于确定挂接在同一总线上 DS1820 的个数和识别 64 位 ROM 地址。 为操作各器件作好准备。 跳过 ROM 0CCH 忽略 64 位 ROM 地址,直接向 DS1820 发温度变换命令。 适用于单片工作。 告警搜索命令 0ECH 执行后只有温度超过设定值上限或下限的片子才做出响应。 表 RAM 指令表 指 令 约定代码 功 能 温度变换 44H 启动 DS1820 进行温度转换, 12 位转换时最长为 750ms( 9 位为 )。 结果存入内部 9 字节 RAM。基于单片机的仓库温度监测系统设计与制作毕业论文(编辑修改稿)
相关推荐
8D}, {0x95,0x81,0x54,0x09,0xDD,0x12,0x08,0x85}, {0x95,0x01,0x54,0x09,0xC9,0x12,0x08,0x85}, {0x95,0x01,0x54,0x01,0x89,0x12,0x08,0x84}, {0x95,0x01,0x40,0x01,0x89,0x02,0x08,0x80}, {0x95,0x00,0x40,0x01
A 或 B)之一串行输入;任意一个输出端为低电平,禁止新数据输入;在时钟端( clock)脉冲上升沿作用下 Q0 为低电平。 当 A、 B有一个为高电平,则另一 个就允许输入数据,并在 clock 7 上升沿作用下决定 Q0 的状态。 8 个 LED 数码管分别对应 8 个 74LS164,而 74LS164的七个输出分别对应一个数码管的段码。 当有数据来时, 74LS164
单字节指令双机器周期 双字节指令单机器周期 12 双字节指令双机器周期 三字节指令双机器周期 单字节指令四机器周期 (如单字节的乘除法指令 ) 本次设计中 MCU 单片机外接晶振为 12MHz 时具体值为: 振荡周期 (时钟周期 )= 1/12MHz= 1/12μs = 机器周期= 12*1/12μs = 1μs 指令周期= 1~ 4μs 说明: , 12MHz=1210 的 6 次方
六、 各 单元模块设计 单片机最小系统模块 图 单片机最小系统 单片机最小系统包括主芯片,复位电路和晶振脉冲产生电路。 X1 为 12MHz 晶振,与 30Pf 电容并联,产生 1us 的脉冲信号作为单片机的“心脏”部分。 复位电路是开 11 关与 10uf 电容并联组成的上电自动复位电路,在 RST 端为高电平时单片机清零,也即开关按下 会产生清零信号。 RP1为排阻,作为 P0 端的上拉电阻
加简洁,本电子锁的密码锁采用简单易学但不为多数人知道的摩期码作为电路的密码输入。 关于摩斯码的介绍如下: 摩斯密码 是 20世纪使用较为广泛的电报传输使用的一种编码。 电报最早是由美国的摩尔斯在 1844年发明的,故也被叫做摩尔斯电码。 它由 一个输入按键在输入时按住 的间隔时间 长短 组成 来决定你的输入 :短促的点信号 . ,读 嘀 ( Di);保持一定时间的长信号 — ,读 嗒 ( Da)
, 接自动模式选择/返回键 F, 接 蜂鸣器。 AT89S52 是一个低功耗,高性能 CMOS 8 位单片机,片内含 8k Bytes ISP 的可反复擦写 1000 次的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准 MCS 51 指令系统及 80C51 引脚结构,芯片内集成了通用 8 位中央处理器和 ISP Flash 存储单元