stc 单片机“pwm”输出波形 有低频干扰,这是为何?

STC系列单片机指令代码完全兼容标准8051,但速度快8-12倍;不同型号单片机区别:XRAM大小、外设功能等。

工作频率范围:0-35MHZ,每个机器周期为一个时钟周期,指令执行速度全面提升,最快的提升24倍,最慢的提升3倍。

内部集成MAX810专用复位电路,内置一个对VCC进行掉电检测的掉电检测电路;

时钟源:外部高精度晶体/时钟,内部R/C振荡器;用户在下载程序时选择使用外部晶体/时钟或内部R/C振荡器;

有5个8位I/O口:P0-P4;复位后所有I/O口为准双向口/弱上拉(同普通8051的P1口)。

所有I/O口均可由软件配置成4种工作类型之一:准双向口、推挽输出、仅为输入(高阻)、开漏输出;由寄存器PnM1,PnM0设置。

普通I/O口上电为弱上拉输出高电平,在I/O口处加一个下拉电阻可使I/O口复位时为低电平。

输出1时驱动能力很弱,输出0时驱动能力很强,准双向口读外部状态前,要下锁存为1,才可读到外部正确的状态。

当锁存器为1时提供持续的强上拉。

输入口带有一个施密特触发输入以及一个干扰抑制电路。

作为一个逻辑输出时,必须有外部上拉,一般通过电阻外接到VDD,这种方式的下拉与准双向口同,开漏端口带有一个施密特触发输入以及一个干扰抑制电路。

STC11/10系列提供7个中断源2级中断优先级,STC12C56/STC12C54系列提供7个中断源4级中断优先级,STC12C5A系列提供10个中断源4级中断优先级;中断由中断控制寄存器IE,IE2和中断优先级寄存器IP,IPH,IP2H配置。

中断源中断向量中断优先权

PCA、RXD、T1、T0输出脚可通过寄存器WAKE_CLK0配置为外部中断使用。

有2个16位专用定时器T0、T1;PCA也可用作定时器使用;还有一个看门狗定时器;

定时器0和定时器1完全兼容传统8051;定时器计数时钟源可选择为系统时钟的1/12或系统时钟,通过AUXR.T0x12和AUXR.T1x12设置(为0时同传统51,为1时不分频)。

看门狗溢出时间=(12*分频值*32768)/系统时钟

2个全双工串行口,功能同标准51;

串口2使用独立波特率发生器,串口1可选择使用定时器1或独立波特率发生器(AUXR.S1BRS为0时使用定时器1,为1时共用独立波特率发生器);独立波特率发生器的计数时钟源为系统时钟的1/12或系统时钟(AUXR.BRTx12为0时使用系统时钟的1/12,为1时使用系统时钟);两个串口都使用独立波特率发生器时,它们的波特率相同。

独立波特率发生器复位后是关闭的,需通过AUXR.BRTR=1使能。它有一个8位独立波特率计数器BRT。

串行口2波特率计算公式:模式0波特率=系统时钟/12或系统时钟/2(AUXR.UART_M0x6为0时同标准51)

模式1,3波特率=f/(256-BRT),f为波特率发生器计数器时钟源频率

7.PCA(可编程计数器阵列)

含有一个独立的16位定时器,2/4个16位捕获/比较模块与之相连,每个模块可编程工作在4种工作模式:上升/下降沿捕获、软件定时器、高速输出、可调制脉冲输出。

PCA定时器的时钟源由CMOD设置,由PCA控制寄存器CCON控制。

每个PCA模块的工作模式由寄存器CCAPMn来设置:

对模块外部CEXn输入的跳变进行采样,当采样到有效跳变时,PCA硬件就将PCA计数阵列CH,CL的值装载到模块的捕获寄存器CCAPnH,CCAPnL中。

由于所有的PCA模块共用同一个PCA定时器,所以它们的输出频率相同,各个模块的输出占空比是独立变化的,当CL的值小于(EPCnL,CCAPnL)时输出为低,否则输出高。PWM的输出频率=PCA时钟频率/256。

有8路10位高精度ADC,速度均可达到100KHZ;8路电压输入型A/D,可做温度检测,电池电压检测,按键扫描,频谱检测。

需作为A/D使用的口需先将其设置为开漏输出或仅为输入模式,

片上集成有数据FLASH区,可通过IAP方式对其进行读写和擦除操作。

}

简单,开一个定时器。比如定时10ms。或者更小。你以10ms为一个阶梯。将一个pwm周期分成很多份的10ms时间。

每到一个10ms,控制一下io口状态即可。

比如分成100份。前70份io口1给高,后30份io口给低。

前30份io口2给高,后70份io口给低。

理论上,开一个定时器可以调无数个pwm。

}

总述: 8STC15系列单片机相比于89系列内部资源得到了极大地丰富. 它内部有5个16位可重载初值的定时器T0~T4, 注意可重载, 89系列可重载的只有8位, 16位必须在中断中重载一次. 不只如此它还有4个全双工一步串行口, 自带8通道高速10位ADC, 8路PWM(带死区), 6通道15位专用高精度PWM等等. web

拿到芯片必须从它的引脚学起, 实质就是经过IO口接触片内的寄存器了 . 个人是PDIP-40封装的.
* P0.4和P0.5能够配置为定时器T3的时钟输出端和外部计数输入端
* P0.6和P0.7能够配置为定时器T4的时钟输入端和外部计数输入端

* P1.0和P1.1能够配置为CCP0和CCP1, 用做外部信号捕捉, 高速脉冲输出或者脉宽调制输出通道, 还能够配置成串行口2的RxD2和TxD2.
* P1.2能够配置成SS(SPI同步接口从机选择信号引脚切换端), 或者配置为ECI(PCA计数器外部脉冲输入端) , 还能够配置为CMPO(比较器比较结果输出端)

* P5.4引脚能够配置为RST(复位端)或者MCLKO(主时钟输出可输出不分频,2分频,4分频主时钟)或者配置为SS_3(SPI接口从机选择信号引脚切换端)或者配置为CMP-(比较器负极输入端)

7>特殊引脚功能配置
* P1.7和P1.6能够用于外接晶振输入端时,它们上电复位后为高阻输入模式
* P2.0/RSTOUT_LOW引脚,P2.0引脚在上电复位后能够输出低电平,也能够输出高电平接口

8>IO口工做模式的设置

注意PxM1,PxM0为8位寄存器, 只有同时设置才能正肯定义某个引脚的共奏模式.

}

我要回帖

更多关于 dac输出为什么要低通滤波 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信