当前位置:首页 > 单片机 > 单片机
[导读]开发板上的LED1接在了PD3上,而PD3复用功能是TIM2_CC2,正好可以用来测试PWM功能。当然板上的另外2个LED也可以用,LED2对应PD2/TIM3_CC1,LED3对应PD0/TIM3_CC2。本例程通过电位器来调整LED1的亮度。#i nclude

开发板上的LED1接在了PD3上,而PD3复用功能是TIM2_CC2,正好可以用来测试PWM功能。当然板上的另外2个LED也可以用,LED2对应PD2/TIM3_CC1,LED3对应PD0/TIM3_CC2。本例程通过电位器来调整LED1的亮度。

#i nclude

void CLK_init(void)
{
CLK_CKDIVR = 0x08; // 16M内部RC经2分频后系统时钟为8M
}

void GPIO_init(void)
{
PD_DDR = 0x08; // 配置PD端口的方向寄存器PD3输出
PD_CR1 = 0x08; // 设置PD3为推挽输出
}

void TIM2_init(void)
{
TIM2_CCMR2 = 0x70; // PWM 模式 2
TIM2_CCER1 = 0x30; // CC2配置为输出
TIM2_ARRH = 0x03; // 配置PWM分辨率为10位,ARR=0x3FF
TIM2_ARRL = 0xFF; // PWM频率=8M/0x03FF=7820Hz
TIM2_CR1 = 0x01; // 计数器使能,开始计数
}

void ADC_init(void)
{
ADC_CSR = 0x03; // ADC输入引脚AIN3
ADC_CR1 = 0x01; // ADC开启
}

Run(void)
{
unsigned int value;
ADC_CSR &= ~0x80; // 清除EOC转换结束标志
ADC_CR1 |= 0x01; // 开始单次转换
while(!(ADC_CSR&0x80)); // 等待单次转换完成
value = ((int)ADC_DRH<<2); // 先读高8位,默认设置数据左对齐
value |= ADC_DRL; // 再读低8位
TIM2_CCR2H = (unsigned char)(value>>8); // 更新CC2比较寄存器
TIM2_CCR2L = (unsigned char)(value);
}

void init_devices(void)
{
asm("sim");
CLK_init();
GPIO_init();
TIM2_init();
ADC_init();
asm("rim");
}

void main( void )
{
init_devices();

while(1) Run();
}

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在这篇文章中,小编将对pwm的相关内容和情况加以介绍以帮助大家增进对它的了解程度,和小编一起来阅读以下内容吧。

关键字: pwm 脉冲宽度调制

在下述的内容中,小编将会对PWM控制器的相关消息予以报道,如果PWM控制器是您想要了解的焦点之一,不妨和小编共同阅读这篇文章哦。

关键字: pwm 控制器 pwm控制器

在下述的内容中,小编将会对PWM的相关消息予以报道,如果PWM是您想要了解的焦点之一,不妨和小编共同阅读这篇文章哦。

关键字: pwm 变换器

在这篇文章中,小编将为大家带来PWM变换器的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: pwm 变换器 pwm变换器

pwm控制器将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对pwm控制器的相关情况以及信息有所认识和了解,详细内容如下。

关键字: pwm 控制器 mppt

今天,小编将在这篇文章中为大家带来pwm控制器的有关报道,通过阅读这篇文章,大家可以对pwm控制器具备清晰的认识,主要内容如下。

关键字: pwm 控制器 mppt

CPU风扇转速调节很很多方法,其中有一种就是设置PWM斜率值,这是一种脉冲宽度调制方法,该操作需要在UEFI BIOS中设置,若是用户并未使用过PWM值,可以看看下文了解主板风扇PWM调速设置过程。

关键字: pwm 调节

随着电子技术的发展,出现了多种PWM技术,其中包括:相电压控制PWM、脉宽PWM法、随机PWM、SPWM法、线电压控制PWM等,而在镍氢电池智能充电器中采用的脉宽PWM法,它是把每一脉冲宽度均相等的脉冲列作为PWM波形,...

关键字: pwm 解析

PWM调光是什么

关键字: pwm 正弦半波

脉冲宽度调制是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。

关键字: pwm 解析
关闭
关闭