毕业论文

打赏
当前位置: 毕业论文 > 自动化 >

STC89C51单片机自动调温风扇系统设计+程序+电路图(4)

时间:2024-01-01 16:56来源:毕业论文
7、负压特性。电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 3。2 主控芯片STC89C51简介 STC89C51是一种低功耗、高性能CMOS8位微控制器,具有

7、负压特性。电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。

3。2 主控芯片STC89C51简介

STC89C51是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器[ ]。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:4k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。单片机引脚如图所示。

图3-1单片机引脚

3。3  数码管显示电路

本系统的显示电路选用4位一体的共阴极数码管。数码管第一位用于显示风扇转动的档位“0”-“2”(档位为整数)和“H”(表示预设的上限)、“L”(表示预设的下限),第二位用来显示连接符“-”,最后2位数码管显示实时的温度和上、下限的温度值,但只能用整数显示,范围为0~99摄氏度。C51单片机的P0。0~P0。6口分别与数码管的端选a~f相连接,其中P0口需接一个阻值为10K的上拉电阻,从而提高P0口输出电平的稳定性。数码管的位选W1~W4分别与单片机的P2。0~P2。3口相连接,如果P2。0~P2。4中任一位中输出低电平,就选中与该位相连的数码管。该电路如图3-2所示。

图3-2数码管显示电路

3。4  风扇驱动电路论文网

本设计由单片机的I/O口输出不同占空比的PWM脉冲,通过两个三极管将信号放大,从而实现风扇的驱动与调速。

采用三个独立按键控制系统预设温度的上、下限和完成上下限与实时温度显示的转换,通过软件编程的方式向单片机输入相应的指令,从而就可以控制单片机的I/O口输出不同占空比的PWM波形来调节风扇的转速,从而实现风扇启停与转速的自动控制。当环境温度低于系统预设的下限时,风扇不转动;当环境温度居于系统预设的上限与下限之间时,风扇从档位1开始转动;当环境温度高于系统预设的上限时,风扇转动且转速增加,并且档位由1档自动切换到2档。

本设计中的风扇驱动与调速电路如图3-3所示,通过控制单片机的P1。0引脚输出不同的PWM信号,由此控制风扇直流电机的自动启停与转速调节。

图3-3风扇驱动与调速电路

4  软件设计

4。1  程序设置

程序设计部分主要包括主程序、DS18B20温度读取函数、按键扫描函数、数码管显示函数、温度比较函数以及风扇电机控制函数。首先对主程序进行初始化,温度传感器DS18B20感应外界温度,按键扫描函数则根据需要完成初值的加减设定;温度比较函数对采集到的温度与预设值进行比较分析,为电机转速的变化提供条件;风扇电机控制函数则根据温度的数值完成对电机转速及启停的控制。主程序流程图如图4-1所示。

图4-1主程序设计流程图

4。2  用KeilC51编写程序

KeilC51是美国KeilSoftware公司开发的51系列兼容单片机C语言的软件开发系统,与单片机汇编语言相比,C语言在不仅语句简单灵活,而且编写的函数模块可移植性强[ ]。随着时代的发展,单片机的开发软件也在不断发展,Keil软件是目前使用较多的开发51系列单片机的软件,它提供了包括宏汇编、C语言编辑器、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些部分组合在一起[ ]。使用时要先建立一个工程,然后再添加文件并编写程序,编写好后在编辑调试。Keil C51的使用界面如图4-2所示。 STC89C51单片机自动调温风扇系统设计+程序+电路图(4):http://www.youerw.com/zidonghua/lunwen_200213.html

------分隔线----------------------------
推荐内容