175 lines
7.1 KiB
Plaintext
175 lines
7.1 KiB
Plaintext
C51 COMPILER V9.59.0.0 SC92F_TIMER1 01/18/2024 10:03:13 PAGE 1
|
||
|
||
|
||
C51 COMPILER V9.59.0.0, COMPILATION OF MODULE SC92F_TIMER1
|
||
OBJECT MODULE PLACED IN ..\Output\sc92f_timer1.obj
|
||
COMPILER INVOKED BY: D:\Keil_v5\C51\BIN\C51.EXE ..\FWLib\SC92F_Lib\src\sc92f_timer1.c LARGE OBJECTADVANCED OPTIMIZE(8,SI
|
||
-ZE) BROWSE INCDIR(..\FWLib\SC92F_Lib\inc;..\User;..\Apps;..\Apps;..\User) DEFINE(SC92F836xB) DEBUG PRINT(..\List\sc92f_t
|
||
-imer1.lst) OBJECT(..\Output\sc92f_timer1.obj)
|
||
|
||
line level source
|
||
|
||
1 //************************************************************
|
||
2 // Copyright (c) 深圳市赛元微电子有限公司
|
||
3 // 文件名称: sc92f_timer1.c
|
||
4 // 作者: 赛元应用团队
|
||
5 // 模块功能: TIMER1固件库函数C文件
|
||
6 // 局部函数列表:
|
||
7 // 最后更正日期: 2022年3月23日
|
||
8 // 版本: V1.10001
|
||
9 // 说明:该文件仅适用于SC92F系列芯片
|
||
10 //*************************************************************
|
||
11 #include "sc92f_timer1.h"
|
||
12
|
||
13 /**************************************************
|
||
14 *函数名称:void TIM1_DeInit(void)
|
||
15 *函数功能:TIMER1相关寄存器复位至缺省值
|
||
16 *入口参数:void
|
||
17 *出口参数:void
|
||
18 **************************************************/
|
||
19 void TIM1_DeInit(void)
|
||
20 {
|
||
21 1 TMOD &= 0X0F;
|
||
22 1 TCON &= 0X37;
|
||
23 1 TMCON &= 0XFD;
|
||
24 1 TH1 = 0X00;
|
||
25 1 TL1 = 0X00;
|
||
26 1 ET1 = 0;
|
||
27 1 IPT1 = 0;
|
||
28 1 }
|
||
29
|
||
30 /**************************************************
|
||
31 *函数名称:void TIM1_TimeBaseInit(TIM1_PresSel_TypeDef TIM1_PrescalerSelection, TIM1_CountMode_TypeDef TIM1
|
||
-_CountMode)
|
||
32 *函数功能:TIMER1基本设置配置函数
|
||
33 *入口参数:
|
||
34 TIM1_PresSel_TypeDef:TIM1_PrescalerSelection:预分频选择
|
||
35 TIM1_CountMode_TypeDef:TIM1_CountMode:计数/定时模式选择
|
||
36 *出口参数:void
|
||
37 **************************************************/
|
||
38 void TIM1_TimeBaseInit(TIM1_PresSel_TypeDef TIM1_PrescalerSelection,
|
||
39 TIM1_CountMode_TypeDef TIM1_CountMode)
|
||
40 {
|
||
41 1 //判断是否需要进行分频
|
||
42 1 if(TIM1_PrescalerSelection == TIM1_PRESSEL_FSYS_D12)
|
||
43 1 {
|
||
44 2 TMCON &= 0xFD;
|
||
45 2 }
|
||
46 1 else if(TIM1_PrescalerSelection == TIM1_PRESSEL_FSYS_D1)
|
||
47 1 {
|
||
48 2 TMCON |= 0x02;
|
||
49 2 }
|
||
50 1
|
||
51 1 //TIM1工作模式
|
||
52 1 if(TIM1_CountMode == TIM1_MODE_TIMER)
|
||
C51 COMPILER V9.59.0.0 SC92F_TIMER1 01/18/2024 10:03:13 PAGE 2
|
||
|
||
53 1 {
|
||
54 2 TMOD &= 0xBF;
|
||
55 2 }
|
||
56 1 else if(TIM1_CountMode == TIM1_MODE_COUNTER)
|
||
57 1 {
|
||
58 2 TMOD |= 0x40;
|
||
59 2 }
|
||
60 1 }
|
||
61
|
||
62 /**************************************************
|
||
63 *函数名称:void TIM1_WorkMode0Config(uint16_t TIM1_SetCounter)
|
||
64 *函数功能:TIMER1工作模式0配置函数
|
||
65 *入口参数:
|
||
66 uint16_t:TIM1_SetCounter:配置计数初值
|
||
67 *出口参数:void
|
||
68 **************************************************/
|
||
69 void TIM1_WorkMode0Config(uint16_t
|
||
70 TIM1_SetCounter)
|
||
71 {
|
||
72 1 TMOD &= 0XCF;
|
||
73 1 TL1 = (uint8_t)TIM1_SetCounter;
|
||
74 1 TH1 = (TIM1_SetCounter >> 5);
|
||
75 1 }
|
||
76
|
||
77 /**************************************************
|
||
78 *函数名称:void TIM1_WorkMode1Config(uint16_t TIM1_SetCounter)
|
||
79 *函数功能:TIMER1工作模式1配置函数
|
||
80 *入口参数:
|
||
81 uint16_t:TIM1_SetCounter:配置计数初值
|
||
82 *出口参数:void
|
||
83 **************************************************/
|
||
84 void TIM1_WorkMode1Config(uint16_t
|
||
85 TIM1_SetCounter)
|
||
86 {
|
||
87 1 TMOD &= 0XCF;
|
||
88 1 TMOD |= 0X10;
|
||
89 1 TL1 = TIM1_SetCounter % 256;
|
||
90 1 TH1 = TIM1_SetCounter / 256;
|
||
91 1 }
|
||
92
|
||
93 /**************************************************
|
||
94 *函数名称:void TIM1_WorkMode2Config(uint8_t TIM1_SetCounter)
|
||
95 *函数功能:TIMER1工作模式2配置函数
|
||
96 *入口参数:
|
||
97 uint8_t:TIM1_SetCounter:配置计数初值
|
||
98 *出口参数:void
|
||
99 **************************************************/
|
||
100 void TIM1_WorkMode2Config(uint8_t TIM1_SetCounter)
|
||
101 {
|
||
102 1 TMOD &= 0XCF;
|
||
103 1 TMOD |= 0X20;
|
||
104 1 TL1 = TIM1_SetCounter;
|
||
105 1 TH1 = TIM1_SetCounter;
|
||
106 1 }
|
||
107
|
||
108 /**************************************************
|
||
109 *函数名称:void TIM1_WorkModeConfig(TIM1_WorkMode_TypeDef TIM1_WorkMode, uint16_t TIM1_SetCounter)
|
||
110 *函数功能:TIMER1工作模式配置函数
|
||
111 *入口参数:
|
||
112 TIM1_WorkMode_TypeDef:TIM1_WorkMode:TIMER1工作模式选择
|
||
113 uint16_t:TIM1_SetCounter:TIMER1计数初值配置
|
||
114 *出口参数:void
|
||
C51 COMPILER V9.59.0.0 SC92F_TIMER1 01/18/2024 10:03:13 PAGE 3
|
||
|
||
115 **************************************************/
|
||
116 void TIM1_WorkModeConfig(TIM1_WorkMode_TypeDef
|
||
117 TIM1_WorkMode, uint16_t TIM1_SetCounter)
|
||
118 {
|
||
119 1 switch(TIM1_WorkMode)
|
||
120 1 {
|
||
121 2 case TIM1_WORK_MODE0:
|
||
122 2 TIM1_WorkMode0Config(TIM1_SetCounter);
|
||
123 2 break;
|
||
124 2
|
||
125 2 case TIM1_WORK_MODE1:
|
||
126 2 TIM1_WorkMode1Config(TIM1_SetCounter);
|
||
127 2 break;
|
||
128 2
|
||
129 2 case TIM1_WORK_MODE2:
|
||
130 2 TIM1_WorkMode2Config(TIM1_SetCounter);
|
||
131 2 break;
|
||
132 2
|
||
133 2 default:
|
||
134 2 break;
|
||
135 2 }
|
||
136 1 }
|
||
137
|
||
138
|
||
139
|
||
140 /******************* (C) COPYRIGHT 2020 SinOne Microelectronics *****END OF FILE****/
|
||
|
||
|
||
MODULE INFORMATION: STATIC OVERLAYABLE
|
||
CODE SIZE = 157 ----
|
||
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)
|