📄 pwm.txt
字号:
#include <c8051f000.h>
#include <stdio.h>
#include <intrins.h>
#define PWM 0x80 // 设置占空比50%
void main(void )
{
unsigned char a;
unsigned int b;
WDTCN = 0xde; // 禁止看门狗定时器
WDTCN = 0xad;
OSCICN = 0x07; // 设置SYSCLK到16MHz,内部振荡器。
PORT_Init ();
PCA_Init ();
while (1)
{
PCON |= 0x01; // 设置等待方式
}
}
//--------------------------------------------------------------------
//配置I/O端口
//--------------------------------------------------------------------
void PORT_Init (void)
{
XBR0 = 0x08; //CEX0-->P0.0
XBR2 = 0x40; //使能交叉开关和弱闪拉
PRT0CF |= 0x01; //使能P0.0脚推挽输出
}
//--------------------------------------------------------------------
//配置PCA的CEX0输出8位PWM信号
// PCA时基= SYSCLK / 4
//--------------------------------------------------------------------
void PCA_Init (void)
{
PCA0MD = 0x02; // 禁止CF中断
PCA0CN = 0x40; // 允许PCA计数器
PCA0CPM0 = 0x42; // PWM0为8位PWM方式
PCA0CPL0 = PWM; // 初始化PCA的PWM值
PCA0CPH0 = PWM;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -