涂玉琴
摘要:该文设计的主要内容是通过软件编程实现电风扇的变速、定时、睡眠功能,其中变速功能采用PWM控制,其它功能由控制自定义标志位实现。硬件部分主要是通过8051单片机的P1口驱动外部直流电机工作,设计中采用了8055作为开关管来控制直流电机的工作与否来达到设计要求。
关键词:单片机;智能电风扇;PWM控制;直流电机
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2012)33-8014-02
单片微型机是一种高度集成的芯片。实际上,它是按工业标准设计的,所以它通常有很好的环境适应能力和抗干扰能力,故有很好的可靠性。随着单片机的速度、内存量、位数等性能的不断提高,单片机的应用领域已经遍及几乎所有的领域。单片机是把中央处理器CPU、随机存储器RAM、只读存储器ROM、定时器/计数器以及I/O接口电路等主要计算机部件集成在一块集成芯片上的微型计算机,它的特点是性能高、速度快、体积小。脉冲宽度调制(PWM)是英文“PulseWidthModulation”的缩写,简称为脉宽调制。它利用微处理器的数字输出对模拟电路来进行操作控制,是一种非常有效的技术,在通信、功率变换与控制、测量等多方领域广泛的适用。它根据相应的载荷变化来对基极的偏置进行调制,从而实现开关稳压电源输出晶体管或者是晶体管导通时间的改变,这种方式可以使电源的输出电压在工作条件发生变化时保持恒定不变,是一种模拟的控制方式,
这次使用MCS-51系列8051单片机所设计的智能电风扇具有变速、定时、睡眠等功能,主要用到的是8051单片机的定时器。在软件编程中主要是通过标志位的设置来控制程序流程,从而达到响应电风扇按键所对应的功能。
1设计要求
1)采用PWM波控制电风扇转速。
2)电风扇具有定时功能,并用LED显示定时剩余时间。
3)电风扇具有睡眠功能。
2设计方案
2.1设计原理
分析设计要求,本次设计可分为软件部分和硬件部分,软件部分对8051单片机进行编程,硬件部分主要是通过8051单片机控制外部直流电机工作。
1)软件部分
软件编程的最终目标是通过8051单片机的P1口的输出来控制外部直流电机的工作,由于采用PWM波控制,电风扇的转速可通过改变P1口输出矩形波的占空比来实现。用PWM调制的方法,把恒定的直流电源电压调制成频率一定,宽度可变的脉冲电压序列,从而可以改变平均输出电压的大小,以调节电机转速。
另外电风扇的定时、睡眠等功能可通过设置标志位来控制程序流程。PWM波可通过定时器来实现,但矩形波的周期不能过大,一般采用ms级。
2)硬件部分
由于采用PWM波控制,因此可利用三极管作为开关管的特性来实现对直流电机的控制。
本次设计的外围电路主要是仿真机上8051单片机的P1口控制外部直流电机,P1口的输出分为高电平(+5V)和低电平(0V)两种,P1.1的输出控制三极管8055(作开关管使用)工作在截止和饱和两种状态,通过改变P1.1输出PWM波的占空比以达到控制直流电机。
①电源引脚Vcc和Vss
Vcc:电源端,接+5V。
Vss:接地端。
②时钟电路引脚XTAL1和XTAL2
XTAL1:连接外部晶振以及微调电容的一端,在片内它是振荡器倒相放大器的输入,如果使用外部TTL时钟的话,它的引脚必须接地。
XTAL2:连接外部晶振以及微调电容的另一端,在片内它是振荡器倒相放大器的输出,如果使用外部TTL时钟的话,它的引脚必须是外部时钟的输入端。
③地址锁存允许ALE
进行系统扩展的时候,ALE用于控制地址锁存器锁存P0口输出的低8位地址,来实现低位地址与数据的复用。
④外部程序存储器读选通信号PSEN
PSEN是外部程序存储器的读选通信号,低电平才是有效的。
⑤程序存储器地址允许输入端EA/VPP
当EA是高电平的时候,CPU执行片内程序的存储器命令,但当PC中的值超过0FFFH的时候,会自动转向执行片外程序存储器指令。当EA是低电平的时候,CPU只执行片外程序的存储器指令。
⑥复位信号RST
该信号高电平时有效,在它输入端保持两台机器周期高电平以后,就可以独立完成复位的操作。
⑦输入/输出端口引脚P0,P1,P2和P3
P0口(P0.0~P0.7):此端口是漏极开路的8位准双向口,它是外部低8位地址线和8位数据线复用端口, 八个LSTTL负载驱动能力。
P1口(P1.0~P1.7):它是一个内部带上拉电阻的8位准双向I/O口,P1口的驱动能力是四个LSTTL负载。
P2口(P2.0~P2.7):它是一个内部带上拉电阻的8位准双向I/O口,P2口的驱动能力也是四个LSTTL负载。
P3口(P3.0~P3.7):为内部带上拉电阻的8位准双向I/O口,P3口除了作为一般的I/O口使用之外,每个引脚都具有第二功能。
2.2组装调试
1)软件调试
软件调试的目的是验证程序的正确性,本次所采用的调试方法主要是分步调试法,通过逐步添加标志位及其对应程序来验证。验证的方法主要是通过电压表和示波器。
①电压表法
测量P1.7的输出电压。当电风扇不工作时P1.7的输出电压为0V;当改变电风扇的风速时可看到P1.7的输出电压在0.5V-4.5V内变化,每次变化的幅度为0.5V左右;当定时工作时,在定时时间内P1.7的输出为PWM波对应占空比所对应的电压值,当定时结束时P1.7的输出为0V(定时时间可通过观察LED);当工作睡眠状态时,一分钟内P1.7的输出PWM波对应占空比所对应的电压值,另一分钟内P1.7的输出电压为0V。
②示波器法
与电压表法基本相同,所不同的只是电压的观察通过示波器的波形变化来验证。
2)硬件调试
硬件调试主要是验证8051单片机的输出控制直流电机的工作,通过验证按键响应来观察直流电机的转动。
3小结
该文设计了一种智能电风扇,具有变速、定时、睡眠等功能,软件部分通过对单片机8051进行汇编语言编程,硬件部分通过采用PWM波控制,实现电风扇的变速、定时、睡眠等功能。
参考文献:
[1]张友德.MC68HC05单片机原理应用及技术手册[M].上海:复旦大学出版社,1992.
[2]涂时亮.单片机微机软件设计技术[M].重庆:科学技术文献出版社,1998.
[3]张然.高级程序员计算机系统知识[M].上海:复旦大学出版社,1992.
[4]王秀珍.微型计算机A/D,D/A转换接口数据及数据采集系统[M].北京:北京航空航天大学出版社,1998.