ct_test/Keil_C/List/sc92f_timer1.lst

175 lines
7.1 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_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)