比例电磁阀驱动电源软件设计(6)

2019-04-16 15:46

沈阳化工大学学士学位论文 第五章 软件系统设计

加法(也有减法)的计数器,其本质是对脉冲进行计数。只是计数脉冲来源不同:如果计数脉冲来自系统时钟,则为定时方式,此时定时器/计数器每12个时钟或者每1个时钟得到一个计数脉冲,计数加1;如果计数脉冲来自单片机外部引脚(T0为P3.4,T1为P3.5),则为计数方式,每来一个脉冲加1。

当定时器/计数器工作在定时模式时,特殊功能寄存器AUXR中的T0x12和T1x12分别决定是系统时钟/12还是系统时钟/1(不分频)后让T0和T1进行计数。当定时器/计数器工作在计数模式时,对外部脉冲计数不分频。

定时器/计数器0有4种工作模式:模式0(13位定时器/计数器),模式1(16位定时器/计数器模式),模式2(8位自动重装模式),模式3(两个8位定时器/计数器)。定时器/计数器1除模式3外,其他工作模式与定时器/计数器0相同,T1在模式3时无效,停止计数。

定时器相关寄存器见图5.5。

图5.5 定时器相关寄存器图

5.5.4 PWM初始化子函数

脉宽调制(PWM,Pulse Width Modulation)是一种使用程序来控制波形占空比、周期、相位波形的技术,在三相电机驱动、D/A转换等场合有广泛的应用。STC12C5A60S2系列单片机的PCA模块可以通过程序设定,使其工作于8位PWM模式。PWM模式的结构如下图所示。

所有PCA模块都可用作PWM输出,输出频率取决于PCA定时器的时钟源。 由于所有模块共用仅有的PCA定时器,所有它们的输出频率相同[10]。各个模块的输出占空比是独立变化的,与使用的捕获寄存器[EPCnL,CCAPnL]有关。当寄存器CL的值小于[EPCnL,CCAPnL]时,输出为低;当寄存器CL的值等于或大于 [EPCnL,CCAPnL]

19

沈阳化工大学学士学位论文 第五章 软件系统设计

时,输出为高。当CL的值由FF变为00溢出时,[EPCnH,CCAPnH]的内容装载到[EPCnL,CCAPnL]中。这样就可实现无干扰地更新PWM。要使能PWM模式,模块CCAPMn寄存器的PWMn和ECOMn位必须置位。

图5.6 PCA PWM mode / 可调制脉冲宽度输出模式

由于PWM是8位的,所以: PWM的频率=

PCA时钟输入源频率

256PCA时钟输入源可以从以下8种中选择一种:SYSclk, SYSclk/2, SYSclk/4,SYSclk/6,SYSclk/8,SYSclk/12,定时器0的溢出,ECI/P3.4输入。

PWM初始化流程图见图5.7所示。

开始 PWM初始化 等待

20

沈阳化工大学学士学位论文 第五章 软件系统设计

图5.7 PWM初始化流程图

STC12C5A60S2单片机中,特有的CCP0功能,包含PWM,使输出PWM方便,直接对特殊功能寄存器初始化就可得到想要的PWM,并且占空比和频率可调,到达了设计的基础要求。

5.5.5 延时子函数

本程序中,级的,秒级的,十秒级的等5.5.6 显示器数码管采用串行芯片接在数码管上显示,所以编写了几种延时子程序,分别是以毫秒[11]。

7279通信方式进行传数,实时电流、占空比、进入设定状态后,显示的即为设定菜单。显示过程流程图见图开始 显示i,q,f Set>3s 显示input?end Set>10ms 显示4--10mA… Set>10ms 结束 21

5.7。

多处用到了延时子程序,数码管显示子函数频率直沈阳化工大学学士学位论文 第五章 软件系统设计

5.8 显示设定子函数流程图

显示子函数的功能就是把实时状态显示出来,最主要的是在设定状态的时候显示设定值。

5.5.7 键处理子函数

流程图见图5.9。

图5.9 键处理子程序流程图

键扫描时,不停地判断Key值,如果有键按下,判断键值,并进入相应按键子程序,执行按键指令函数。本按键程序思路是以显示为主。

5.5.8 PWM处理子函数

STC12C5A60S2系列单片机集成了两路可编程计数器阵列(PCA)模块,可用于软件定时器、 系列单片机集成了两路可编程计数器阵列(PCA)模块,可用于软件定时器、外部脉冲的捕捉、高速输出以及脉宽调制(PWM)输出[12]。

如果要用系统时钟/3来作为PCA的时钟源,应让T0工作在1T模式,计数计数数3个脉冲即产生溢出。

如果此时使用内部RC作为系统时钟(室温情况下,5V单片机为11MHz ~ 15.5MHz),可以输出14K ~ 19K频率的PWM。用T0的溢出可对系统时钟进行1 ~ 256级分频。

当设定时,会改变PWM处理子函数里面的变量,那么从而改变频率和占空比,然后重新调用PWM处理子函数,即可输出想要的PWM。

5.5.9 AD转换子函数

STC12C5A60AD/S2系列带A/D转换的单片机的A/D转换口在P1口((P1.7-P1.0),有8路10位高速A/D转换器,速度可达到250KHz(25万次/秒)。8路电压输入型A/D,可做温

22

沈阳化工大学学士学位论文 第五章 软件系统设计

度检测、电池电压检测、按键扫描、频谱检测等。上电复位后P1口为弱上拉型I/O口,用户可以通过软件设置将8路中的任何一路设置为A/D转换,不需作为A/D使用的口可继续作为I/O口使用[13]。

STC12C5A60S2系列单片机ADC(A/D转换器)的结构如下图5.10所示。

图5.10 A/D转换器的结构图

流程图见图5.11。

AD开始 AD初始化 AD中断 AD转换 结束

图5.11 电脑通信流程图

AD转换是把反馈电流的模拟量转换成单片机识别的数字量,从而可以计算。

23


比例电磁阀驱动电源软件设计(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国能源互联网商业模式分析报告目录

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: