1、 单片机课程设计报告 基于基于 51 单片机温度传感器设计单片机温度传感器设计 系统概述系统概述 摘要:摘要: 本设计是以 51 单片机为核心的温度传感器设计, 该系统以 STC89C52 单片 机为中心控制单元,由数码管显示模块,蜂鸣器警报模块组成,并预设温度报警 上下限,系统启动后可以实时采集环境中的温度,并且当温度超出上下限的值以 后蜂鸣器报警. 关键词:关键词:STC89C51、数码管、蜂鸣器、DS18B20 温度传感器 系统框图系统框图: 原理概述原理概述: STC89C52 单片机为主控制器,用于处理采集的温度值以及相关报警值。本设计采用 DALLAS 公司的 DS18b20 温度
2、传感器采集温度,通过主控制器进行温度的采样以及转换并 在数码管上进行相应的显示, 当外界温度值超出预设的报警温度值时, 通过蜂鸣器报警提示。 实验要求:实验要求: (1) 温度读取 (2) LED 数码管或 LCD 显示 (3) 定时读取数据 (4) 报警 实验设备实验设备: STC89C52 温 度 采 集 数 码 管 显 示 复位电路 振荡电路 蜂鸣器 5V 电源 复位电路 51 学习开发板,STC89C52 单片机,DS18B20 设计内容:设计内容: 软件流程图:软件流程图: N Y 设计方法:设计方法: DS18B20 特性 独特的单线接口仅需一个端口引脚进行通讯 简单的多点分布应用
3、 无需外部器件 可通过数据线供电 零待机功耗 测温范围-55-+125,以 0.5递增。华氏器件-67-+257,以 0.9递增 温度以 9 位数字量读出 温度数字量转换时间 200ms(典型值) 用户可定义的非易失性温度报警设置 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件 应用包括温度控制、工业系统、消费品、温度计或任何热感测系统 温度温度传感器说明:传感器说明: DS1820 数字温度计以 9 位数字量的形式反映器件的温度值。 DS1820 上电复位 实时温度采集 单片机处理 是否超出温度上下 蜂鸣器报警 数码管显示 通过一个单线接口发送或接收信息,因此在中央微处理器和
4、DS1820 之间仅需 一条连接线(加上地线) 。用于读写和温度转换的电源可以从数据线本身获得, 无需外部电源。 因为每个 DS1820 都有一个独特的片序列号, 所以多只 DS1820 可以同时连在一根单线总线上,这样就可以把温度传感器放在许多不同的地方。 这一特性在 HVAC 环境控制、探测建筑物、仪器或机器的温度以及过程监测和 控制等方面非常有用。 数码管显示:数码管显示: 数码显示器件按显示方法不同,显示器有很多种,他们是字形重叠式显示 器、分段式显示器、点阵式显示器。分段式显示器有七段和八段显示之分,在这 里,我们选用 4 位 8 段数码管显示采集到的温度值,数码管显示具有耗能低,稳
5、 定性好,价格便宜等优点。 蜂鸣器:蜂鸣器: 压电式蜂鸣器是一种电声转换器件。压电式蜂鸣器具有体积小、灵敏度高、 耗电省、可靠性好,造价低廉的特点和良好的频率特性。因此它广泛应用于各种 电器产品的报警、发声用途。最常见的莫过于音乐贺卡、电子手表、袖珍计算器、 电子门铃和电子玩具等小型电子用品上作发声器件。 硬件原理图硬件原理图: 51 单片机: 温度传感器:温度传感器: 蜂鸣器连接:蜂鸣器连接: 源代码:源代码: /*温度传感器温度传感器*/ /制作制作:RXJ /时间时间:2012/6/2 /修改修改:无无 /*/ #include #include #include #define uch
6、ar unsigned char #define uint unsigned int; sbit DQ=P13;/ds18b20 端口端口 sbit beeper=P10; /全局变量全局变量 uint temp,TempH,TempL; uchar code tab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/7段数码段数码 管段码表共阴管段码表共阴 uchar num,readflag=0,str6; uchar i; unsigned int ReadTemperature(void); void Init_DS18B20(void); unsigned char ReadOneChar(void); void WriteOneChar