ok,非常感谢
wnagming 发表于 2024-9-4 13:28
1us定时,频率就是1M,你的主频怎么着也得50M,才能有实用价值,中断函数语句还不能太多 ...
这是实际问题 Lkck8210 发表于 2024-9-4 10:00
STC12C5616AD有PCA/PWM模块
可以用定时器的1us溢出来作时钟源
那就不用频繁进出中断
我把这个代码复制到项目里,但没有产生出PWM信号。
我现在需要一个频率是10KHz,占空比50%的PWM信号。
在5616AD的P3.5口输出。可否帮忙給个完整的代码?非常谢谢!
liuyu8087 发表于 2024-9-9 14:37
我把这个代码复制到项目里,但没有产生出PWM信号。我现在需要一个频率是10KHz,占空比50%的PWM信号。在56 ...
/*------------------------------------------------------------------*/
/* --- STC MCU Limited ---------------------------------------------*/
/* --- STC12C56xx Series MCU PCA module output PWM wave Demo -------*/
/* --- Mobile: (86)13922805190 -------------------------------------*/
/* --- Fax: 86-0513-55012956,55012947,55012969 ---------------------*/
/* --- Tel: 86-0513-55012928,55012929,55012966----------------------*/
/* --- Web: www.STCMCU.com -----------------------------------------*/
/* --- Web: www.GXWMCU.com -----------------------------------------*/
/* If you want to use the program or the program referenced in the*/
/* article, please specify in which data and procedures from STC */
/*------------------------------------------------------------------*/
#include <STC12C5630AD.H>
#include "intrins.h"
#define FOSC 11059200L
typedef unsigned char BYTE;
typedef unsigned int WORD;
void Timer0_Init(void) //0.333微秒@12.000MHz
{
AUXR |= 0x80; //定时器时钟1T模式
TMOD &= 0xF0; //设置定时器模式
TMOD |= 0x02; //设置定时器模式
TL0 = 0xFC; //设置定时初始值
TH0 = 0xFC; //设置定时重载值
TF0 = 0; //清除TF0标志
TR0 = 1; //定时器0开始计时
}
void main()
{
Timer0_Init();
CCON = 0; //Initial PCA control register
//PCA timer stop running
//Clear CF flag
//Clear all module interrupt flag
CL = 0; //Reset PCA base timer
CH = 0;
CMOD = 0x04; //Set PCA timer clock source as Timer0 overflow
//Disable PCA timer overflow interrupt
CCAP1H = CCAP1L = 0x7f; //PWM1 port output 50% duty cycle square wave
//修改这个值控制PWM输出
PCA_PWM1 = 0x00;
CCAPM1 = 0x42; //PCA module-1 work in 8-bit PWM mode and no PCA interrupt
CR = 1; //PCA timer start run
while (1);
}
liuyu8087 发表于 2024-9-9 14:37
我把这个代码复制到项目里,但没有产生出PWM信号。
我现在需要一个频率是10KHz,占空比50%的PWM信号。
在5 ...
我是新人,占空比 50%的信号就是 方波 ?
也就是你要时钟输出 ?
管脚兼容的 12H1K16-36I-TSSOP20/28, SOP20/28, LQFP32
在 P3.5上可以T0CLKO, 用T0对主时钟分频输出时钟,无需中断干预
页:
1
[2]