ct_test/Keil_C/List/sc92f_timer0.lst

203 lines
8.3 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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)