📄 pwm.c
字号:
#include <c8051f020.h>
#define uint8 unsigned char
#define uint16 unsigned int
void Init_SYSCLK(void)
{
uint8 i;
OSCXCN = 0X67;//开始外部22.1184M晶振
for(i = 0;i < 128;i++); //等待外部起振
while(!(OSCXCN & 0X80)); //查询标志位
OSCICN = 0X88;//用外部晶振,并使能始终丢
}
void Init_PCA(void)
{
PCA0MD=0X00; //09
PCA0L=0X00;
PCA0H=0X00;
PCA0CPM0=0X46;//CB
//PCA0CPL0=0;
//PCA0CPH1=0X80;
PCA0CPH0=0Xc8;//4.6k
PCA0CPM1=0X46; //4c高速输出模式,46频率输出模式
//CCAP3L=0XFF;
PCA0CPH1=0Xb8; //5k
PCA0CPM2=0X46; //4c高速输出模式,46频率输出模式
PCA0CPH2=0Xc0; //4.8k
PCA0CPM3=0X46;
PCA0CPH3=0Xb1;//5.2k
PCA0CPM4=0X46;
PCA0CPH4=0Xaa;//5.4K
PCA0CN=0X40;
//EIE1=0X08;
}
void Init_PORT(void)
{
//XBR0=0X20;
XBR0=0X2c;
XBR2=0X40;
P0MDOUT=0XFF;
}
/*
void PCA_ISR(void) interrupt 9
{
CF=0;
CCF1=1;
} */
void main(void)
{
WDTCN = 0xde;
WDTCN = 0xad;//关闭看门狗
Init_SYSCLK();
Init_PORT();
Init_PCA();
// EA=1;
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -