Timer.c 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /************************************************************************
  2. * ---- 居加居 ----
  3. * 文件名: Timer.c
  4. * 编写人员: Kinve JQ
  5. * 说明:
  6. * 版本: V0.1
  7. * 编写日期: 2018-09-30
  8. * 程序维护:
  9. * 维护记录:
  10. * 2018-09-30.Kinve:1.创建文件
  11. * 免责声明:
  12. * (c) Author Kinve JQ. All rights reserved.
  13. **************************************************************************/
  14. #include "Timer.h"
  15. uint16 Timer0_THTL;
  16. //keil设置为16mhz=16000kHz
  17. //12分频 (1~65535)/(16000khz/12) 0.000 75 ~ 49.1 ms
  18. void Timer0_init ( uint8 ms )
  19. {
  20. if ( ms < 1 || ms > 49 )
  21. {
  22. return;
  23. }
  24. Timer0_THTL = 65536 - ms * 16000 / 12;
  25. TIMER0_MODE1_ENABLE;
  26. CKCON &= ~ ( 1 << 3 ); //T0M: 0=12分频,1=不分频
  27. TH0 = HIBYTE ( Timer0_THTL ); //initial counter values
  28. TL0 = LOBYTE ( Timer0_THTL );
  29. set_ET0; //enable Timer0 interrupt
  30. set_EA; //enable interrupts
  31. set_TR0; //Timer0 run
  32. }
  33. /*************** (C) COPYRIGHT Kinve JQ *******END OF FILE **************/