【LV12 DAY21 PWM实验】

发布时间:2024年01月16日

在这里插入图片描述

PWM控制—脉冲宽度调制
通过对脉冲宽度的调制,来获得所需要的波形。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#include "exynos_4412.h"

void delay(unsigned int time)

{

	while(time--);

}

int main()

{

	//1.配置GPD0_0 PWM输出功能

	GPD0.CON=GPD0.CON &(~(0XF)) | 0X2;

	

	//2.设置PWM一级分频100

	PWM.TCFG0=PWM.TCFG0 &(~(0xff)) | 99;

	//3.设置二级分频 1   递减计数器频率100M/100=1M

	PWM.TCFG1=PWM.TCFG &(~(0xf)) | ;

	//4.设置PWM0为自动充装载,使其能够产生连续的脉冲信号

	PWM.TCON=PWM.TCON | (1<<3);

	//5.设置PWM0的周期1000HZ 1/1000 / 1/1000000=1000

	PWM.TCNTB0=1000;

	//6.设置占空比60%

	PWM.TCMPB0=600;

	//7.将TCNTB0的值第一次手动装载到计数器

	PWM.TCON=PWM.TCON | (1<<1);

	//8.关闭手动更新

	PWM.TCON=PWM.TCON & (~(1<<1));

	//9.递减计数器开始递减

	PWM.TCON=PWM.TCON | (1);

	while(1)

	{

		PWM.TCON=PWM.TCON | (1);

		delay(100000);

		PWM.TCON=PWM.TCON | (~(1));

		delay(100000);

	}

	return 0;

}
文章来源:https://blog.csdn.net/m0_46112340/article/details/135617029
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。