* 程序说明:16位T1定时例程,单一时钟源。
* 适用芯片: KF8FXXX系列
* KF8SXXXX系列
* KF8TS24XX系列
* KF8VXXX系列——KF8V111、KF8V120、KF8V200、KF8V204、KF8V211、KF8V216、KF8V218、KF8V220
- /****************************************************************************************
- *
- * 文件名: main.c
- * 项目名: 02-TIME1_TSET_1
- * 版 本: v1.0
- * 日 期: 2016年05月31日 10时03分10秒
- * 作 者: Administrator
- * 程序说明:16位T1定时例程,单一时钟源。
- * 适用芯片: KF8FXXX系列
- * KF8SXXXX系列
- * KF8TS24XX系列
- * KF8VXXX系列——KF8V111、KF8V120、KF8V200、KF8V204、KF8V211、KF8V216、KF8V218、KF8V220
- ****************************************************************************************/
- #include<KF8S1011.h>
- /****************************************************************************************
- * 函数名: init_mcu
- * 函数功能:mcu初始化函数
- * 入口参数:无
- * 返回: 无
- ****************************************************************************************/
- 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 = 255;
- T1L = 170; //定时25us
- T1CTL = 0x01; //启动T1
- T1IF = 0; //清除T1中断标志
- T1IE = 1; //T1中断使能
- PUIE = 1; //使能外设中断
- AIE = 1; //使能全局变化中断
- }
- //主函数
- void main()
- {
- init_mcu();
- init_T1();
- while(1)
- {
- _CWDT();
- }
- }
- //中断函数
- void int_fun() __interrupt
- {
- if(T1IF)
- {
- T1IF=0;
- T1H = 255;
- T1L = 170; //定时25us
- P13=!P13;
- }
- }
|