?? main.c
字號:
/****************************************Copyright (c)**************************************************
** Guangzou ZLG-MCU Development Co.,LTD.
** graduate school
** http://www.zlgmcu.com
**
**--------------File Info-------------------------------------------------------------------------------
** File name: main.c
** Last modified Date: 2004-09-16
** Last Version: 1.0
** Descriptions: The main() function example template
**
**------------------------------------------------------------------------------------------------------
** Created by: Chenmingji
** Created date: 2004-09-16
** Version: 1.0
** Descriptions: The original version
**
**------------------------------------------------------------------------------------------------------
** Modified by: Chenxibing
** Modified date: 2005-01-19
** Version:
** Descriptions: 雙邊沿PWM輸出實驗。
**
********************************************************************************************************/
#include "config.h"
/*
*********************************************************************************************************
** 函數(shù)名稱 :PWM_Init()
** 函數(shù)功能 :PWM初始化
** 入口參數(shù) :無
** 出口參數(shù) :無
*********************************************************************************************************
*/
void PWM_Init()
{
uint32 tmp;
tmp = Fpclk / 100;
PWMPR = 0x09; // 對pclk進行分頻,PWM計數(shù)頻率為Fpclk的1/10
PWMMCR = 0x02; // PWMMR0與PWMTC匹配時復位PWMTC
PWMPCR = (1 << 2) | // PWM2雙邊沿控制
(1 << 4) | // PWM4雙邊沿控制
(1 << 6) | // PWM6雙邊沿控制
(1 << 10) | // 使能PWM2輸出
(1 << 12) | // 使能PWM4輸出
(1 << 14); // 使能PWM6輸出
PWMMR0 = tmp; // PWM速率控制/計數(shù)初值
/* 設置雙邊沿脈沖的脈寬和位置 */
PWMMR1 = 0; // PWM2的位置
PWMMR2 = (tmp / 8) * 7;
PWMMR3 = tmp / 4; // PWM4的位置
PWMMR4 = (tmp / 8) * 6;
PWMMR5 = (tmp / 8) * 3; // PWM6的位置
PWMMR6 = (tmp / 8) * 5;
PWMLER = 0x7F; // 鎖存所有PWM匹配值
PWMTCR = 0x02; // 復位PWMTC
PWMTCR = 0x09; // 使能PWM
}
/*
*********************************************************************************************************
** 函數(shù)名稱 :main()
** 函數(shù)功能 :演示雙邊沿PWM現(xiàn)象。
** 函數(shù)說明 :需要用多通道示波器或者邏輯分析儀進行觀察
*********************************************************************************************************
*/
int main (void)
{
PINSEL0 = (2 << 14) | // P0.7連接PWM2
(2 << 16) | // P0.8連接PWM4
(2 << 18); // P0.9連接PWM6
PWM_Init(); // PWM初始化
while (1);
return 0;
}
/*********************************************************************************************************
** End Of File
********************************************************************************************************/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -