C51 COMPILER V9.59.0.0 STC8A_TIMER 06/10/2021 10:21:45 PAGE 1 C51 COMPILER V9.59.0.0, COMPILATION OF MODULE STC8A_TIMER OBJECT MODULE PLACED IN .\list\STC8A_Timer.obj COMPILER INVOKED BY: C:\Keil_v5\C51\BIN\C51.EXE ..\Driver\src\STC8A_Timer.c LARGE OMF2 OPTIMIZE(8,SPEED) BROWSE INCDIR(. -.\Driver\inc;..\User;..\App\inc) DEBUG PRINT(.\list\STC8A_Timer.lst) TABS(2) OBJECT(.\list\STC8A_Timer.obj) line level source 1 /*---------------------------------------------------------------------*/ 2 /* --- STC MCU Limited ------------------------------------------------*/ 3 /* --- STC 1T Series MCU Demo Programme -------------------------------*/ 4 /* --- Mobile: (86)13922805190 ----------------------------------------*/ 5 /* --- Fax: 86-0513-55012956,55012947,55012969 ------------------------*/ 6 /* --- Tel: 86-0513-55012928,55012929,55012966 ------------------------*/ 7 /* --- Web: www.STCMCU.com --------------------------------------------*/ 8 /* --- Web: www.STCMCUDATA.com ---------------------------------------*/ 9 /* --- QQ: 800003751 -------------------------------------------------*/ 10 /* 如果要在程序中使用此代码,请在程序中注明使用了STC的资料及程序 */ 11 /*---------------------------------------------------------------------*/ 12 13 #include "STC8A_Timer.h" 14 15 //======================================================================== 16 // 函数: u8 Timer_Inilize(u8 TIM, TIM_InitTypeDef *TIMx) 17 // 描述: 定时器初始化程序. 18 // 参数: TIMx: 结构参数,请参考timer.h里的定义. 19 // 返回: 成功返回 SUCCESS, 错误返回 FAIL. 20 // 版本: V1.0, 2012-10-22 21 //======================================================================== 22 u8 Timer_Inilize(u8 TIM, TIM_InitTypeDef *TIMx) 23 { 24 1 if(TIM == Timer0) 25 1 { 26 2 Timer0_Stop(); //停止计数 27 2 if(TIMx->TIM_Mode >= TIM_16BitAutoReloadNoMask) return FAIL; //错误 28 2 TMOD = (TMOD & ~0x03) | TIMx->TIM_Mode; //工作模式,0: 16位自动重装, 1: 16位定时/计数, 2: 8位自动重装, 3: - 不可屏蔽16位自动重装 29 2 if(TIMx->TIM_ClkSource > TIM_CLOCK_Ext) return FAIL; 30 2 Timer0_CLK_Select(TIMx->TIM_ClkSource); //对外计数或分频, 定时12T/1T 31 2 Timer0_CLK_Output(TIMx->TIM_ClkOut); //输出时钟使能 32 2 T0_Load(TIMx->TIM_Value); 33 2 Timer0_Run(TIMx->TIM_Run); 34 2 return SUCCESS; //成功 35 2 } 36 1 37 1 if(TIM == Timer1) 38 1 { 39 2 Timer1_Stop(); //停止计数 40 2 if(TIMx->TIM_Mode >= TIM_16BitAutoReloadNoMask) return FAIL; //错误 41 2 TMOD = (TMOD & ~0x30) | (TIMx->TIM_Mode << 4); //工作模式,0: 16位自动重装, 1: 16位定时/计数, 2: 8位自动� -刈�, 3: 停止工作 42 2 if(TIMx->TIM_ClkSource > TIM_CLOCK_Ext) return FAIL; 43 2 Timer1_CLK_Select(TIMx->TIM_ClkSource); //对外计数或分频, 定时12T/1T 44 2 Timer1_CLK_Output(TIMx->TIM_ClkOut); //输出时钟使能 45 2 T1_Load(TIMx->TIM_Value); 46 2 Timer1_Run(TIMx->TIM_Run); 47 2 return SUCCESS; //成功 48 2 } 49 1 50 1 if(TIM == Timer2) //Timer2,固定为16位自动重装, 中断无优先级 51 1 { 52 2 Timer2_Stop(); //停止计数 C51 COMPILER V9.59.0.0 STC8A_TIMER 06/10/2021 10:21:45 PAGE 2 53 2 Timer2_CLK_Select(TIMx->TIM_ClkSource); //对外计数或分频, 定时12T/1T 54 2 Timer2_CLK_Output(TIMx->TIM_ClkOut); //输出时钟使能 55 2 56 2 T2_Load(TIMx->TIM_Value); 57 2 Timer2_Run(TIMx->TIM_Run); 58 2 return SUCCESS; //成功 59 2 } 60 1 61 1 if(TIM == Timer3) //Timer3,固定为16位自动重装, 中断无优先级 62 1 { 63 2 Timer3_Stop(); //停止计数 64 2 if(TIMx->TIM_ClkSource > TIM_CLOCK_Ext) return FAIL; 65 2 Timer3_CLK_Select(TIMx->TIM_ClkSource); //对外计数或分频, 定时12T/1T 66 2 Timer3_CLK_Output(TIMx->TIM_ClkOut); //输出时钟使能 67 2 68 2 T3_Load(TIMx->TIM_Value); 69 2 Timer3_Run(TIMx->TIM_Run); 70 2 return SUCCESS; //成功 71 2 } 72 1 73 1 if(TIM == Timer4) //Timer3,固定为16位自动重装, 中断无优先级 74 1 { 75 2 Timer4_Stop(); //停止计数 76 2 if(TIMx->TIM_ClkSource > TIM_CLOCK_Ext) return FAIL; 77 2 Timer4_CLK_Select(TIMx->TIM_ClkSource); //对外计数或分频, 定时12T/1T 78 2 Timer4_CLK_Output(TIMx->TIM_ClkOut); //输出时钟使能 79 2 80 2 T4_Load(TIMx->TIM_Value); 81 2 Timer4_Run(TIMx->TIM_Run); 82 2 return SUCCESS; //成功 83 2 } 84 1 return FAIL; //错误 85 1 } MODULE INFORMATION: STATIC OVERLAYABLE CODE SIZE = 611 ---- CONSTANT SIZE = ---- ---- XDATA SIZE = ---- ---- PDATA SIZE = ---- ---- DATA SIZE = ---- ---- IDATA SIZE = ---- ---- BIT SIZE = ---- ---- EDATA SIZE = ---- ---- HDATA SIZE = ---- ---- XDATA CONST SIZE = ---- ---- FAR CONST SIZE = ---- ---- END OF MODULE INFORMATION. C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)