- 打卡等级:初来乍到
- 打卡总天数:1
- 最近打卡:2025-10-18 16:30:48
已绑定手机
新手上路
- 积分
- 9
|
单片机型号:STC8H4K64TLCD
PWM互补输出测试
P20,P21测试正常
P26,P27 无PWM输出
//PWM 初始化
void PWM_init3(void)
{
P_SW2 |= 0x80; //扩展功能寄存器使能
P2M0 |= 0xc0; P2M1 &= ~0xc0; //P26,P27 推挽输出
// PWMA_ENO |= 0xC0; //P27和P26脚的PWM4N和PWM4P 使能
PWMA_ENO = 0xC0;
// PWMA_PS |= (1<<6); //PWA通道4 在P26,P27
PWMA_PS = 0x40;
PWM1-> PSCRH = 0x00; //预分频寄存器
PWM1-> PSCRL = 0x00;
PWM1-> DTR = 0x2C; //死区时间配置
PWM1-> CCMR1 = 0x68; //通道模式配置
PWM1-> CCMR1 = 0x68; //通道模式配置
PWM1-> ARRH = 0x0A; //高位 自动重装载寄存器,计数器 overflow 点
PWM1-> ARRL = 0xCC; //低位 ARRH ARRL 低电平维持时间
PWM1-> CCR4H = 0x05; //高位 计数器比较值
PWM1-> CCR4L = 0x34; //低位 CCR1HCCR1L高电平维持时间
PWM1-> CCER1 = 0x55; //配置通道输出使能和极性
PWM1-> BKR = 0x80; //主输出使能 相当于总开关
PWM1-> CR1 = 0x01; //使能计数器
EA = 1;
}
//main.c
void main() //主函数
{
// LED_Config();
Timer0_Init();
EA = 1; //开总中断
LED0 = 0;
PWM_init3();
while(1)
{
;
}
}
|
|