STC12C5A60S2输出PWM,STC12C5A60S2输出PWM程序
在众多的51系列单片机中,要算国内STC 公司的1T增强系列更具有竞争力,因他不但和8051指令、管脚完全兼容,而且其片内的具有大容量程序存储器且是FLASH工艺的,如STC12C5A60S2单片机内部就自带高达60K FLASHROM,这种工艺的存储器用户可以用电的方式瞬间擦除、改写。而且STC系列单片机支持串口程序烧写。显而易见,这种单片机对开发设备的要求很低,开发时间也大大缩短。
PWM(2路)/PCA(可编程计数器阵列,2路):
——也可用来当2路D/A使用
——也可用来再实现2个定时器
——也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持);
STC12C5A60S2内部PWM模块程序:
**********************************************
说明: 单片机的PCA_PWM使用,60S2只有两个PWM输出,,也可以通过AUXR设置到P4口。
/*********************************************/
#include《》
#include《》
#define uchar unsigned char
#define uint unsigned int
//新一代 1T 8051系列单片机PCA/PWM 特殊功能寄存器
// 7 6 5 4 3 2 1 0 Reset Value
ON = 0xD8; //PCA 控制寄存器。 CF CR - - - - F0 00xx,xx00
//-----------------------
sbit CF = CCON; //PCA计数器溢出标志,由硬件或软件置位,必须由软件清0。
sbit CR = CCON; //1:允许 PCA 计数器计数, 必须由软件清0。
//-
//-
F1 = CCON; //PCA 模块1 中断标志, 由硬件置位, 必须由软件清0。
F0 = CCON
; //PCA 模块0 中断标志, 由硬件置位, 必须由软件清0。
//-----------------------
sfr CMOD = 0xD9; //PCA 工作模式寄存器。 CIDL - - - CPS2 CPS1 CPS0 ECF 0xxx,x000
/*
CIDL: idle 状态时 PCA 计数器是否继续计数, 0: 继续计数, 1: 停止计数。
CPS2: PCA 计数器脉冲源选择位 2。
CPS1: PCA 计数器脉冲源选择位 1。
CPS0: PCA 计数器脉冲源选择位 0。
CPS2 CPS1 CPS0
0 0 0 系统时钟频率 fosc/12。
0 0 1 系统时钟频率 fosc/2。
0 1 0 TImer0 溢出。
0 1 1 由 ECI/ 脚输入的外部时钟,最大 fosc/2。
1 0 0 系统时钟频率, Fosc/1
1 0 1 系统时钟频率/4,Fosc/4
1 1 0 系统时钟频率/6,Fosc/
STC12C5A60S2输出PWM,STC12C5A60S2输出PWM程序 来自淘豆网www.taodocs.com转载请标明出处.