基于AT89S52单片机实现的智能风扇毕业设计Word格式文档下载.docx

上传人:b****3 文档编号:8223759 上传时间:2023-05-10 格式:DOCX 页数:44 大小:589.06KB
下载 相关 举报
基于AT89S52单片机实现的智能风扇毕业设计Word格式文档下载.docx_第1页
第1页 / 共44页
基于AT89S52单片机实现的智能风扇毕业设计Word格式文档下载.docx_第2页
第2页 / 共44页
基于AT89S52单片机实现的智能风扇毕业设计Word格式文档下载.docx_第3页
第3页 / 共44页
基于AT89S52单片机实现的智能风扇毕业设计Word格式文档下载.docx_第4页
第4页 / 共44页
基于AT89S52单片机实现的智能风扇毕业设计Word格式文档下载.docx_第5页
第5页 / 共44页
基于AT89S52单片机实现的智能风扇毕业设计Word格式文档下载.docx_第6页
第6页 / 共44页
基于AT89S52单片机实现的智能风扇毕业设计Word格式文档下载.docx_第7页
第7页 / 共44页
基于AT89S52单片机实现的智能风扇毕业设计Word格式文档下载.docx_第8页
第8页 / 共44页
基于AT89S52单片机实现的智能风扇毕业设计Word格式文档下载.docx_第9页
第9页 / 共44页
基于AT89S52单片机实现的智能风扇毕业设计Word格式文档下载.docx_第10页
第10页 / 共44页
基于AT89S52单片机实现的智能风扇毕业设计Word格式文档下载.docx_第11页
第11页 / 共44页
基于AT89S52单片机实现的智能风扇毕业设计Word格式文档下载.docx_第12页
第12页 / 共44页
基于AT89S52单片机实现的智能风扇毕业设计Word格式文档下载.docx_第13页
第13页 / 共44页
基于AT89S52单片机实现的智能风扇毕业设计Word格式文档下载.docx_第14页
第14页 / 共44页
基于AT89S52单片机实现的智能风扇毕业设计Word格式文档下载.docx_第15页
第15页 / 共44页
基于AT89S52单片机实现的智能风扇毕业设计Word格式文档下载.docx_第16页
第16页 / 共44页
基于AT89S52单片机实现的智能风扇毕业设计Word格式文档下载.docx_第17页
第17页 / 共44页
基于AT89S52单片机实现的智能风扇毕业设计Word格式文档下载.docx_第18页
第18页 / 共44页
基于AT89S52单片机实现的智能风扇毕业设计Word格式文档下载.docx_第19页
第19页 / 共44页
基于AT89S52单片机实现的智能风扇毕业设计Word格式文档下载.docx_第20页
第20页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于AT89S52单片机实现的智能风扇毕业设计Word格式文档下载.docx

《基于AT89S52单片机实现的智能风扇毕业设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于AT89S52单片机实现的智能风扇毕业设计Word格式文档下载.docx(44页珍藏版)》请在冰点文库上搜索。

基于AT89S52单片机实现的智能风扇毕业设计Word格式文档下载.docx

Smart;

PWM;

Keys

1智能风扇总体设计

1.1引言

随着科技的发展与技术的进步,今天我们的周围多了许多的智能控制用品,它们不仅功能强大、体积小、工作稳定、精度高、操作简单,价格低廉,更重要的是它们采用的新工艺、新材料,功耗更低,符合时代节约能源的理念。

鉴于当前生产、生活中的很多设备逐渐小型化、迷你化、集成化,而且产品的工作更加稳定、节能、安全,功能也日趋强大,更加人性化、智能化,所以此设计也以此理念为出发点,设计一种以单片机为核心控制器的风扇控制系统。

现在仍有许多的电风扇采用传统的机械式器件来实现定时和调速,也经常遇到机械式调节机构老化、调节失效,在这种情况下,如果再想在效果更好、更安全的使用的话,就必须更换那些调节机构。

这也就带来了很多的不便,以及安全隐患。

所以在这方面采用单片机这种以数字信号控制的控制器更理想,单片机的外围电路简单,工作稳定,可以采用各种传感器来扩充功能,也可以采用继电器、光电开关、光耦等,来实现不同电压等级隔离。

在一点保证了它是安全的,且因为它的工作电压只有5V,所以功耗和低。

它具有定时时间显示,显示时间准确,这一点也是它优于传统控制器的。

1.2智能风扇总体介绍

智能风扇采用两个按键来控制,另外还有一个单片机复位键,4位数码管显示系统的工作状态,两个电机来模拟风扇的控制机构,用蜂鸣器来模拟报警器。

其中,风类有“常风”、“自然风”、“睡眠风”,风类的调节以按键1每按一次当前风类调换一次,以“初始状态”>

>

“自然风”>

“常风”>

“睡眠风”>

“初始状态”形式循环调节,并采用PWM实现调速;

而时间的调节以按键2每按一次,时间增加10秒钟,以“000”>

“---”>

“010”>

……>

“050”>

“100”>

“110”>

……>

“450”>

“000”的形式循环调节。

显示形式:

用4位数码管实时显示风扇的工作状态,最高位显示风类:

“初始状态”显示“0”、“自然风”显示“1”、“常风”显示“2”、“睡眠风”显示“3”;

第2位显示分钟,第3和第4位显示定时时间,以动态倒计时的形式显示剩余时间,无定时显示“000”。

其中,“---”表示非定是状态,此状态可以没有时间限制的让风扇工作;

而其它状态时是定时状态,定时器会被启动。

系统的示意图如下:

 

图1.2.1系统示意图

1.3本章小结

主要介绍智能风扇的设计理念与总体设计思路。

智能风扇的工作方式,硬件控制要求。

2驱动与电路设计

2.1单片机简要介绍

AT98S52单片机是Atmel公司推出的一款在系统可编程单片机。

通过相应的ISP软件,用户可以对单片机Flash程序存储器中的代码进行方便的修改。

其技术参数如下:

(1)4KB在系统可编程Flash程序存储器,3级安全保护;

(2)128字节的内部数据存储器;

(3)32个可编程I/O引脚;

(4)2个16位计数/定时器;

(5)5个中断源,可以在断电模式下响应中断;

(6)1个全双工的串行通信口;

(7)最高工作频率为33MHz;

(8)工作电压为4.0~5.5V;

(9)双数字指针使得程序运行得更快。

引脚如图2.1.1所示:

图2.1.1AT98S52引脚图

引脚功能说明:

(1)输入/输出引脚(I/O口线)

P0.0~P0.7:

P0口8位双向I/O口,占39~32脚;

P1.0~P1.7:

P1口8位准双向I/O口,占1~8脚;

P2.0~P2.7:

P2口8位准双向I/O口,占21~28脚;

P3.0~P3.7:

P3口8位准双向I/O口,占10~17脚;

(2)控制口线

(29脚):

外部程序存储器读选通信号;

ALE/

(30脚):

地址锁存允许/编程信号;

/VPP(31脚):

外部程序存储器地址允许/固化编程电压输入端;

RST/VPD(9脚):

RST是复位信号输入端,VPD是备用电源输入端;

(3)电源及其它

Vcc(40脚):

电源端+5V;

GND(20脚):

接地端;

XTALl、XTAL2(19~18脚):

时钟电路引脚。

当使用内部时钟时,这两个引脚端外接石英晶体和微调电容;

当使用外部时钟时,用于外接外部时钟源。

2.2单片机内部电路简要介绍

AT89S52共有4个8位的并行I/O口,分别计作P0、P1、P2、P3。

每个口都包含一个锁存器、一个输出驱动器和两个输入缓冲器。

实际上,它们已被归入专用寄存器之列,并且具有字节寻址和位寻址功能。

AT89S52单片机的4个I/O口都是8位双向口,这些口在结构和特性上是基本相同的,但又各具特点,以下分别介绍。

2.2.1P0口内部电路

由图2.2.1可见,电路中包括有一个数据输出锁存器、两个三态数据输入缓冲器、一个数据输出驱动电路和一个输出控制电路。

当对P0口进行写操作时,由锁存器和驱动电路构成数据输出通路。

由于通路中已有输出锁存器,因此数据输出时可以与外设直接连接,而不需再加数据所存电路。

考虑到P0既可以作为通用的I/O口进行数据的输入/输出,也可以作为单片机系统的地址/数据线使用,为此在P0口的电路中设有一个的多路转换电路MUX。

在控制信号的控制下,多路转换电路可以分别接通锁存器输入或地址/数据线。

当P0口作为通用的I/O口使用时,内部的控制信号为低电平,封锁与门,是输出驱动电路的上拉场效应管(FET)截止,同时使用多路转换电路MUX接通锁存器

端的输出通路。

P0口的口线逻辑电路如图2.2.1所示:

图2.2.1P0口结构原理图

当P0口作为输出口使用时,内部的写脉冲加在D触发器的CP端,数据写入锁存器,并向端口引脚输出。

当P0口作为输入口使用时,应区分读引脚和度端口两种情况,为此,在口电路中有两个用于读入驱动的三态缓冲期。

所谓读引脚,就是读芯片引脚的数据,这是使用下方的数据缓冲器,由“读引脚”信号把缓冲器打开,把端口引脚上的数据从缓冲器通过内部总线读进来。

使用传送指令进行读口操作都是属于这种情况。

读端口是指通过上面的缓冲器读锁存器Q端的状态。

在端口已处于输出状态的情况下,Q端与引脚的信号是一致的,这样安排的目的是为了适应对口进行“读——修改——写”操作指令的需要。

对于“读——修改——写”指令,不直接读引脚而读锁存器是为了避开可能的错误。

因为在端口已处于输出状态的情况下,如果端口的负载恰是晶体管基极,则导通了的PN结会把端口引脚的高电平拉低,这样直接读引脚就会把本来的“1”误读为“0”。

但若从锁存器Q端读,就能避免这样的错误,得到正确的数据。

注:

当P0口进行一般的I/O输出时,由于输出电路是漏极开路电路,因此必须外接上拉电阻才能有高电平输出;

当P0进行一般的I/O输出时,必须先向电路中的锁存器写“1”,是FET截止,以避免锁存器为“0”状态时对引脚读入的干扰。

2.2.2P1口内部电路

因为P1口通常是作为通用I/O口使用的,所以在电路结构上与P0口由一些不同之处:

首先它不再需要多路转换电路MUX;

其次是电路的内部由上拉电阻,与场效应筛共同组成输出驱动电路。

为此,P1口作为输出口使用时,已经能提供推拉电流负载,因此无需再外接上拉电阻。

当P1口作为输入使用时,同样也需要先向器锁存器写“1”,使输出驱动电路的FET截止。

P1口结构原理图如下图所示

图2.2.2P1口结构原理图

2.2.3P2口内部电路

P2口结构原理图如下图所示:

图2.2.3P2口结构原理图

P2的电路比P1口的电路多了一个多路转换电路MUX,这又正好与P0口一样。

P2口可以作为通用I/O口使用,这时多路转换电路开关倒向锁存器Q端。

通常情况下,P2口是作为高位地址线使用的,此时多路转换电路开关应倒向相反方向。

2.2.4P3口内部电路

P3口的特点在于,应适应引脚信号第二功能的需要,增加了第二功能控制逻辑。

由于第二功能信号有输入和输出两类,因此分两种情况进行说明。

对于第二功能为输入的信号引脚,当P3口作为I/O使用时,第二功能信号引脚应保持高电平,与非门开通,以维持从锁存器到输出端的数据输出通路的畅通。

当输出第二功能信号时,该位的锁存器应置“1”,使与非门对第二功能信号的输出是畅通的,从而实现第二功能信号的输出。

对于第二功能为输入的信号引脚,在口线的输入通路上增加了一个缓冲器,输入的第二功能信号就从这个缓冲器的输入端取得。

而作为I/O使用的数据输入,仍取自三态缓冲器的输出端。

不管是在P3口作为输入口使用时还是在第二功能信号输入时,输入电路中的锁存器输出和第二功能输出信号线都应保持高电平。

P3口结构原理图如下图所示:

图2.2.4P3口结构原理图

P3口各引脚名称及与第二功能如下表所示:

表1P3口各引脚与第二功能表

引脚

第二功能

P3.0

RXD(串行口输入端)

P3.1

TXD(串行口输出端)

P3.2

INT0(外部中断0请求输入端,低电平有效)

P3.3

INT1(外部中断1请求输入端,低电平有效)

P3.4

T0(定时器/计数器0计数脉冲输入端)

P3.5

T1(定时器/计数器1计数脉冲输入端)

P3.6

WR(外部数据存储器写选通信号输出端,低电平有效)

P3.7

RD(外部数据存储器读选通信号输出端,低电平有效)

2.3时钟电路与复位电路

时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就如同一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按照时序进行工作。

在AT98S52芯片内部有一个高增益反相放大器,其输入端微芯片引脚X1,其输出端为引脚X2。

而在芯片的外部,X1和X2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激震荡电路。

一般,电容C1和C2取30pf左右,晶振的振荡频率范围是1.2~12MHz。

在这里取12.00MHz。

其硬件电路如下图所示:

图2.3.1时钟电路与复位电路原理图

单片机复位使CPU和系统中的其它功能都处在一个确定的初始状态,并从这个状态开始工作。

复位条件是:

必须使RST/VPD或RST引脚(9)加上两个机器周期(即24个振荡周期)的高电平。

当时钟频率为12.00MHz时,每个机器周期为1us,则只需2us以上时间的高电平。

当R=1KΩ,C=10uf由

可以求得

104us,时间满足要求。

复位电路中R1取1KΩ,R2取10KΩ,C3是电解电容,取10uf。

2.4显示模块电路设计

一般LED的工作电流选在5~10mA,但不允许超过最大值(通常为50mA)。

LED数码管又称为半导体数码管,它是由多个LED按分段式封装制成的。

LED数码管有两种形式,即共阴和共阳。

共阴型LED数码管,是将内部所有LED的阴极连在一起引出来,作为公共阴极;

共阳极LED数码管是将内部所有LED的阳极连在一起引出来,作为公共阳极。

因为LED工作电压较低,工作电流也不大,所以可以直接用七段显示译码器驱动LED数码管。

但是,要正确选择驱动方式。

对共阴型LED数码管,应采用高电平驱动方式;

对共阳型LED数码管,应采用低电平驱动。

在设计中采用共阴型数码管来显示,由两个锁存器(74HC573N)来充当七段数码管选通开关,其中一个用于“段”选通开关,另一个用于“位”选通开关。

上拉电阻选用600Ω(流过发光二极管的电流为5.5mA)。

图2.4.1是LED的电路连接示意图。

图2.4.1LED示意图

动态显示是指一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。

通常,各位数码管的段选线相应并联在一起,由一个8位的I/O口控制;

各位的位选线(共阴极或共阳极)由另外的I/O口控制。

以动态方式显示时,各数码管分时轮流选通。

要使其稳定显示,必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应的段码。

依此规律循环,即可使各位数码管显示将要显示的字符,虽然这些字符是在不同的时刻分别显示的,但由于人眼存在视觉暂留效应,因此只要每一位显示时间足够短就可以同时显示的敢感觉。

下图为显示模块的电路原理图:

2.4.2显示模块电路原理图

2.5电机驱动模块设计

2.5.1模拟调速电机设计

用单片机控制直流电机时,需要加驱动电路,为直流电机提供足够大的驱动电流。

使用不同的直流电机,其驱动电流不同,所以要根据实际需要选择合适的驱动电路,通常有以下几种驱动电路:

三极管电流放大驱动电路、电机专用驱动模块(如L298)和达林顿驱动器等。

如果是驱动单个电机,并且电机的驱动电流不大时,可以用三极管搭建驱动电路,不过这样要稍微麻烦些。

如果电机所需的驱动电流较大,可直接选用市场上现成的电机专用驱动模块,这种模块接口简单,操作方便,并可为电机提供较大的驱动电流,不过它的价格要贵一些。

再设计中采用达林顿驱动器,它实际上是一个集成芯片,单块芯片同时可以驱动多个电机(如:

ULN2803可以驱动8路,ULN2003可以驱动7路,等等),每个电机由单片机的一个I/O口控制,当需要调节直流电机转速时,使单片机的相应I/O输出不同占空比的PWM波形即可。

图2.5.1为可以调速的电机驱动电路原理图:

图2.5.1调速电机驱动电路原理图

2.5.2模拟摇头电机设计

由于模拟摇头电机要求的驱动电流不大,所以采用三极管来搭建驱动电路。

其中三极管全部采用9014,续流二极管采用IN4007。

当要求正转或反转时,标zz和fz的两个控制端接在单片机的两个I/O口,按照摇头的时序输出PWM脉宽进行控制。

它们同时接通,且电平状态相反。

在电流反相时,电机的感应电流起主导作用时,续流二极管会进行续流,同时反相的电源会接通,反相的电流会加强,电机进行制动,当速度为0时,转动方向改变。

即实现摇头控制。

图2.5.2为摇头电机驱动电路原理图:

图2.5.2摇头电机驱动电路原理图

2.6时间报警设计

中采用了蜂鸣器进行倒计时报警。

在设置的时间小于等于10秒时进行报警提醒。

采用8550三极管进行控制,低电平触发方式。

图2.6.1为蜂鸣器控制电路原理图:

图2.6.1蜂鸣器控制电路图

2.7按键模块

按键模块是使用者与单片机交互的通道。

通过按键可以发出各种控制脉冲,来控制单片机的运行,从而实现不同的控制效果。

图2.7.1为按键模块电路原理图:

图2.7.1按键模块电路原理图

2.8本章小结

简要介绍单片机各管脚的功能,以及单片机各I/O内部电路的特点,时钟电路与复位电路的设计,显示电路模块的设计,调速电机驱动电路设计,摇头电机驱动电路设计,蜂鸣器报警模块设计,按键电路设计。

3智能风扇软件设计

3.1软件设计思路

软件采用模块化设计。

分为:

主程序、延时子程序、显示子程序、按键子程序、PWM子程序、定时器子程序、摇头子程序。

3.1.1程序前序

程序在运行之前,必须先定义单片机的头文件,如:

“#include<

reg52.h>

”;

时定义出现频率极高的数据变量,如:

“#defineucharunsignedchar”,“#defineuintunsignedint”等;

定义输入和输出I/O口,如:

“sbitk1=P3^2;

sbitk2=P3^3;

”等等;

以及要调用子程序的函数声明和使用的中间变量。

3.1.2主程序流程图

主程序在“程序前序”后,也可以灵活安排,位置并没有严格要求。

下面是主程序的流程图:

图3.1.1主程序流程图

3.1.3延时子程序

延时子程序主要用于使显示的效果能让人看得更好。

程序在执行时时间太短,如果时间太短,由于人眼反映时间长,就会使视觉上没有理想的显示效果。

下面是延时子程序流程图:

图3.1.2延时子程序流程图

3.1.4显示子程序

由于风扇要在两种状态下运行,其显示的内容不同,所以采用两种显示子程序来完成显示效果。

●显示方式1程序流程图

这种状态下,要求同时显示“风类”和“倒计时时间”,且以动态方式显示。

在编写程序时,由于整体程序较长,所以必须考虑调用程序的运行时间对显示效果的影响。

如果由于“受调用程序”占用的时间长而影响显示效果时,可以考虑多次调用显示程序。

即在“受调用程序”中间的合适位置调用显示子程序。

经验说明,此思路是正确的。

下图是显示方式1程序流程图:

图3.1.3显示方式1程序流程图

●显示方式2程序流程图

与前一种显示方式的区别在于:

在这种状态下,风扇处于非定时状态运行,要求显示“风类”和“---”这些内容,同样采用动态显示。

在这种状态下工作时,要求风扇在选择的状态下运转,如果定时未选择时,风扇的工作状态不改变,一直运行;

且在运行时可以任意改变风速状态,即选择不同的“档位”。

其显示效果影响的解决方法与前面介绍的思路一样。

下图是显示方式2程序流程图:

图3.1.4显示方式2程序流程图

3.1.5按键子程序

按键子程序起着发出控制“命令”和控制“要求”的重要作用。

其中它要完成运行状态的选择,做出选择之后,还要按各个状态的要求进行控制。

即当对运行模式做出选择后,要使显示程序按要求调用,是“显示方式1子程序”还是“显示方式2子程序”来进行显示。

而且必须保证当设定值达到上限时,可以重新设置。

下图是按键子程序流程图:

图3.1.5按键子程序流程图

3.1.6PWM子程序

PWM子程序实现不同脉宽脉冲的输出,从而实现调速的目的。

设计中采用软件的方式来得到PWM控制信号。

即对I/O口取高电平,再延时;

高电平延时到时,再对I/O口电平取反,如此反复就可得到PWM信号。

下图是PWM子程序流程图:

图3.1.6PWM子程序流程图

其中,PWM还有其它的方法可以取得:

●利用定时器。

与软件控制方式相似,只是在这里利用单片机的定时器来定时进行高、低电平的翻转,而不再是软件。

●利用单片机自带的PWM控制器。

STC12系列单片机自身带有PWM控制器,STC89系列单片机无此功能,其他型号的很多单片机也带有PWM控制器,如PIC单片机、AVR单片机等。

3.1.7定时器子程序

此程序主要用来实现倒计时和剩下10s时的报警。

下图是其程序流程图:

图3.1.7定时子程序流程图

3.1.8摇头子程序

摇头程序采用定时器中断的方式来实现,主要是为了使这个“死程序”不影响主程序的运行,使整体的控制效果看起来更像是在独立运行一样,而互不干涉彼此的运行效果。

下图是摇头子程序流程图:

图3.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2