1、本科毕业设计(论文) 基于单片机的电风扇模拟自然风控制器设计学 院 电子信息工程学院 专 业 电气工程及其自动化 年级班别 13电气工程及其自动化 学 号 2013402040125 学生姓名 胡长新 2017年3月21日 摘要 随着社会的不断发展,科技的不断进步,人们对于电风扇的选择也变得更苛刻了,面临着强大的竞争力,电风扇想要在市场上取得一席之地就必须变得更加人性化,更加智能化。因此,模拟自然风的电风扇就会越来越被重视,从而被广泛的应用。本文设计的是基于单片机的电风扇模拟自然风控制器,通过使用STC12C5A60S2单片机来输出PWM波,并由两个BTS7960芯片组成一个H桥驱动电路来驱动
2、电风扇电机转动。该设计能够实现控制风扇的扇叶由停止慢慢转动快速转动慢速转动停止进行这种周期性的转动,而且能够对这个周期的时间进行调节。这样风扇就可以模拟成自然风了,给人们带来了更好的舒适感。 关键词:单片机;PWM波;H桥驱动电路;模拟自然风 Abstract With the continuous development of society, the progress of science and technology, peoples choice for electric fan has become more severe, facing strong competition, th
3、e electric fan to make a space for one person in the market must become more humane, more intelligent. Therefore, the simulation of natural wind fans will be more and more attention, which is widely used. This paper is the design of MCU simulation natural wind controller for electric fan based on ST
4、C12C5A60S2 MCU by using PWM wave output, and by two BTS7970 chip is composed of a H bridge driving circuit to drive the electric fan motor rotation. The design of the utility model can realize the control of the fan blade from the stop to the slow rotation, the fast rotation, the slow rotation and t
5、he periodic rotation, and can adjust the time of the cycle. So that the fan can simulate the natural wind, to bring people a better sense of comfort.Key words: single chip; PWM wave; H bridge driver circuit; simulation of natural wind 目录1.绪论11.1 选题的依据和意义11.2 本设计需实现的功能12.系统设计总体方案22.1风扇的功能需求分析22.2 系统方
6、案论证22.2.1 电机调速控制方案22.2.2显示功能方案 22.3 系统整体结构框图33.系统硬件设计43.1 STC12C5A60S2单片机系统的硬件设计43.1.1 STC12C5A60S2单片机详情43.1.2单片机晶振与复位电路设计53.1.3单片机电源电路设计63.2键盘电路设计63.3 LCD显示电路设计73.4风扇电机驱动电路与调速电路设计84.系统软件设计124.1 开发工具概述124.2 系统主程序设计124.3初始化程序设计144.4 按键子程序设计144.5 LCD显示屏子程序设计155.系统调试165.1 单片机最小系统调试165.2 PWM调试165.3 屏幕显示
7、调试176.总结18致谢19参考文献20附录一:系统原理图21附录二:程序代码23IV1.绪论1.1 选题的依据和意义 风扇的起源可以追溯到1830年,有一个美国人叫James Byron,他无意中在钟表的构造中发现,可以使扇叶如钟表运转的方式一直转动,这样就可以产生风,如此世界上第一台风扇就此诞生。这种风扇虽然可以给人们带来凉爽的风,但是由于这种驱动方式需要爬梯子去上发条,用发条驱动,非常麻烦。于是到了1872年的时候,一个叫Joseph的法国人就慢慢研究出一种用涡轮启动齿轮传动的风扇,这种风扇相对于前者使用起来就轻松许多。当到了1880年的时候,有一个美国人想到了在电动机上面装上扇叶,通电
8、使得电机转动从而使风叶产生徐徐凉风,他就是舒乐,发明了世界上第一台电风扇。 近年来,随着空调业的价格水平不断下降,其风头早已超过了风扇,但空调的强大制冷效果以及高耗电量、且封闭空间的弊端,使得传统的借助空气流动降低热量但通风效果和功耗低的风扇仍然存在很大的市场。市场都是人开发出来的,一些企业就开始拓展的风扇的市场,结合风扇与空调两者之间的利与弊,就对电风扇进行更加新颖的设计,使得电风扇更加人性化,这样风扇的市场就慢慢的回升起来,跟空调处于一个互相抗衡的状态,而不是空调独揽市场。随着时代的变化,事物都在不断更新,风扇要想继续在市场中占有一席之地,就需要不断的继续创新,让风扇吹出更加人性化的风。
9、近年来虽然空调业迅速崛起,但是电风扇并没有退出市场,而是慢慢把市场回升起来了,这一形势的主要原因有:一是风扇与空调它们两者的制冷原理不同,空调是使得空间里面的空气温度迅速降低,从而使人感到凉爽,而电风扇是吹出凉风,非常平缓,更加适合老人小孩或者体质较弱的人使用;二是电风扇有价格优势,不仅售价便宜而且使用的时候会比空调省电许多,并且安装操作和使用都非常便捷。 模拟自然风电风扇是一种可以吹出像自然风那种样式的风的电风扇,更具特点之处,它是由电风扇电机与一台能够经过调试从而输出周期性变化的电压的电气装置组成。当前我国电风扇总的来说是供过于求的市场形态,市场处于相当的激烈竞争之中,而且外商企业也渐渐的
10、把目光专注到国内的电风扇市场。从当前电风扇行业的发展趋势来看,今后人们消暑的主体仍然会是电风扇,但是随着外资慢慢的加入电风扇行业,就会使我国电风扇形成更加剧烈的竞争市场,因此想要在激烈的市场竞争中脱颖而出,就必须不断的创新,设计出更加有特点更加人性化的电风扇。本设计使用单片机作为该电风扇系统控制核心。相对于用硬件或者软硬件相结合的方法实现对电机进行调速而言,这时候采用单片机产生PWM波 ,用纯软件的方法来实现调速过程,就具有更大的灵活性,并可大大降低成本,能够充分发挥单片机的功能,对于简单速度控制系统的实现提供了一种有效的途径。1.2 本设计需实现的功能 功能要求:该设计能够使风扇电机由停止慢
11、慢转动快速转动慢速转动停止这样进行周期性的转动,并且能够让周期的时间自由设定。 主控模块:风扇电机通过单片机的智能控制,使得电风扇形成自然风的效果;并且可以调节输出PWM波的占空比,可以控制周期内送风的时间。2.系统设计总体方案2.1风扇的功能需求分析 目前科技是越来越发达,家电都是往智能化发展,风扇作为夏天消热的必需品,但是传统的电风扇想在目前这个智能化的生活中是很难的,所以设计一个让人们感觉舒适的电风扇就很有必要了。虽然这几年,越来越多的人选择了空调作为乘凉的必需品从而取代了电风扇,但是如果想使用空调取得一个好的效果是需要在封闭环境里的,长期的待在空调房中,对于人的身体不利,非常容易患上空
12、调病,所以对于老人、儿童或者身体抵抗力很弱的人群应该避免使用空调。因此对于电风扇的研究还是很有必要的。以前的风扇还是停留在只能够调节风力的大小,这让人一直处于被风吹的状态下,时间一长久,就会使人不舒服,因此设计一个模拟自然风的电风扇是很有必要的,自然风风扇不会一直对人吹风,它是断断续续的提供风,这种风会使人感到舒适,而且人体也不会一直吹风,这样人也不会感到不适。2.2 系统方案论证2.2.1 电机调速控制方案方案一:使用纯硬件的电路来实现,将电压接入到整流滤波电路中,将过滤出来的平稳的直流电送入到NE555多谐振荡器,NE555的三脚输出高电平,使继电器的动断触点复位,电风扇运转,当所连接的电
13、容放电到一定程度之后,继电器吸合,动断触点断开,风扇停止运转,通过不停的充电放电形成方波控制继电器,实现自动开关的功能,从而模拟成自然风。 方案二:使用纯软件的方法使单片机来产生PWM波(脉冲宽度调制)从而实现调速。通过编程使单片机输出矩形波PWM信号,通过所需要的结果来调节PWM波的占空比,占空比就是指一个周期里面高电平所占的比例,控制的是电机的转动速度时,如果占空比越大,那么转动速度就越快,如果占空比是100%的时候,转速达到最快。 对于方案一,此方案虽能够达到实现模拟自然风的效果,但是纯硬件的电路比较复杂,购买元器件所需的成本也不低,并且能够调节的范围有限。 对于方案二,对比一些其他的纯
14、硬件的方法,通过单片机输出PWM波进行调速不仅具有更大的灵活性,而且成本也能够有所降低。对比两种方案综合考虑选择方案二。 使用单片机输出PWM波有三种方法,如下: (1)利用单片机的延时功能。高电平持续一段时间,当延时时间结束时,使I/O口电平取反成为低电平,然后延时一段时间,当低电平延时时间结束时,使I/O口电平取反成为高电平。通过循环就可以得到PWM信号。 (2)通过单片机的定时功能。原理跟方法一相同,只不过此方法是通过单片机的定时器来实现高低电平的转换。 (3)利用单片机自带的PWM信号发生器。在单片机中的STC12系列就自身带有PWM控制器。 综合考虑,最终确定使用STC12C5A60
15、S2单片机来输出PWM波。 2.2.2显示功能方案 方案一:用LED数码管显示,但是数码管需要驱动电路才能使用,并且所需要的I/O口资源比较多,不能提示信息字符。 方案二:用LCD1602液晶显示信息,但是一片1602液晶需要占用11个I/O端口,显示的资源也不是很充足。 方案三:用诺基亚LCD5110显示,这是一款经典的显示器。 经过综合考虑最终选择诺基亚LCD5110作为本次设计的显示器,它的优势在于:(1) 性价比高,LCD1602只能够显示字符,而LCD5110不仅能够显示字符还能够显示文字,并且LCD5110的价格相对来说便宜得多。 (2)接口简单,只需要4个I/O口即可控制,而LC
16、D1602需要11个。(3)速度快,是LCD1602的40倍。(4)LCD5110工作电压为可以为3.3V也可以是5V,可以跟单片机一起供电相对方便一些。(5)程序编写简单,工作对时序要求不是特别严格,虽然系统没有自己的库,但是字符取模软件使用起来也是非常的方便。(6)显示内容丰富,既可以显示数字这字母,也可以显示汉字。因此,最终选择了诺基亚5110作为这次设计的显示屏幕。2.3 系统整体结构框图液晶显示驱动电路复位和晶振STC12C5A60S2单片机电机模式选择 图2-1 系统结构框图 单片机最小系统正常工作,然后选择模式,接着通过液晶显示出来,单片机输出的PWM波信号供给驱动电路,驱动电路
17、连接电机,使电机转动。 本设计的整体思路是:通过模式选择,用户可以可以选择自然风模式和常规风扇模式,自然风模式时,电机一直调节转速模拟成自然风,给人们带来一种舒适的享受;而常规模式时,可以通过按键调节风扇的速度。系统当前的工作模式和风速可以在液晶显示屏上面显示出来。而且是由单片机产生PWM波进行电机调速,可以任意调节它的占空比。3.系统硬件设计3.1 STC12C5A60S2单片机系统的硬件设计3.1.1 STC12C5A60S2单片机详情 STC12C5A60S2系列是宏晶科技生产的机器周期(1T)/单时钟的单片机,是新一代8051单片机,不仅高速/低功耗/超强抗干扰,而且完全兼容传统805
18、1的指令代码,并且速度快8-12倍。内部集成2路PWM,可以针对电机控制。 图3-1 STC125A60S2单片机引脚图STC12C5A60S2也是51系列单片机,与传统51单片机对比特点如下: 1、在使用相同晶振时,运行速度可以达到普通51的812倍 2、有8路10位AD 3、多了两个定时器,带PWM功能 4、有SPI接口 5、有EEPROM 6、有1K内部扩展RAM 7、有WATCH_DOG 8、多一个串口 9、IO口可以定义,有四种状态 10、中断优先级有四种状态可定 最重要的是单片机的P1.3I/O口和P1.4I/O口可以直接输出PWM信号,从而对电机进行调速。3.1.2单片机晶振与复
19、位电路设计 图3-2 单片机最小系统图单片机通常使用手动按键复位和上电自动复位这两种方式实现系统的复位操作。手动复位要求在单片机在电源接通的条件下,并且在运行期间,单片机通过按键开关操作复位。上电复位要求接通电源后,复位操作是直接自动实现的。单片机要想正常工作,晶振电路时必不可少的,晶振保证了整个单片机系统按照固定的时钟周期工作,本次设计选择了外接12M晶振的方式。 上图中的RST,XTAL是网络标号,分别和单片机的9脚RST,19脚XLAT1和18脚XLAT2相连。图3-2中的复位电路是通过电容充电来进行的,在刚通电的时候RST端口的电平为5V,慢慢的电容开始放电,端口电压慢慢降低,最后直接
20、降到0V。为了使单片机正常复位,RC时间常数应不小于两个机器周期,一般电阻为10K,电容取10uF。考虑到按键的特性,当按键按下时,RST引脚可以保持高电平,从而实现单片机的复位。 STC12系列单片机是升级后的51单片机,只是引脚复用功能更多,处理速度更快,因此外接晶振选择12M已经可以满足设计的需要,电容C2和C3对频率有微调作用,根据经验值,C2和C3选择30pF。为了使寄生电容减少,并且保证振荡器进行稳定可靠的运行,晶振和电容应尽量在安装在单片机芯片附近。 晶振为12MHZ时的机器周期的计算: 一机器周期12个振荡周期,时钟频率f=1/T, 一机器周期1/T12,若晶振12MHZ, 一
21、机器周期1/12M12=1uS 3.1.3单片机电源电路设计 由于系统中电机所需的电源电压与单片机所需的电压值不同,因此需要单独为单片机提供一个稳定的电压,由于单片机对电源电压的波动十分敏感,电压波纹不易过大,否则单片机在运行时会发生异常,因此本设计准备使用线性型稳压芯片LM2940来对单片机进行转5V供电。 LM2940-5.0稳压芯片是输出电压固定为5V的低压差三端稳压器,当输出电压为5V,输出电流1A时,输出电压差不大于0.8V,这个芯片的最大输入电压可以达到26V,工作温度范围为-40+125,使用范围非常广,内含静态电流降低电路、电流限制、过热保护、电池反接和反插入保护电路。当把一个
22、高于5V的电压接入芯片时,从Input接入,GND接地,Output就能输出5V电压,这些功能非常适合给单片机进行供电。 图3-3 单片机电源电路由上图就可以看出其电路接法也非常简单,非常适合我们使用。LM2940的1,3脚分别是电源输出端和输入端,因此在1,3脚上面加上电容进行滤波就可以得到平稳的电压了,稳压芯片的2脚是接地端口,因此直接接地即可。3.2键盘电路设计 按键是我们常用的一种工具,在我们身边经常接触到,此次的风扇设计为了方便人们能够方便的进行操作,按键的使用就不可或缺了。 图3-4 按键电路 它与单片机的连接方法也非常简单,按键的一端接地,另一端与单片机的I/O口连接经过10K的
23、上拉电阻后在跟电源相连接,这样的话,当按键处于没有按下的时候,对应的I/O口是处于一个高电平的状态的,当按键被按下时,按键线路接通成闭合回路,对应的I/O口就变成了低电平。单片机一直扫描这些I/O口的电平状态,通过电平状态的高低不同就能对相对应的功能进行控制。3.3 LCD显示电路设计 Nokia5110 LCD原理应用资料:NOKIA 公司生产的LPH7366可用于其5110、6150,6100 等系列移动电话的液晶显示模块,这些产品不仅可以应用于移动电话,也可广泛应用于许多便携式设备的显示系统。与其它类型的产品相比,该模块具有以下特点: (1)84x48 的点阵,最多可以显示4 行汉字(2
24、)采用主处理器和串行接口进行通信,大幅度减少了接口信号线数量,因此最后信号线仅仅只有9 条,其中还包括了电源线和接地线,并且支持多种串行通信协议(如AVR 单片机的SPI、MCS51 的串口模式O等),传输速率可以达到4Mbps,并且可以全速写入显示数据,没有等待时间 (3)模块可以直接嵌到PCB板上面,非常方便 (4)LCD晶片直接在芯片里面两者合为一体,因此模块的体积很小 (5)采用低电压供电,工作电流在正常情况下不会超过200A ,并且具有掉电模式 图3-5 LCD液晶显示屏实物图 诺基亚5110引脚说明:/RSTNOKIA 5110复位脚/CS片选引脚D/C数据和命令切换脚DIN数据输
25、入CLK时钟引脚VDD电源正BLC背光控制开关,低电平打开背光GND电源地SCL扩展用字库EEPROM时钟SDA扩展用EEPROM数据引脚 图3-6 诺基亚5110显示屏与单片机连接电路 引脚旁的字体为网络标号,BG代表的是背光灯,这里悬空没有连接,实际电路中通过一个跳线帽来选择是否开启背光灯,图中的VCC和GND分别与单片机的电源与地相连,P2.0到P2.4这5个IO就可以控制诺基亚5110液晶显示屏。3.4风扇电机驱动电路与调速电路设计 本次设计采用H桥调速,由两片BTS7960构成一个H桥,BTS7960是一款集成度很高的大电流半桥驱动芯片,该芯片内部集成了一个P沟道的高端MOSFET和
26、一个N沟道的低端MOSFET,因此避免了充电泵的电磁干扰,提高了EMC能力。BTS7960 具有很小的内阻16,可通过49A的电流的半桥驱动芯片。采用该芯片的原因如下: (1)可直接由输入逻辑电平控制驱动电流,方便了电路的设计,并提升了电路的可靠性 (2)电流可以达到40A,PWM的频率变化范围为0HZ到25KHZ,可以满足目标电机的各种驱动需求 (3)通过状态标志位(IS位),能够实现电机状态诊断和电流采样,并具有各种保护功能 (4)内部MOSFET开关速率可以通过外部电阻进行控制 BTS7960芯片介绍: BTS7960是NovalithIC家族三个独立的芯片的一部分:一是p型通道的高电位
27、场效应晶体管,二是一个n型通道的低电位场效应晶体管,结合一个驱动晶片,形成一个完全整合的高电流半桥。所有三个芯片是安装在一个共同的引线框,利用芯片对芯片和芯片芯片技术。为了确保高度有效的阻态,电源开关就应用垂直场效应管技术。因为p型通道是高电位开关,消除电磁干扰就使用一个电荷泵。通过驱动集成技术,逻辑电平输入、电流取样诊断、转换速率调整器,失效发生时间、防止欠电压、过电流、短路结构轻易地连接到一个微处理器上。BTS7960芯片可以与其他的BTS7960结合组成全桥或者三相驱动结构。引脚分配: 图3-7 BTS7960芯片引脚图引脚的功能与定义:PINSYMBOLI/O功能1GND-接地2INI
28、 输入3INHI抑制,进入睡眠状态时设定为低电平4,8OUTO功率输出5SRI转换速率SR和GND间连接的电阻可以调整功率开关的转换速率6ISO电流取样诊断7VS-电源 由于一片BTS7960内部有一个P沟道MOSFET和一个N沟道MOSFET,所以当给控制端一个高电平时,只有P沟道MOSFET 导通,N沟道MOSFET截止,从而保证两个MOSFET不会同时导通,保证了系统的安全。由两片BTS7960芯片构成的全桥电路如下图所示: 图3-8 电机驱动电路图本设计的控制对象是电风扇中的电机,因此电机的转向只有一个,所以对应的两路PWM中要有一路直接接地即可,而另外一路PWM1接单片机P1.3口(
29、PWM波形输出口),74LS244为3态8位缓冲器,缓冲单片机控制信号,由于悬空默认为高电平,所以N7_1为高电平,两片BTS7960工作在工作模式,N2_1和N4_1为输出诊断口,这里悬空不接,PWM1控制着N9_1的高低电平,从而决定着BTS7960_2两个MOS管的导通与截止,由于N3_1一直为低电平,所以BTS7960_1的N沟道MOS管是一直导通的,P沟道MOS管是一直截止的,从而通过调节PWM1的占空比来调节电机在一个方向的转速,OUT1和OUT2直接接在直流电机正负极两端。4.系统软件设计4.1 开发工具概述 程序是硬件的灵魂,许多功能都要靠单片机对采集到的信号进行处理才能实现,
30、模块的初始化,指的是系统上电的时候,各个模块的初始状态,初始化的程序在大循环while(1)之外,因此仅仅执行一次,之所以进行初始化,是为了保证系统上电时有一个稳定的初始状态。 本系统的运行程序采用C语言编写,在Keil软件环境下编译生成hex文件,由STC_ISP软件通过USB转串口数据线下载至单片机中调试运行。 本次设计使用Keil软件来对程序进行编写,这个软件是又美国的Keil Software公司设计的,常用于51系列单片机C语言的编写,这个软件即编写仿真调试于一体,有着完整的开发方案。Keil是使用C语言编程时的不二之选,在调试过程中其简洁方便的集成环境、强大的软件仿真调试工具就提供
31、了诸多的方便。 KeiluVision4相对于之前的版本,有着更加灵活的窗口系统,开发人可以不仅可以控制多台监视器,而且可以对窗口的任意位置进行控制。新的用户界面可以更有效地组织多个窗口,能够最大程度的利用屏幕空间,这样就能够为开发应用程序提供一个整洁,高效的环境。 STC-ISP 是一款针对STC系列单片机而设计的单片机下载编程烧录软件,可下载STC89系列、12C5A系列和12C5410等系列的STC单片机,使用简单方便,如今已被广泛应用。本次设计采用的主控制器是STC12C5A60S2,因此采用该烧录软件非常方便,串口连接并选择正确的COM口,选择正确的单片机型号后,打开Keil编译生成
32、的Hex文件,点击Download后,手动按下电源开关便即可把可执行文件HEX写入到单片机内。4.2 系统主程序设计 系统的主程序部分,包含了整个系统的各个部分,开始的时候是对所有的模块和一些标志位进行初始化,然后再进行大循环,显示各个模块信息,由于程序是不断的进行循环的,所以信息是在不断的进行刷新的。主程序流程图如下:26否是While大循环显示模块信息PWM波输出改变占空比是否有按键按下模拟自然风占空比自然风模式常规模式模式判断各模式初始化主程序开始 图4-1 系统整体框图4.3初始化程序设计 主程序在进入程序大循环之前,首先要对系统进行初始化,包括对一些I/O口的初始状态进行设置。在本次
33、设计中,设置上电就是让电源对驱动电路进行供电,随时等待单片机产生的PWM波形控制信号的来临。为了输出占空比可调的PWM波,将用到PCA模块的8位PWM输出模式,因此需要对PCA模块的工作模式寄存器CMOD、控制寄存器CCON、比较寄存器CCAP0H和CCAP0L等寄存器进行初始化,以设定工作模式和对比较寄存器赋初值。设计中使用的显示工具是诺基亚5110,对诺基亚5110也要进行初始化,包括一些显示的设置和清屏指令。另外,一些显示在诺基亚5110上面的提示信息也写在了初始化程序中。4.4 按键子程序设计按键扫描 否是否有按键按下否速度加键 启停键速度减键是是是继电器取反 减少占空比增加占空比 图
34、4-2 按键扫描程序流程图对于智能风扇来说,要实现风速的调节以及风速的启停,按键就变得不可或缺了。那么按键消抖成为了编写按键处理程序的关键之一。按键消抖质量的好坏,直接决定着按键检测的灵敏度和用户的体验感觉。目前按键消抖主要分为硬件消抖和软件消抖两种方式。硬件消抖是使用专用的电路、芯片来对按键产生的带有毛刺的电平信号进行处理得到规则的电平信号,从而使单片机易于识别;软件消抖则是利用软件延时来过滤掉按键机械动作产生的不规则电平信号而检测延时后的规则信号。延时消抖已经足够实现消抖,所以本次设计采用软件延时对按键进行消抖。4.5 LCD显示屏子程序设计本次设计中所用的诺基亚LCD5110,与单片机连
35、接的只有5条线,分别是串行数据线SDIN、串行时钟线SCLK、模式选择D/C、芯片使能SCE和复位端RES,单片机控制着这五个信号线,完成各个模块信息的显示。与其他芯片一样,也要参考资料写好模块功能函数,包括写字节函数,设置地址函数等,为以后的初始化以及显示做好准备。 图4-3 LCD显示屏写一个字节时序图参考时序图写字节的函数如下:void write_byte(unsigned char data1,unsigned char command) unsigned char i; sce = 0; /使能端有效 if(command=0) dc=0; /DC为0时,写的是控制指令 else
36、dc=1; /DC为1时,写的是数据 for(i=0;i8;i+) if(data1&0x80)sdin=1; else sdin=0; sclk = 0; data1 =1; sclk=1; sce = 1; /不使能LCD5110 5.系统调试5.1 单片机最小系统调试 单片机最小系统连接成功后,打开5V电源开关,为了验证单片机最小系统是否能够正常工作,之前特意编写的一个闪烁灯的程序,控制一个LED灯使之不停的闪烁,打开Keil软件,把编写好的C语言程序放进去,在Target Options窗口中设置生成hex文件。 编译成功之后,通过STC-ISP软件将程序烧录到单片机里面,此软件使用操
37、作很简单,首先将USB转串口线连接到电脑USB的接口,在电脑的设备管理器中查看一下USB转串口的COM口,再打开烧录软件,在MCU type下拉菜单中选择STC12C5A60S2,在点击打开文件选择之前已经生成好的hex文件,接着点击Download会出现“请给MCU上电”的提示,打开单片机的电源开关就可以下载成功,最后就可以看到单片机连接的LED灯在闪烁。检查复位按钮时能够正常复位,因此单片机最小系统是进行正常工作的,没有发现什么问题。STC-ISP软件:5.2 PWM调试 按照资料介绍,给相应的寄存器初始化,由于之前没有用单片机控制PWM波形的经验,刚开始的时候并没有输出正确的波形,然后不
38、断的对比寄存器值,经过不断地修改之后,终于产生了PWM波形,然而频率过高,居然达到了100KHZ以上,因为控制对象是电动机,如果频率太高,就会使电机线圈感抗过大,从而造成电机线圈电流降低。最终就使得电机的驱动力驱变小。为了电机的驱动能力得到保证,只有降低PWM波的频率了,查阅芯片资料,发现改变CPA工作模式寄存器CMOD中的CPS2、CPS1、CPS0的值就可以改变频率,经过不断的尝试,当CPS、2CPS1、CPS0分别是1、0、1的时候,PWM波的频率变成了11.6980KHZ,这样就可以达到调速的要求了。 产生了PWM波形之后,如果想要实现调速,就需要改变PWM波的占空比,想要改变PWM波
39、的占空比只需要比较寄存器CCAP0L和CCAP0H中的值即可,这样配置好相应的寄存器之后,就可以不用再次配置,只需在主循环中更改比较寄存器中的值,频繁进中断次数给主程序带来的的不便就大大减少了。初始化程序中将比较寄存器CCAP0L和CCAP0H中的值初始化为128,那么此时PWM波的占空比是50%。 占空比为50%的PWM波5.3 屏幕显示调试 单片机与LCD显示屏的连接相对比较简单,程序来说也不是很复杂,只需将网上查找的nokia5110.h头文件包含到主函数,并将对应端口改到我现在使用的端口即可。 LCD显示屏的显示可以选择有无背光灯,为了方便选择背光灯,可以增加一个跳线帽来选择有无背光灯
40、。6.总结 通过一个月左右的时间,此设计已经接近尾声,没有谁能够一帆风顺完成一项设计,而我在做此毕业设计的时候也不例外,遇到了各种问题和困难,有时候一筹莫展,完全没有头绪,一天过去了一点进展也没有,但是阳光总在风雨后,当实现了设计的功能时,那喜悦的心情也就随之而来了。 在设计的过程中,有很多芯片都是平时没有接触过的,也恰恰是因为没有学过,这就是一个我们不断学习,不断提升自己知识的过程,在此期间我查阅了许多资料,询问老师,与同学探讨,从而使得我对这些芯片有了深刻的认识,并学会了如何将它们运用实际过程中来。但是我们还是需要更多的将理论与实际结合,在学校,我们不能够只学到书本知识,而是把我们学到的书
41、本知识运用到具体的实践当中。虽然我们学过单片机,看着书本上觉得都能理解都懂,但是此次设计的时候需要编写程序,遇到没有产生正确的PWM波时,刚开始却完全不知道如何下手,还是之后询问老师,寻找同学帮忙,了解到解决办法,所以在以后的工作和学习中,需要更加努力学好自己的知识,并且掌握牢固,更要提高自己的实践能力,这样才能使自己的能力得到提升。 本设计是一个控制器,可以推广到各种各样的电机控制系统中去,实现电机的转速调节,在生活中可以应用到日常风扇的智能化控制,为生活提供便利;在工业生产中可以改变不同的信号从而实现对不同信号输入控制电机转速,进而实现自动化生产等等,这些都能够表明这个设计和研究在生活和生
42、产中具有一定的地位。 致谢 时光如白马过隙,大学四年生涯也将要接近尾声了,毕业设计也是我们在学校里面的最后一项学习任务了,伴随着即将结束的大学生活,论文也到了完成之时,因此我想表达一下我由衷的感谢。 首先,我要感谢我的毕业设计指导老师傅俊老师,老师非常平易近人,而且学识渊博,在我正迷茫的寻找毕业设计题目时,傅俊老师苦苦思考很久,然后提供了许多题目供我参选,在我设计不知所措的时候,是老师为我指点迷津,让我度过难关。同时也要感谢学院给我授业的老师,没有他们的指导,我不可能掌握到丰富的知识,而且老师们不仅在传授我们书本上的知识,也在教我们如何为人处世,是我在学习和生活当中都受益匪浅。在这次设计的过程中,我也要感谢我的室友,特别是江军同学,我本来对单片机程序