基于单片机的温度智能风扇设计毕业设计(4)

2025-11-14

3.4系统终端驱动中心

L298是15个管角的单块集成电路,是SGS公司的产品。它的优点是:输出电流比较大,输出电压也很大以及全驱动的特点,用L298来接收逻辑电平,驱动直流电机,晶体管等一些感性负载。内部是4通道逻辑驱动电路,其工作额定电流为 1 A,最大可达 1.5 A,Vss 电压最小 4.5 V,最大可达 36 V;Vs 电压最大值也是 36 V。L298可直接对电机进行控制,不需要外接电路或者隔离电路,电路连接驱动相当简易。

L298是高电压模块,采用标准TTL逻辑电平信号VSS,VSS可接4.5~7 V电压。4脚VS接电源电压,VS电压范围VIH为+2.5~36 V。输出电流可达2.5 A,可驱动要求苛刻的感性负载。L298其1管脚和15管脚的发射极以单独方式引出,便于电流采样电阻的接入,形成电流传感信号。L298可驱动2个电动机,OUT1,OUT2一对可以入一个电机和OUT3,OUT4另一对接入一个电机,本实验装置我们选用驱动一台电动机。

3.5数据显示中心

液晶屏的选取要注意如下几点:

(1)显示质量高:液晶显示器在收到每一段点信号后,不需要重新刷新亮点而是一直保持远些的色彩和光亮度,恒定发光。并不同与阴极射线管显示器(CRT),需要不断刷新新的亮点,会出现闪烁及人体视觉疲劳。因此,液晶显示器不会闪烁画质就自然高。

(2)体积小、重量轻:液晶屏显示是通过控制液晶分子的面积在屏幕上达到显示的目的,所以在重量上比相同面积的传统显示器要轻得多。

(3)数字式接口:液晶屏接口是数字式的,不管与上位机或是下位机接都很方便。 (4)功耗低:液晶屏采用高集成技术,把器件优质化达到省能源省电的功效。

而1602是字符型液晶,显示字母和数字比较方便,控制简单,成本较低所以本设计采用该液晶。

8

第四章 软件系统设计

本设计以单片机AT89S52为核心外接LCD屏显示,温度检测传感器DS18B20负责采集室内温度后反馈给单片机,处理器响应驱动模块,电机驱动随室温及预设温度的改变发生快慢的转变以达到智能温控的效果。系统软件设计的思路是分为主程序与主流程图、DS18B20温测控制流程图与程序、驱动模块与电机的连接流程图与程序、LCD1602显示控制流程图与程序这四大部分。

4.1 设计总流程图与程序

开始读取温度准备speed<27YN助跑电机旋转自动控制读取温度显示温度

图3总体设计流程图

如上框图所示:该框图是程序的主流程图,程序开始时需要初始化。然后DS18B20采样室温给单片机AT89S52,等待单片机处理。单片机响应后驱动电机模块L298,全四驱的通道促使电机开始启动,(当然购买的电机启动时由于动力不足需要助跑),当室温与当前预设值发生变化时,电机会根据自动控制,如预设值比检测到的室温高时,电机转速变慢;预设值比检测到的室温底时,电机

9

转速变快。当室温达到程序设置的最大值时,电机全速运转。单片机收到电机运转信号后响应LCD1602,LCD1602开始读取温度并把温度显示在显示屏幕上。

程序:

#include #include #include sbit MOTOR = P1^2; void display_1602 () { }

void auto_control() {

read_temperature ();

XY (0,0); print (XY (0,1); print (XY(5,1);

write(DATA,digit[speed/100]); XY(6,1);

write(DATA,digit[(speed0)/10]); XY(7,1);

write(DATA,digit[speed]); XY(0,0);

print (

}

10

4.2 DS18B20温测控制流程图与程序

开始DS18B20初始化读取数据计算温度显示温度 图4 DS18B20温测控制流程图

如上框图所示:程序开始时先要进行初始化,数据需要清零,之后DS18B20进行采样室内温度也就是所谓的读温度,读取室内温度后内部进行处理即计算温度,计算温度时,DS18B2的精度可调根据程序可以精确到小数点后一位,当然只需要适当改写程序。最后把采集到的温度经过计算输入到单片机中,等待单片机的处理。

程序:

void temp_display(void) {

uint8 TL; uint8 TH; uint8 TN; uint8 TD; rest_1602(); ReadyReadTemp(); TL=ReadOneChar(); TH=ReadOneChar();

TN=TH*16+TL/16;

11

TD=(TL)*10/16; j=TN/100; k=(TN0)/10;

l=TN;

}

4.3 LCD1602显示控制流程图与程序

LCD初始化延迟设置第一行位置显示第一行内容设置第二行位置显示第二行内容 图4 LCD1602显示控制流程图

如上框图所示:LCD先初始化后,延时一段时间,扫描屏幕上的坐标。坐标确定后就可以知道在第几行第列。首先扫描第一行,第一行上最大横坐标为24,最大纵坐标为8再根据程序应该显示的是WenDu: 然后扫描第二行,最大横纵坐标与第一行相同,内容是显示PWM的百分比。至于在第一行或者第二的哪个位置只要确定X坐标就可以。

12


基于单片机的温度智能风扇设计毕业设计(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:[工学]长沙理工大学C++题库附答案

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219