203 lines
8.3 KiB
Plaintext
203 lines
8.3 KiB
Plaintext
C51 COMPILER V9.59.0.0 SC92F_TIMER0 01/18/2024 10:03:12 PAGE 1
|
||
|
||
|
||
C51 COMPILER V9.59.0.0, COMPILATION OF MODULE SC92F_TIMER0
|
||
OBJECT MODULE PLACED IN ..\Output\sc92f_timer0.obj
|
||
COMPILER INVOKED BY: D:\Keil_v5\C51\BIN\C51.EXE ..\FWLib\SC92F_Lib\src\sc92f_timer0.c LARGE OBJECTADVANCED OPTIMIZE(8,SI
|
||
-ZE) BROWSE INCDIR(..\FWLib\SC92F_Lib\inc;..\User;..\Apps;..\Apps;..\User) DEFINE(SC92F836xB) DEBUG PRINT(..\List\sc92f_t
|
||
-imer0.lst) OBJECT(..\Output\sc92f_timer0.obj)
|
||
|
||
line level source
|
||
|
||
1 //************************************************************
|
||
2 // Copyright (c) 深圳市赛元微电子有限公司
|
||
3 // 文件名称: sc92f_tiemr0.c
|
||
4 // 作者: 赛元应用团队
|
||
5 // 模块功能: TIMER0固件库函数C文件
|
||
6 // 最后更正日期: 2022年3月23日
|
||
7 // 版本: V1.10002
|
||
8 // 说明:
|
||
9 //*************************************************************
|
||
10
|
||
11 #include "sc92f_timer0.h"
|
||
12
|
||
13 /**************************************************
|
||
14 *函数名称:void TIM0_DeInit(void)
|
||
15 *函数功能:TIMER0相关寄存器复位至缺省值
|
||
16 *入口参数:void
|
||
17 *出口参数:void
|
||
18 **************************************************/
|
||
19 void TIM0_DeInit(void)
|
||
20 {
|
||
21 1 TMOD &= 0XF0;
|
||
22 1 TCON &= 0XCD;
|
||
23 1 TMCON &= 0XFE;
|
||
24 1 TH0 = 0X00;
|
||
25 1 TL0 = 0X00;
|
||
26 1 ET0 = 0;
|
||
27 1 IPT0 = 0;
|
||
28 1 }
|
||
29
|
||
30 /**************************************************
|
||
31 *函数名称:void TIM0_TimeBaseInit(TIM0_PresSel_TypeDef TIM0_PrescalerSelection, TIM0_CountMode_TypeDef TIM0
|
||
-_CountMode)
|
||
32 *函数功能:TIMER0基本设置配置函数
|
||
33 *入口参数:
|
||
34 TIM0_PresSel_TypeDef:TIM0_PrescalerSelection:预分频选择
|
||
35 TIM0_CountMode_TypeDef:TIM0_CountMode:计数/定时模式选择
|
||
36 *出口参数:void
|
||
37 **************************************************/
|
||
38 void TIM0_TimeBaseInit(TIM0_PresSel_TypeDef
|
||
39 TIM0_PrescalerSelection,
|
||
40 TIM0_CountMode_TypeDef TIM0_CountMode)
|
||
41 {
|
||
42 1 if(TIM0_PrescalerSelection ==
|
||
43 1 TIM0_PRESSEL_FSYS_D12)
|
||
44 1 {
|
||
45 2 TMCON &= 0XFE;
|
||
46 2 }
|
||
47 1 else
|
||
48 1 if(TIM0_PrescalerSelection ==
|
||
49 1 TIM0_PRESSEL_FSYS_D1)
|
||
50 1 {
|
||
51 2 TMCON |= 0X01;
|
||
52 2 }
|
||
C51 COMPILER V9.59.0.0 SC92F_TIMER0 01/18/2024 10:03:12 PAGE 2
|
||
|
||
53 1
|
||
54 1 if(TIM0_CountMode == TIM0_MODE_TIMER)
|
||
55 1 {
|
||
56 2 TMOD &= 0xFB;
|
||
57 2 }
|
||
58 1 else
|
||
59 1 if(TIM0_CountMode == TIM0_MODE_COUNTER)
|
||
60 1 {
|
||
61 2 TMOD |= 0x04;
|
||
62 2 }
|
||
63 1 }
|
||
64
|
||
65 /**************************************************
|
||
66 *函数名称:void TIM0_WorkMode0Config(uint16_t TIM0_SetCounter)
|
||
67 *函数功能:TIMER0工作模式0配置函数
|
||
68 *入口参数:
|
||
69 uint16_t:TIM0_SetCounter:配置计数初值
|
||
70 *出口参数:void
|
||
71 **************************************************/
|
||
72 void TIM0_WorkMode0Config(uint16_t
|
||
73 TIM0_SetCounter)
|
||
74 {
|
||
75 1 TMOD &= 0XFC;
|
||
76 1 TL0 = (uint8_t)TIM0_SetCounter;
|
||
77 1 TH0 = (TIM0_SetCounter >> 5);
|
||
78 1 }
|
||
79
|
||
80 /**************************************************
|
||
81 *函数名称:void TIM0_WorkMode1Config(uint16_t TIM0_SetCounter)
|
||
82 *函数功能:TIMER0工作模式1配置函数
|
||
83 *入口参数:
|
||
84 uint16_t:TIM0_SetCounter:配置计数初值
|
||
85 *出口参数:void
|
||
86 **************************************************/
|
||
87 void TIM0_WorkMode1Config(uint16_t
|
||
88 TIM0_SetCounter)
|
||
89 {
|
||
90 1 TMOD &= 0XFC;
|
||
91 1 TMOD |= 0X01;
|
||
92 1 TL0 = TIM0_SetCounter % 256;
|
||
93 1 TH0 = TIM0_SetCounter / 256;
|
||
94 1 }
|
||
95
|
||
96 /**************************************************
|
||
97 *函数名称:void TIM0_WorkMode2Config(uint8_t TIM0_SetCounter)
|
||
98 *函数功能:TIMER0工作模式2配置函数
|
||
99 *入口参数:
|
||
100 uint8_t:TIM0_SetCounter:配置计数初值
|
||
101 *出口参数:void
|
||
102 **************************************************/
|
||
103 void TIM0_WorkMode2Config(uint8_t TIM0_SetCounter)
|
||
104 {
|
||
105 1 TMOD &= 0XFC;
|
||
106 1 TMOD |= 0X02;
|
||
107 1 TL0 = TIM0_SetCounter;
|
||
108 1 TH0 = TIM0_SetCounter;
|
||
109 1 }
|
||
110
|
||
111 /**************************************************
|
||
112 *函数名称:void TIM0_WorkModeConfig(TIM0_WorkMode_TypeDef TIM0_WorkMode, uint16_t TIM0_SetCounter1, uint16_
|
||
-t TIM0_SetCounter2)
|
||
113 *函数功能:TIMER0工作模式配置函数
|
||
C51 COMPILER V9.59.0.0 SC92F_TIMER0 01/18/2024 10:03:12 PAGE 3
|
||
|
||
114 *入口参数:
|
||
115 TIM0_WorkMode_TypeDef:TIM0_WorkMode:TIMER0工作模式选择
|
||
116 uint16_t:TIM0_SetCounter1:TIMER0计数初值配置1
|
||
117 uint16_t:TIM0_SetCounter2:TIMER0计数初值配置2
|
||
118 *出口参数:void
|
||
119 **************************************************/
|
||
120 void TIM0_WorkModeConfig(TIM0_WorkMode_TypeDef
|
||
121 TIM0_WorkMode, uint16_t TIM0_SetCounter1,
|
||
122 uint16_t TIM0_SetCounter2)
|
||
123 {
|
||
124 1 switch (TIM0_WorkMode)
|
||
125 1 {
|
||
126 2 case TIM0_WORK_MODE0:
|
||
127 2 TIM0_WorkMode0Config(TIM0_SetCounter1);
|
||
128 2 break;
|
||
129 2
|
||
130 2 case TIM0_WORK_MODE1:
|
||
131 2 TIM0_WorkMode1Config(TIM0_SetCounter1);
|
||
132 2 break;
|
||
133 2
|
||
134 2 case TIM0_WORK_MODE2:
|
||
135 2 TIM0_WorkMode2Config(TIM0_SetCounter1);
|
||
136 2 break;
|
||
137 2
|
||
138 2 case TIM0_WORK_MODE3:
|
||
139 2 TIM0_WorkMode3Config(TIM0_SetCounter1,
|
||
140 2 TIM0_SetCounter2);
|
||
141 2 break;
|
||
142 2 default:
|
||
143 2 break;
|
||
144 2 }
|
||
145 1 }
|
||
146
|
||
147 /**************************************************
|
||
148 *函数名称:void TIM0_WorkMode3Config(uint8_t TIM0_SetCounter, uint8_t TIM1_SetCounter)
|
||
149 *函数功能:TIMER0工作模式3配置函数
|
||
150 *入口参数:
|
||
151 uint8_t:TIM0_SetCounter:配置TIMER0_TL0计数初值
|
||
152 uint8_t:TIM1_SetCounter
|
||
153 配置TIMER0_TH0计数初值
|
||
154 *出口参数:void
|
||
155 **************************************************/
|
||
156 void TIM0_WorkMode3Config(uint8_t TIM0_SetCounter,
|
||
157 uint8_t TIM1_SetCounter)
|
||
158 {
|
||
159 1 TMOD |= 0X03;
|
||
160 1 TL0 = TIM0_SetCounter;
|
||
161 1 TH0 = TIM1_SetCounter;
|
||
162 1 }
|
||
163
|
||
164
|
||
165 /******************* (C) COPYRIGHT 2020 SinOne Microelectronics *****END OF FILE****/
|
||
|
||
|
||
MODULE INFORMATION: STATIC OVERLAYABLE
|
||
CODE SIZE = 204 ----
|
||
CONSTANT SIZE = ---- ----
|
||
XDATA SIZE = ---- 2
|
||
PDATA SIZE = ---- ----
|
||
DATA SIZE = ---- ----
|
||
IDATA SIZE = ---- ----
|
||
BIT SIZE = ---- ----
|
||
C51 COMPILER V9.59.0.0 SC92F_TIMER0 01/18/2024 10:03:12 PAGE 4
|
||
|
||
EDATA SIZE = ---- ----
|
||
HDATA SIZE = ---- ----
|
||
XDATA CONST SIZE = ---- ----
|
||
FAR CONST SIZE = ---- ----
|
||
END OF MODULE INFORMATION.
|
||
|
||
|
||
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
|