基于STC单片机的数控恒压源的设计

2026/4/24 15:50:00

9. 外部中断2路,下降沿中断或低电平触发中断,Power Down模式可由外部中断唤醒 10. PWM(4路)/PCA(可编程计数器阵列,4路),5410系列是4路,2052系列只有两路 ---也可用来当4路D/A使用 ---也可用来再实现4个定时器

---也可用来再实现4个外部中断(上升沿中断/下降沿中断均可分别或同时支持) 11.A/D转换, 10位精度ADC,共8路。STC12C2052AD系列只有8位精度

3.1.1 STC12C5410AD系列8051 单片机的基本结构框图

3.1.2 I/O口各种不同的工作模式及配置介绍

I/O口配置

STC12C5410AD系列单片机其所有I/O口均可由软件配置成4种工作类型之一,如下表所示。4种类型分别为:准双向口(标准8051输出模式)、推挽输出、仅为输入(高阻)或开漏输出功能。每个口由2个控制寄存器中的相应位控制每个引脚工作类型。STC12C5410AD系列单片机上电复位后为准双向口(传统8051的I/O口)模式。2V以上时为高电平,0.8V以下时为低电平。

P3口设定< P3.7, x ,P3.5,P3.4,P3.3,P3.2,P3.1,P3.0 无P3.6口>

P2口设定

P1口设定< P1.7,P1.6,P1.5,P1.4,P1.3,P1.2,P1.1,P1.0>

3.1.3 PWM输出

STC12C5410AD系列单片机有四路可编程计数器阵列(PCA)/PWM,12C2052AD系列只有两路。PCA含有一个特殊的16位定时器,有4个16位的捕获/比较模块与之相连。每个模块可编程工作在4种模式下:上升/下降沿捕获、软件定时器、高速输出或可调制脉冲输出。模块0连接到P3.7(CEX0/PCA0/PWM0),模块1连接到P3.5(CEX1/PCA1/PWM1),模块2连接到P2.0(CEX2/PCA2/PWM2),模块3连接到P2.4(CEX3/PCA3/PWM3)。寄存器CH和CL的内容是正在自由递增计数的16位PCA定时器的值。PCA定时器是4个模块的公共时间基准,可通过编程工作在:1/12振荡频率、1/2振荡频率、定时器0溢出或ECI脚的输入(P3.4)。定时器的计数源由CMOD SFR的CPS1和CPS0位来确定。

CMOD SFR还有2个位与PCA相关。它们分别是:CIDL,空闲模式下允许停止PCA;ECF,置位时,使能PCA中断,当PCA定时器溢出将PCA计数溢出标志CF(CCON SFR)置位。CCON SFR包含PCA的运行控制位(CR)和PCA定时器标志(CF)以及各个模块的标志

(CCF3/CCF2/CCF1/CCF0)。通过软件置位CR位(CCON.6)来运行PCA。CR位被清零时PCA关闭。当PCA计数器溢出时,CF位(CCON.7)置位,如果CMOD寄存器的ECF位置位,就产生中断。CF位只可通过软件清除。CCON寄存器的位0~3是PCA各个模块的标志(位0对应模块0,位1对应模块1,位2对应模块2,位3对应模块3),当发生匹配或比较时由硬件置位。这些标志也只能通过软件清除。所有模块共用一个中断向量。PCA的中断系统如图所示。PCA的每个模块都对应一个特殊功能寄存器。它们分别是:模块0对应CCAPM0,模块1对应CCAPM1,模块2对应CCAPM2,模块3对应CCAPM3.特殊功能寄存器包含了相应模块的工作模式控制位。当模块发生匹配或比较时,ECCFn位(CCAPMn.0,n=0,1,2,3由工作的模块决定)使能CCONSFR的CCFn标志来产生中断。PWM(CCAPMn.1)用来使能脉宽调制模式。PCA计数值与模块的捕获/比较寄存器的值相匹配时,如果TOG位(CCAPMn.2)置位,模块的CEXn输出将发生翻转。

当PCA计数值与模块的捕获/比较寄存器的值相匹配时,如果匹配位MATn(CCAPMn.3)置位,CCON寄存器的CCFn位将被置位。CAPNn(CCAPMn.4)和CAPPn(CCAPMn.5)用来设置捕获输入的有效沿。CAPNn位使能下降沿有效,CAPPn位使能上升沿有效。如果两位都置位,

则两种跳变沿都被使能,捕获可在两种跳变沿产生。通过置位CCAPMn寄存器的ECOMn位(CCAPMn.6)来使能比较器功能。每个PCA模块还对应另外两个寄存器,CCAPnH和CCAPnL。当出现捕获或比较时,它们用来保存16位的计数值。当PCA模块用在PWM模式中时,它们用来控制输出的占空比。 脉宽调节模式(PWM)

所有PCA模块都可用作PWM输出(下图)。输出频率取决于PCA定时器的时钟源。

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

由于所有模块共用仅有的PCA定时器,所有它们的输出频率相同。各个模块的输出占空比是独立变化的,与使用的捕获寄存器{EPCnL,CCAPnL}有关。当 CL SFR的值小于{EPCnL,CCAPnL}时,输出为低,当PCA CL SFR的值等于或大于{EPCnL,CCAPnL}时,输出为高。当CL的值由FF变为00溢出时,{EPCnH,CCAPnH}的内容装载到{EPCnL,CCAPnL}中。这样就可实现无干扰地更新PWM。要使能PWM模式,模块CCAPMn寄存器的PWMn和ECOMn位必须置位。

由于PWM是8位的,所以PWM的输出频率=PCA时钟输入源频率/256,PCA时钟输入源可以从以下4种中选择一种:Fosc / 12, Fosc / 2,定时器0的溢出, ECI / P3.4输入 举例:要求PWM输出频率为38KHz,选Fosc/2为PCA/PWM时钟输入源,求出Fosc的值 由计算公式38000 = Fosc / 2 / 256 ,得到外部时钟频率Fosc = 38000 x 256 x 2 =19,456,000 如果要实现可调频率的PWM输出,可选择定时器0的溢出率或者ECI脚的输入作为PCA/PWM的时钟输入源当EPCnL = 0及ECCAPnL = 00H时,PWM固定输出高 当EPCnL = 0及ECCAPnL = 00H时,PWM固定输出高 当EPCnL = 1及CCAPnL = 0FFH时,PWM固定输出低 当EPCnL = 1及CCAPnL = 0FFH时,PWM固定输出低

限流电阻用10K到1K

PCA/PWM寄存器列表


基于STC单片机的数控恒压源的设计.doc 将本文的Word文档下载到电脑
搜索更多关于: 基于STC单片机的数控恒压源的设计 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

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