图17 Keil Uvision工程图
第三步,在Protues中导入HEX文件,运行。由于Protues有自动重载文件的功能,在仿真过程中,如果HEX文件改变了,不需要人为重载文件,系统能自动完成。所以这里只需在建立原理图后导入文件即可。
图18 导入HEX文件
第四步,基本功能仿真 初始化及模式选择:
系统上电或出错处理后,进入初始界面。次数按任何键均可进入模式选择界面。进入模式选择界面后,按K2选择直流斩波PWM输出模式,即DC,按K3选择SPWM输出模式,即SPWM。模式选择完成后按K1进入对应参数设置界面。
图19 初始化、模式选择
参数设置界面:
这里可以分别设置如下参数:在DC模式下,设置频率f,占空比α,输出时间Tout; 在SPWM模式下,设置频率f,调幅比k,输出时间Tout。
图20 参数设置
输出监控及修改参数:
参数设置完成以后可以确认输出,如果哪个参数设置错了可以按K4键返回修改。如果输入错误的参数了,系统会直接跳转到报警界面;如果没错就进入相应的输出监控界面。系统还允许不停输出的情况下修改参数,也可以随时停止输出。
图21 输出监控
出错报警:
如果在参数设置时或程序运行过程中,出现不允许的情况,如频率超出范围、输出时间为0,则进入报警界面。前面的报警号对应于一类错误。
图22 出错报警
第五步,PWM输出仿真 直流斩波PWM输出:
图23 直流斩波PWM
SPWM输出:
图中ch A,ch B信号分别是P3.0和P3.1输出的信号,ch C信号是经过P3.0和P3.1叠加滤波后的信号,可以认为是SPWM的基波信号。
图24 SPWM输出
6 结论
本人通过三个多月的学习和探究,设计了一个基于单片机的PWM信号输出系统。PWM技术应用非常广泛,这里主要从直流斩波和交流逆变的应用角度,对PWM的多种软件算法进行了一定的分析研究,最终选择了工业上较常用的SPWM方法。
本文首先介绍了课题的背景,介绍了PWM的发展历史、目前的现状及国内外在这一领域的发展趋势;其次简要阐述了PWM原理及相关算法;最后选用SPWM中软件调制的对称规则采样法设计一个PWM信号系统。本文详细阐述了单片机的工作原理,结构和功能。针对本文所设计开发的PWM信号输出系统,详细阐述了其电源电路,时钟电路,复位电路,显示电路等单元模块的设计。同时也简要阐述了Protues,Keil-Uvision2软件功能及使用方法,详细介绍了PWM软件算法,按键中断,LCD显示等,最后详细阐述了系统调试的结果。
通过本次设计我了解了许多关于PWM的知识,也查询了许多的资料,并结合自己的想法完成了课题。经过学习,使我对51单片机有了更进一步的了解,对一个系统的设计要如何入手有了更加深刻的体会。在整个设计过程中,也遇到了一些问题,如PWM算法、LCD显示等,但经过努力都一一解决了。
在论文的写作上,主要是以描述系统设计思想为主,由于本人的水平和能力有限,对该课题的许多方面还没有深入研究。另外,论文难免在某些方面存在一些不成熟和欠妥之处,恳请各位老师大力斧正,不吝赐教。

