基于单片机的温度采集与控制设计内容摘要:

定; 小数点:根据发光颜色决定 10 c、使用电流:静态:总电流 80mA(每段 10mA);动态:平均电流 45mA 峰值电流 100mA 上面是七段数码管引脚图,其中共阳极数码管引脚图和共阴极的是一样的。 ( 2) 数码管的分类 ① 共阴极数码管 7 段荧光数码管有公共的地,即 7 个发光二极管的负极全部连接在了一起,只要给想点亮的二极管高电平就可以使其发光。 这样做的好处是可以免去布线、相互间的干扰等很多麻烦。 这种连接方式的数码管叫做共阴极数码管。 ② 共阳极数码管 有的读者可能会问,是不是只有这一种接法。 可不可以给出共同的正向电压,然后通过控制负极的电压来控制二极管的发光或者熄灭呢。 只要电器特性参数和芯片的驱动能力准许,完全可以通过控制负极的电压来控制二极管的发光或者熄灭。 这种连接方式的数码管又叫做共阳极数码管。 对应前面介绍的两种数码管可以采用灌电流和拉电流两种连接方法,如果采用了灌电流连接,就要相对应地选择共阳极数码管;反之,如果采用了拉电流连接,就要相应选择共阴极数码管。 实际使用中可以根据器件的特性参数做出合适的选择。 ( 3) 数码管显示原理 前面已经介绍过, 7 段数码管是由 7 个独立的二极管采用共阴或 共阳的方法连接而成。 通常将这 7 个独立的二极管做成 a、 b、 c、 d、 e、 f、 g这 7 个笔划。 通过一个 7 位的二进制电平信号就可以显示出想要的结果。 例如,点亮二极管 b、 c,数码管将会显示数字 1,点亮 a、 b、 c、 d、 e、 f、 g,数码管将会显示数字 0。 所以,数码管的显示需要有 7 根连线。 每个数字对应的二进制码如 下 表1— 1所示。 11 表 1— 1 显示数字对应的二进制电平信号 显示 a b c d e f g 0 1 1 1 1 1 1 0 1 0 1 1 0 0 0 0 2 1 1 0 1 1 0 1 3 1 1 1 1 0 0 1 4 0 1 1 0 0 1 1 5 1 0 1 1 0 1 1 6 0 0 1 1 1 1 1 7 1 1 1 0 0 0 0 8 1 1 1 1 1 1 1 9 0 0 0 1 1 0 1 然而,在实际的电路设计中,由处理器完成译码功能再输出一个 7位的二进制信号是非常浪费空间和影响效率的。 因此,电子工程师一般采取用 7段数码管与译码器相结合的方法来解决这个问题。 数码管与单片机的接口电路 图 1— 5 数码管与单片机的接口电路 12 系统功能与设计 温度采集与控制系统功能介绍 在我们日常生活中温度采集与控制系统已被越来越多的家用设备,工厂车间,仓库所运用,它可以对周围的温度进行实时采集,并且可以对周围温度 进行控制,是温度一直保持在某一范围之内。 本系统通 过温度传感器 DS18B20 对周围温度采集,然后由自身所集成的温度转换芯片把采集到的温度信号转换为数字信号,再通过 DS18B20 数据线将转换后的数字信号传送到单片机中,在单片机中经过并行处理之后从 P2 口输出到数码管显示。 以上功能实现了 对周围温度的采集与显示,再通过单片机的 PO 口进行温度控制,当 口所接的开关按钮 K1 接通时开始对 DS18B20 芯片进行温度范围的设定,再由 , 口所接的开关按钮 T1,T0 对 所设定的温度范围进行加,减操作。 按钮 T1 可以增加温度范围的上限,按钮 T0 可以减小 温度范围的下限。 当所有设定都完成之后,通过按钮 K0 来启动所设定的数据。 在整个系统正常运行的时候,如果采集到的实时温度高于所设定的温度范围的上限时,单片机产生相应的输出信号给外围设备,外围设备就会启动风扇装置进行适当的降温,当采集到的实时温度低于所设定的温度范围的下限时,单片机也会产生相应的输出信号给外围设备,外围设备就会启动加热装置进行适当的加热,从而使所测的实时温度一直保持在固定的范围之内。 在单片机向外围设备发送信号的同时自身也会自动报警,来提醒操作人员进行相应的操作。 温度采集与控制系统是以单片机为控制核心, 运用 DS18B20 芯片和 LED 数码管共同组成的,该系统具有操作简单,造价低廉,功能强大等优点,在社会生产与家庭生活中运用广泛。 给人民的生产生活提供很大方便。 13 温度采集与控制系统 硬件设计 系统目标是用单片机对温度进行采集,以解决工业及日常生活中对温度的检测及及时自动控制问题;用十进制数码显示实际温度值,方便人工监视。 本设计采用 8051 单片机应用系统来实现设计要求,因 8051 在片内含 4KB 的 EEPROM,不需外扩展存储器,可使系统整体结构简单。 利用 8051 串行口输出工作方式,使 8051 的利用率大大提高,外部电路得以简化。 温度采集系统工作原理是采用 8051 作为核心器件实现对系统的自动控制,采用单片机串行处理结构。 外界温度经温度传感器采集,温度变化转换为数字信号送入单片机。 单片机将采集到温度值进行处理后在 LED 数码管上显示出来。 其中P0 口所接的是对温度范围进行控制的按钮 K0,T1,T0,K0。 单片机的 P2 口与数码管的 7段 相接来显示所采集到的实时温度。 温度传感器 DS18B20 芯片与单片机的 连接,转换后的信号通过 送入单片机,单片机的 口与 蜂鸣器相接,当温度过高或者过低时自动报警。 单片机的 , 口用来驱动数码管显示。 采集与显示 软件设计 单片机温度 采集 与显示 系统由硬件和软件组成,硬件原理图搭建完成上电之后,我们还不能实现对温度的 采集, 需要给单片机编写程序,下面给出了温度 采集 与显示 系统的编程方法 [4]:。 TEMPERL EQU 31H。 用于保存读出温度的低字节 14 TEMPERH EQU 30H。 用于保存 读出温度的高字节 T_DF EQU 33H T_INTEGER EQU 32H FLAG BIT 20H。 标志位 DAT BIT。 DS18B20 数据线 ORG 0000H AJMP MAIN ORG 0030H MAIN: CLR EA。 使用 DS18B20 一定要禁止中断 MOV SP,60H MOV T_DF,00H MOV T_INTEGER,20H MOV 21H,28H AA: LCALL GET_TEMPER。 调用读温度子程序 LCALL T_FORMAT。 将读出的 2字节温度格式化,并转换为压缩 BCD 码 LCALL DISPLAY。 显示温度 JB ,$ CALL DELAY1 JNB ,TMP AJMP AA TMP: LJMP START GET_TEMPER: LCALL SET_18B20 MOV A,0CCH。 跳过 ROM 匹配 LCALL WRITE_1820 MOV A,44H。 发出温度转化命令 LCALL WRITE_1820 LCALL DISPLAY LCALL Set_18B20。 准备读温度前先初始化 MOV A,0CCH 15 LCALL WRITE_1820 MOV A,0BEH。 发出度温度命令 LCALL WRITE_1820 LCALL READ_1820 RET。 Set_18B20: SETB DAT NOP CLR DAT。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。