两个文件
main.c
#include
#include
#define U8 unsigned char
#define U16 unsigned int
void DelayMs(U8 ms);
void PWM_clock(U8 clock);
void PWM_start(U8 module,U8 mode);
//
延时子程序
/
void DelayMs(U8 ms) //
在
11.0592M
晶振下,
stc10f
系列(单周期指令)的
ms
级延时
{
U16 i;
while(ms--)
{
for(i = 0; i
}
}
主函数入口
sfr CCON
= 0xD8; //PCA
控制寄存器
sfr CMOD
= 0xD9; //PCA
模式寄存器
sfr
CCAPM0
=
0xDA;
//PCA
模
块
0
模
式
寄
存
器
//
模
块
0
对
应
P1.3/CEX0/PCA0/PWM0(STC12C5A60S2
系列
)
sfr
CCAPM1
=
0xDB;
//PCA
模
块
1
模
式
寄
存
器
//
模
块
1
对
应
P1.4/CEX1/PCA1/PWM1(STC12C5A60S2
系列
)
sfr CL
= 0xE9;
//PCA
定时寄存器
低位
sfr CH
= 0xF9; //PCA
定时寄存器
高位
sfr CCAP0L
= 0xEA; //PCA
模块
0
的
捕获寄存器
低位
sfr CCAP0H
= 0xFA;
//PCA
模块
0
的
捕获寄存器
高位
sfr CCAP1L
= 0xEB; //PCA
模块
1
的
捕获寄存器
低位
sfr CCAP1H
= 0xFB; //PCA
模块
1
的
捕获寄存器
高位
sfr PCA_PWM0 = 0xF2; //PCA
PWM
模式辅助寄存器
0
sfr PCA_PWM1 = 0xF3; //PCA
PWM
模式辅助寄存器
1
sbit CF
= 0xDF;
//PCA
计数溢出标志位
sbit CR
= 0xDE;
//PCA
计数器
运行控制位
sbit CCF1 = 0xD9;
//PCA
模块
1
中断标志