单片机的粮仓多点测温系统设计方案内容摘要:
旦某个DS18B20 接触不好或断线,当程序读该DS18B20 时,将没有返回信号,程序进入死循环。 这一点在进行DS18B20 硬件连接和软件设计时也要给予一定的重视。 DS18B20 的性能特点(1) 独特的单线接口仅需要一个端口引脚进行通讯;(2) 在DS18B20中的每个器件上偶有独一无二的序列号,因此多个DS18B20可以并联在唯一的三线上,实现多点组网功能;(3) 实际应用中不需要任何外部器件即可实现(4) 可通过数据线供电,~;(5) 零待机功耗(6) 数字温度计的分辨率用户可以从9位到12位选择(7) 用户可定义的非易失性温度报警设置(8) 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件(9) 负温度特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 DS18B20的外形和内部结构DS18B20 内部结构主要由四部分组成:64 位光刻ROM、温度传感器、非挥发的温度报警触发器TH 和TL、配置寄存器。 DS18B20 :引脚定义:(1) DQ 为数字信号输入/输出端;(2) GND 为电源地;(3) VDD 为外接供电电源输入端(在寄生电源接线方式时接地)。 DS18B20 的管脚排列图DS18B20采用3角PR35封装或8角SOIC封装,:64位ROM 和单线接口电流检测存储器和控制器 高速 缓存存储器8位CRC生成器温度敏感元件低温触发器TL高温触发器TH配置寄存器 DS18B20 内部结构图DS18B20 有4 个主要的数据部件:(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。 64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码CRC=X8+X5+X4+1。 光刻ROM 的作用是使每一个DS18B20 都各不相同,这样就可以实现一根总线上挂接多个DS18B20 的目的。 (2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,℃/LSB 形式表达,其中S 为符号位。 DS18B20 温度值格式表 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 LS Byte Bit15 Bit14 Bit13 Bit12 Bit11 Bit10 Bit 9 Bit 8MS Byte 2223 21 2021 22 24 SS S S S 262524这是 12 位转化后得到的12 位数据,存储在18B20 的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,;如果温度小于0,这5位为1,测到的数值需要取反加1。 例如+125℃的数字输出为07D0H,+℃的数字输出为0191H,℃的数字输出为FF6FH,55℃的数字输出为FC90H。 (3)DS18B20 温度传感器的存储器DS18B20 温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL 和结构寄存器。 DS18B20 温度数据表TEMPERATURE DIGITAL OUTPUT (Binary) DIGITAL OUTPUT (Hex) +125℃ 0000 0111 1101 0000 07D0h +85℃ 0000 0101 0101 0000 0550h +℃ 0000 0001 1001 0001 0191h +℃ 0000 0000 1010 0010 00A2h +℃ 0000 0000 0000 1000 00008h 0℃ 0000 0000 0000 0000 00000h ℃ 1111 1111 1111 1000 FFF8h ℃ 1111 1111 0101 1110 FF5Eh ℃ 1111 1110 0110 1111 FE6Eh 55℃1111 1100 1001 0000 FC90hThe power –on reset value of the temperature resister is +85℃ THE (4)配置寄存器:表 配置寄存器结构111R0R1TM11 低五位一直都是1 ,TM 是测试模式位,用于设置DS18B20 在工作模式还是在测试模式。 在DS18B20出厂时该位被设置为0,用户不要去改动。 R1 和R0 用来设置分辨率,如下表所示:(DS18B20 出厂时被设置为12 位): 温度值分辨率设置表R1R0分辨率温度最大转换时间009位0110位1011位375ms1112位750ms,DS18B20温度转换时间比较长,而且设定的分辨率越高,所需要的温度转换时间就越长。 因此,在实际应用中要将分辨率和转换时间权衡考虑。 DS18B20与单片机接口电路设计DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1管脚接地,2脚作为信号线接单片机的I/O口,3管脚接电源。 另一种是寄生电源方式。 单片机端口接单片机总线,为保证在有效的DS18B20 时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。 当DS18B20处于些存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10μs。 采用寄生电源供电方式时VDD和GND端均接地。 由于单线制只有一根线,因此发送端接口必须是三态的。 单片机AT89S52VC DS18B20DQGNDVcc DS18B20采用电源供电方式的电路图单片机AT89S52VccVcc DS18B20DS18B20DS18B20 K DS18B20采用寄生电源的电路图DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。 因此用它来组成一个测温系统,具有线路简单,在一根通信线上可以挂很多这样的数字温度计,十分方便。 本次试验采用电源供电方式的供电方式。 1602LCD液晶显示屏 LCD1602主要技术参数显示容量为162个字符;~;();;(WH)mm。 LCD1602的引脚说明LCD1602采用标准的14脚接口,其中:第1脚:VSS为地电源。 第2脚:VDD接5V正电源。 第3脚:V0为液晶显示器对比度调整端。 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。 当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第7~14脚:D0~D7为8位双向数据线。 第15~16脚:空脚 1602液晶模块内部的控制器共有11条控制指令,: 控制命令表序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L**6置功能00001DLNF**7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。 (说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置指令2:光标复位,光标返回到地址00H 指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。 高电平表示有效,低电平则无效 指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁 指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标 指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符 指令7:字符发生器RAM地址设置 指令8:DDRAM地址设置 指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。 指令10:写数据 指令11:读数据 LCD液晶显示屏与单片机接口电路设计本系统的显示部分采用LCD1602字符显示模块,与采用数码管相比,硬件连接和软件调试上都由优势。 只要把要显示的内容放进液晶模块的显示存储器里面就可以直观的显示出指定的内容,操作方便。 LCD1602与单片机的连接图,: LCD液晶显示屏与单片机接口硬件连接图其中,~~6引脚相连,因为AT89S52单片机的P0口没有上拉电阻,它们数据的读写功能。 ~~14引脚相连,进行数据的通讯传输。 键盘电路设计本系统的操作接口采用独立式按键结构,独立式按键是指直接用I/O口线构成的单个按键电路,每个独立式按键单独有一根I/O口线,每根I/O口线上的按键工作状态不会影响其它I/O口线的工作状态。 由于独立式按键电路配置灵活,软件结构简单但每个按键必须占用一根I/O口线,在按键数量较多时,I/O 口线的浪费较大,故在按键数量不多时,常采用这种按键电路。 本系统提供三个按键:复位键,上限值加一键,上限值加一键。 ,, , RST键检测这三个开关量输入。 键盘硬件连接图按键的操作说明:若按下上限值加一键,程序中的报警温度设定值就会增加一摄氏度,若按下上限值减一键,程序中的报警温度设定值就会减少一摄氏度,如果按下复位键,程序中的报警温度设定值就会自动返回到原来初始的设定值。 报警电路设计本系统采用单片机与蜂鸣器相连来显示当前系统所处的状态来报警。 ,,保护器件的作用。 报警硬件连接图 报警电路说明:当实际温度值低于温度下限值时,蜂鸣器不响报警(绿)灯亮,表示当前温度值低于上限值,系统处于安全状态;相反,当实际温度值高于温度上限值时,蜂鸣器响报警(绿)灯亮,系统需要报警。 第5章 粮仓多点测温系统软件设计整个软件包括温度采集和数据传输两个主要部分组成。 其中温度采集又是由单总线协议和注册码组成的,因此,软件设计主要任务是实现1Wire总线协议。 温度处理子程序设计计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,按键处理子程序通过扫描按键情况,主要完成温度上下限的查看和对其进行设置, 系统温度阈值设定子程序设计此次毕设试验设有报警功能,程序中首先设定了报警的温度为26摄氏度,即粮仓内的温度超过了26摄氏度,就自动会启动报警系统,在本次试验中的报警设备选用了蜂鸣器与小灯相结合的报警方式,具体说明为:如果粮仓内仅有一个或几个监测点的温度值超。单片机的粮仓多点测温系统设计方案
相关推荐
R液晶显示步进电机运行状态,其效果比用数码管显示要更加明了,也更容易读取相关状态和数据。 液晶上显示有电机运行的状态、当前 步数 、运行方向以及其运转速度。 其显示原理如下图 42: 图 42 液晶显示流程图 正反转流程图 步进电机的正反转用 K K2控制,初始化电机为顺时针转,即“》”, 每当按下 K4键,电机转向改变,具体流程图如下图 43: 启动与停止流程图 启动与停止是用 K1键来
ROM、键盘、马达、 LED、 AD/DA、部分 SPI 器件、部分 IIC 器件等)。 软件编译采用 KEIL C51 软件, Keil C51 是美国 Keil Software 公司出品的 51系列兼容单片机 C 语言软件开发系统,与汇编相比, C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。 用过汇编语言后再使用 C 来开发,体会更加深刻。 Keil C51
以便投标人获取有关编制投标文件和签署合同所涉及现场的资料。 投标人承担踏勘现场发生的自身费用。 招标人向投标人提供的有关现场的数据和资料,是招标人现有的能被投标人利用的资料,招标人对投标人作出的任何推论、理解和结论均不负责任。 经招标人允许,投标人可为踏勘目的进入招标人的项目现场,但投标 人不得因此使招标人承担有关的责任和蒙受损失,投标人应承担踏勘现场的责任和风险。
//初始化 ds1302 Write1302(0x8e,0x00)。 //写控制字,允许写 set_ds1302(0x80,now_time_date,8)。 //设置初始时间,日期,年月 //LCD 初始化 LCDInit()。 //LCM 初始化 //显示 初始化界面 DisplayListChar(0, 0, uctech)。 DisplayListChar(2, 1, )。
,它还具有一个看门狗( WDT)定时 /计数器,如果程序没有正常工作,就会强制整个系统复位,还可以在程序陷入死循环的时候,让单片机复位而不用整个系统断电,从而保护你的硬件电路。 AT89S52 有 40 个 Flash 存储器结合在一起,特别是可反复擦写的 Flash 存储器可有效地降低开发成本。 其芯片外观及引脚图如下: 引脚, 32 个外部双向输入 /输出( I/O)端口,同时内含 2
由于步进电机的输出力矩随速度的增大而不断衰减,输出功率也随速度的增大而变化,所以保持转矩就成为衡量步进电机最重要的参数之一。 比如,当人们说 的步进电机 ,在没有特殊说明的情况下是指保持转矩为 的步进电机。 步进电机的一些特点 3%5%,且不累积。 温度。 ,从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点; 一般来讲,磁性材料的退磁点都在 130℃以上