?? 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:
** Modified date:
** Version:
** Descriptions:
**
********************************************************************************************************/
#include "config.h"
#define BEEP 1 << 7 // P0.7控制蜂鳴器
/*
********************************************************************************************************
** 函數(shù)名稱: PWM_Int()
** 功能描述: PWM中斷服務(wù)函數(shù),取反控制蜂鳴器。
*******************************************************************************************************
*/
void __irq PWM_Int(void)
{
PWMIR = 0x01; // 復(fù)位PWM中斷標(biāo)志
/* 取反LED9狀態(tài) */
if((IO0SET & BEEP) == 0) IO0SET = BEEP;
else IO0CLR = BEEP;
VICVectAddr = 0x00; // VIC結(jié)束
}
/*
********************************************************************************************************
** 函數(shù)名稱: main()
** 功能描述: 演示PWM作32位定時(shí)器使用實(shí)驗(yàn)。
*******************************************************************************************************
*/
int main (void)
{
PINSEL0 = 0x00000000; // 設(shè)置管腳連接GPIO
IO0DIR = BEEP;
IO0SET = BEEP;
IRQEnable(); // IRQ中斷使能
/* PWM作為定時(shí)器時(shí)的初始化 */
PWMTC = 0; // 定時(shí)器設(shè)置為0
PWMPR = 0; // 時(shí)鐘不分頻
PWMMCR = 0x03; // 設(shè)置T0MR0匹配后復(fù)位T0TC,并產(chǎn)生中斷標(biāo)志
PWMMR0 = Fpclk / 2; // 0.5秒鐘定時(shí)
PWMTCR = 0x01; // 啟動定時(shí)器
/* 設(shè)置PWM中斷 */
VICIntSelect = 0x00000000; // 所有中斷連接IRQ
VICVectCntl0 = 0x20 | 8; // 選擇通道0
VICVectAddr0 = (int)PWM_Int; // PWM中斷服務(wù)程序地址
VICIntEnable = (1 << 8); // 使能PWM中斷
while(1); // 等待中斷
return 0;
}
/*********************************************************************************************************
** End Of File
********************************************************************************************************/
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -