/****************************************************************************************
*
* 文件名: main.c
* 项目名: T1
* 版 本: v1.0
* 日 期: 2017年12月12日 20时30分30秒
* 作 者: Administrator
*
****************************************************************************************/
#include<KF8TS2716.h>
/****************************************************************************************
* 函数名: init_mcu
* 函数功能:mcu初始化函数
* 入口参数:无
* 返回: 无
****************************************************************************************/
#define uint unsigned int
uint time;
void init_mcu()
{
/***时钟初始化****/
OSCCTL = 0x70; //设置为16M
/***端口初始化****/
TR0 = 0x08; //设置VPP P03端口为输入,P0其他I/O口为输出
TR1 = 0x00; //设置P1端口为输出
TR2 = 0x00; //设置P2端口为输出
TR3 = 0x00; //设置P3端口为输出
// TR4 = 0x00;
P0 = 0;
P1 = 0;
P2 = 0;
P3 = 0;
// P4 = 0;
}
/****************************************************************************************
* 函数名: init_T1
* 函数功能:T0初始化函数
* 入口参数:无
* 返回: 无
****************************************************************************************/
void init_T1()
{
T1H = 100;
T1L = 100; //定时25us
T1CTL = 0x01; //启动T1
T1IF = 0; //清除T1中断标志
T1IE = 1; //T1中断使能
PUIE = 1; //使能外设中断
AIE = 1; //使能全局变化中断
}
void Tim_Delay(void)
{
if(time != 0)
{
time--;
}
}
void Tim_Time(uint utime)
{
time = utime;
while(time != 0);
}
//主函数
void main()
{
init_mcu();
init_T1();
while(1)
{
P34 = 1;
Tim_Time(10000);
P34 = 0;
Tim_Time(10000);
}
}
//中断函数
void int_fun() __interrupt
{
if(T1IF)
{
T1IF=0;
T1H = 100;
T1L = 100; //定时25us
//P34=!P34;
Tim_Delay();
}
}
|