⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 time_16_pwm.c

📁 easyARM8962 定时器16位pwm模式操作实验源码
💻 C
字号:
/****************************************Copyright (c)****************************************************
**                               Guangzhou ZHIYUAN electronics Co.,LTD.
**                                     
**                                 http://www.embedtools.com
**
**--------------File Info---------------------------------------------------------------------------------
** File Name:               time_16_PWM.c
** Last modified Date:      2007.09.20 
** Last Version:            v1.0
** Description:             Stellaris系列单片机定时器操作
** 
**--------------------------------------------------------------------------------------------------------
** Created By:              Ni Likao
** Created date:            2007.09.20 
** Version: v1.0
** Descriptions:            使用定时器产生一路简单的PWM波形
**
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Description:
**
*********************************************************************************************************/

#include "hw_memmap.h"
#include "hw_types.h"
#include "gpio.h"
#include "sysctl.h"
#include "timer.h"
#include "interrupt.h"

#define  LED1   GPIO_PIN_4                                              /*  设置PD4为PWMA输出           */

/*********************************************************************************************************
** Function name:           main	   
** Descriptions:            该范例程序演示了如何使用定时器的PWM功能。定时器装载值设为3000,匹配值设为2000,
**                          采用LED灯作为PWM输出,如果用户改变定时器的装载值或匹配值都会改变PWM的占空比而
**                          导致LED灯亮度变化。
** input parameters:        无
** output parameters:       无      
** Returned value:          无	 
** Created By:              Ni Likao 倪力考
** Created date:            2007.09.20
**--------------------------------------------------------------------------------------------------------
** Modified by:            
** Modified date:           
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/

int main (void)
{
    SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |
                   SYSCTL_XTAL_6MHZ);                                   /*  设定晶振为时钟源            */				   
    SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0);                       /*  使能定时器0外设             */
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);                        /*  使能GPIOD口外设             */

    IntMasterEnable();                                                  /*  使能总中断                  */
    GPIOPinTypePWM(GPIO_PORTD_BASE, LED1);                              /*  设置PD4输出PWMA波形         */
	
    TimerConfigure(TIMER0_BASE, TIMER_CFG_16_BIT_PAIR | TIMER_CFG_A_PWM);
                                                                        /*  设置16-PWMA模式         	*/
    TimerLoadSet(TIMER0_BASE, TIMER_A, 3000);                           /*  设置PWMA的装载值            */
    TimerMatchSet(TIMER0_BASE, TIMER_A, 1500);                          /*  设置PWMA的匹配值            */
    TimerEnable(TIMER0_BASE, TIMER_A);                                  /*  PWMA模式使能                */
    while (1) {
        ;
    }
}

/*********************************************************************************************************
  END FILE
*********************************************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -