[KungFu8位 MCU] KF8F系列定时器例程

[复制链接]
1123|4
 楼主| 原味_郭 发表于 2017-5-26 15:36 | 显示全部楼层 |阅读模式
  1. /****************************************************************************************
  2. *
  3. * 文件名: main.c
  4. * 项目名: 01-TIME0_TSET
  5. * 版 本: v1.0
  6. * 日 期: 2016年05月31日 10时03分10秒
  7. * 作 者: Administrator
  8. * 程序说明:T0定时例程。
  9. * 适用芯片:KF8FXXXX系列
  10. *                         KF8SXXXX系列
  11. *                         KF8TSXXXX系列
  12. *                         KF8VXXX系列
  13. ****************************************************************************************/
  14. #include<KF8S1011.h>
  15. /****************************************************************************************
  16. * 函数名:   init_mcu
  17. * 函数功能:mcu初始化函数
  18. * 入口参数:无
  19. * 返回:       无
  20. ****************************************************************************************/
  21. void init_mcu()
  22. {
  23.         /***时钟初始化****/
  24.         OSCCTL = 0x70;          //设置为16M
  25.         /***端口初始化****/
  26.         TR0 = 0x08;                                //设置VPP P03端口为输入,P0其他I/O口为输出
  27.         TR1 = 0x00;                                //设置P1端口为输出
  28.         TR2 = 0x00;                                //设置P2端口为输出
  29.         TR3 = 0x00;                                //设置P3端口为输出
  30.         TR4 = 0x00;
  31.         P0 = 0;
  32.         P1 = 0;
  33.         P2 = 0;
  34.         P3 = 0;
  35.         P4 = 0;
  36. }
  37. /****************************************************************************************
  38. * 函数名:   init_T0
  39. * 函数功能:T0初始化函数
  40. * 入口参数:无
  41. * 返回:       无
  42. ****************************************************************************************/
  43. void init_T0()
  44. {
  45.         T0CS = 0;      //定时模式
  46.         T0 = 155;      //定时25us
  47.         T0IF = 0;      //清除T0中断标志
  48.         T0IE = 1;           //T0中断使能
  49.         AIE  = 1;      //使能全局变化中断
  50. }
  51. //主函数
  52. void main()
  53. {
  54.         init_mcu();
  55.         init_T0();
  56.         while(1)
  57.         {
  58.                 _CWDT();
  59.         }
  60. }
  61. //中断函数
  62. void int_fun() __interrupt
  63. {
  64.         if(T0IF)
  65.         {
  66.                 T0IF=0;
  67.                 T0 = 155;
  68.                 P13=!P13;
  69.         }
  70. }


 楼主| 原味_郭 发表于 2017-5-26 15:39 | 显示全部楼层
01-TIME0_TSET.rar (78.19 KB, 下载次数: 9)
nobleliom 发表于 2017-5-30 10:39 | 显示全部楼层
只有T0这么一个寄存器赋值吗?看来是8位的定时器,不是16位的
会飞的大白 发表于 2017-5-30 10:41 | 显示全部楼层
nobleliom 发表于 2017-5-30 10:39
只有T0这么一个寄存器赋值吗?看来是8位的定时器,不是16位的

应该就是8位的定时器。T0是8位的,T1是16位的。
paotangsan 发表于 2018-7-16 13:04 | 显示全部楼层
这个是基本定时器的吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

224

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部