📄 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 LEDCON 0x00002000 /*P0.13引脚控制LED,低电平点亮*/
void TimeInit(void);
/*********************************************************************************************************
** 函数名称: IRQ_Server
** 功能描述: 中断处理程序,用户根据需要自己改变程序
********************************************************************************************************/
void __irq IRQ_Server(void)
{
/*进行LED的取反控制*/
if((IO0SET&LEDCON)==0) IO0SET=LEDCON; //控制LED点亮
else IO0CLR=LEDCON; //控制LED熄灭
T0IR=0x01; //清除中断标志
VICVectAddr=0x00; //通知VIC中断处理结束
}
int main (void)
{
PINSEL0=0x00000000;
IO0DIR=LEDCON; //设置LED控制口P0.13为输出
TimeInit(); // add user source code
IRQEnable();//这个是我添加的,该函数在target.h中
while(1);
return 0;
}
/********************************************************************************************************/
void TimeInit(void)
{
/*初始化定时器0,实现0.5s定时;
Fclk=Fosc*4=110592MHz*4=MHz
Fpclk=Fcclk/4=MHz/4=110592MHz
*/
T0PR=99; //设置定时器分频为100分频,得147450Hz
T0MCR=0x03; //匹配通道0匹配中断并复位T0TC
T0MR0=110592/2; //比较值
T0TCR=0x03; //启动并复位T0TC
T0TCR=0x01;
/*设置定时器0中断IRQ*/
VICIntSelect=0x00; //所有中断通道设置为IRQ中断
VICVectCntl0=0x24; //定时器0中断通道分配最高优先级(向量控制器0)
VICVectAddr0=(uint32)IRQ_Server; //设置中断服务程序地址向量
VICIntEnable=0x00000010; //使能定时器0中断
}
/*********************************************************************************************************
** End Of File
********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -