当前页面为 开发中 版本,查看特定版本的文档,请在页面左下角的下拉菜单中进行选择。

timer1_pwm01_complementary_output例程

1 功能概述

本代码示例主要演示timer1的pwm01互补输出功能。

2 环境要求

  • Board: PAN221x_EVB

  • 逻辑分析仪

  • PANCHIP RISC IDE

3 编译和烧录

例程位置:PAN221x_DK_Public\01_SDK\basic_demo\timer\timer1_pwm01_complementary_output

打开timer目录下timer1_pwm01_complementary_output.sproj工程,编译整个代码工程。

4 测试方法

1、设置系统时钟源为dpll,并配置系统时钟为8Mhz;

2、pwm0为P1.0,pwm0_n位P1.5;

3、pwm1为P1.1,pwm1_n位P1.6;

4、设置pwm周期,占空比,互补输出有效电平;

5、通过杜邦线连接pwm0(P1.0)、pwm0_n(P1.5)、pwm1(P1.1)、pwm1_n(P1.6)到逻辑分析仪;

备注:pwm01周期和占空比计算方法:

pwm01周期 =(T1OVR[15:0] + 1)/ T1CLK;

pwm01占空比 = T1Dx[15:0] /(T1OVR[15:0] + 1);

5 测试现象

1、测试条件:设置系统时钟为8Mhz,T1CLK为1分频,T1OVR = 0xffff,T1D0 = 0xe666,T1D1 = 0x4ccc;

2、配置PWM0S = 1( 表示pwm初始电平为高电平,占空比期间为低电平) 和 PWM0NS = 1(表示pwm初始电平为低电平,占空比期间为高电平),pwm0(P1.0和P1.5)互补输出,测试结果如下:

image

pwm0互补输出(PWM0S = 1 和 PWM0NS = 1)

3、配置PWM0S = 0 (表示pwm初始电平为低电平,占空比期间为高电平)和 PWM0NS = 0(表示pwm初始电平为高电平,占空比期间为低电平),pwm0(P1.0和P1.5)互补输出,测试结果如下:

image

pwm0互补输出(PWM0S = 0 和 PWM0NS = 0)

4、配置PWM0S = 0(表示pwm初始电平为低电平,占空比期间为高电平) 和 PWM0NS = 1(表示pwm初始电平为低电平,占空比期间为高电平),pwm0(P1.0和P1.5)互补输出,测试结果如下:

image

pwm0互补输出(PWM0S = 0 和 PWM0NS = 1)

5、配置PWM0S = 1(表示pwm初始电平为高电平,占空比期间为低电平) 和 PWM0NS = 0(表示pwm初始电平为高电平,占空比期间为低电平),pwm0(P1.0和P1.5)互补输出,测试结果如下:

image

pwm0互补输出(PWM0S = 1 和 PWM0NS = 0)

6、配置PWM1S = 1(表示pwm初始电平为高电平,占空比期间为低电平) 和 PWM1NS = 1(表示pwm初始电平为低电平,占空比期间为高电平),pwm1(P1.1和P1.6)互补输出,测试结果如下:

image

pwm1互补输出(PWM1S = 1 和 PWM1NS = 1)

7、配置PWM1S = 0 (表示pwm初始电平为低电平,占空比期间为高电平)和 PWM1NS = 0(表示pwm初始电平为高电平,占空比期间为低电平),pwm1(P1.1和P1.6)互补输出,测试结果如下:

image

pwm1互补输出(PWM1S = 0 和 PWM1NS = 0)

8、配置PWM1S = 0 (表示pwm初始电平为低电平,占空比期间为高电平)和 PWM1NS = 1(表示pwm初始电平为低电平,占空比期间为高电平),pwm1(P1.1和P1.6)互补输出,测试结果如下:

image

pwm1互补输出(PWM1S = 0 和 PWM1NS = 1)

9、配置PWM1S =1(表示pwm初始电平为高电平,占空比期间为低电平) 和 PWM1NS = 0(表示pwm初始电平为高电平,占空比期间为低电平),pwm1(P1.1和P1.6)互补输出,测试结果如下:

image

pwm1互补输出(PWM1S = 1 和 PWM1NS = 0)

6 Rom/Ram资源使用情况

rom 138 bytes, ram 0 bytes