1. STC15单片机片内ADC初始化程序的编写:
STC15单片机的ADC模块需要进行初始化才能正常工作。以下是STC15单片机片内ADC初始化程序的编写:
```
void InitADC()
{
P1ASF = 0x01; //将P1.0设置为模拟输入
ADC_RES = 0; //清零ADC结果寄存器
ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ADC_START | ADC_CH0; //打开ADC电源,选择ADC时钟,启动ADC转换,选择通道0
}
```
2. STC15单片机片内PAC在PWM模式下有关参数的计算方法:
STC15单片机的PWM模块需要设置一些参数才能正常工作,其中包括占空比、频率、计数器初值等。以下是STC15单片机片内PAC在PWM模式下有关参数的计算方法:
(1)占空比计算方法:
占空比 = PWM占空比寄存器值 / PWM计数器最大值
例如,如果PWM计数器最大值为255,PWM占空比寄存器值为128,则占空比为50%。
(2)频率计算方法:
PWM频率 = PWM时钟源频率 / PWM计数器最大值 / PWM分频系数
例如,如果PWM时钟源频率为12MHz,PWM计数器最大值为255,PWM分频系数为8,则PWM频率为12MHz / 255 / 8 = 5882.35Hz。
(3)计数器初值计算方法:
PWM计数器初值 = PWM计数器最大值 - PWM占空比寄存器值
例如,如果PWM计数器最大值为255,PWM占空比寄存器值为128,则PWM计数器初值为127。
STC15单片机的ADC模块需要进行初始化才能正常工作。以下是STC15单片机片内ADC初始化程序的编写:
```
void InitADC()
{
P1ASF = 0x01; //将P1.0设置为模拟输入
ADC_RES = 0; //清零ADC结果寄存器
ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ADC_START | ADC_CH0; //打开ADC电源,选择ADC时钟,启动ADC转换,选择通道0
}
```
2. STC15单片机片内PAC在PWM模式下有关参数的计算方法:
STC15单片机的PWM模块需要设置一些参数才能正常工作,其中包括占空比、频率、计数器初值等。以下是STC15单片机片内PAC在PWM模式下有关参数的计算方法:
(1)占空比计算方法:
占空比 = PWM占空比寄存器值 / PWM计数器最大值
例如,如果PWM计数器最大值为255,PWM占空比寄存器值为128,则占空比为50%。
(2)频率计算方法:
PWM频率 = PWM时钟源频率 / PWM计数器最大值 / PWM分频系数
例如,如果PWM时钟源频率为12MHz,PWM计数器最大值为255,PWM分频系数为8,则PWM频率为12MHz / 255 / 8 = 5882.35Hz。
(3)计数器初值计算方法:
PWM计数器初值 = PWM计数器最大值 - PWM占空比寄存器值
例如,如果PWM计数器最大值为255,PWM占空比寄存器值为128,则PWM计数器初值为127。
下一篇:编写外部中断服务子程序