实现kill按键外部中断 对p10-p12的开关
This commit is contained in:
commit
9a13d65e16
39
.vscode/c_cpp_properties.json
vendored
Normal file
39
.vscode/c_cpp_properties.json
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
{
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Target 1",
|
||||
"includePath": [
|
||||
"d:\\Users\\User\\Documents\\peek250kill control\\myinc",
|
||||
"D:\\Keil_v5\\C51\\INC",
|
||||
"d:\\Users\\User\\Documents\\peek250kill control",
|
||||
"d:\\Users\\User\\Documents\\peek250kill control\\mycode"
|
||||
],
|
||||
"defines": [
|
||||
"__C51__",
|
||||
"__VSCODE_C51__",
|
||||
"reentrant=",
|
||||
"compact=",
|
||||
"small=",
|
||||
"large=",
|
||||
"data=",
|
||||
"idata=",
|
||||
"pdata=",
|
||||
"bdata=",
|
||||
"xdata=",
|
||||
"code=",
|
||||
"bit=char",
|
||||
"sbit=char",
|
||||
"sfr=char",
|
||||
"sfr16=int",
|
||||
"sfr32=int",
|
||||
"interrupt=",
|
||||
"using=",
|
||||
"_at_=",
|
||||
"_priority_=",
|
||||
"_task_="
|
||||
],
|
||||
"intelliSenseMode": "${default}"
|
||||
}
|
||||
],
|
||||
"version": 4
|
||||
}
|
8
.vscode/keil-assistant.log
vendored
Normal file
8
.vscode/keil-assistant.log
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
[info] Log at : 2023/4/10|15:03:01|GMT+0800
|
||||
|
||||
[info] Log at : 2023/4/10|15:03:11|GMT+0800
|
||||
|
||||
[info] Log at : 2023/4/10|15:46:14|GMT+0800
|
||||
|
||||
[info] Log at : 2023/4/10|15:46:58|GMT+0800
|
||||
|
9
.vscode/settings.json
vendored
Normal file
9
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"C_Cpp.errorSquiggles": "disabled",
|
||||
"files.associations": {
|
||||
"timer.h": "c",
|
||||
"exti.h": "c",
|
||||
"gpio.h": "c",
|
||||
"config.h": "c"
|
||||
}
|
||||
}
|
10
.vscode/uv4.log
vendored
Normal file
10
.vscode/uv4.log
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
Build target 'Target 1'
|
||||
compiling Exti.c...
|
||||
compiling GPIO.c...
|
||||
compiling main.c...
|
||||
compiling timer.c...
|
||||
linking...
|
||||
Program Size: data=18.0 xdata=0 code=2183
|
||||
creating hex file from ".\Objects\kill_control"...
|
||||
".\Objects\kill_control" - 0 Error(s), 0 Warning(s).
|
||||
Build Time Elapsed: 00:00:00
|
1
.vscode/uv4.log.lock
vendored
Normal file
1
.vscode/uv4.log.lock
vendored
Normal file
@ -0,0 +1 @@
|
||||
2023/4/10 15:47:04
|
174
Listings/Exti.lst
Normal file
174
Listings/Exti.lst
Normal file
@ -0,0 +1,174 @@
|
||||
C51 COMPILER V9.60.0.0 EXTI 04/10/2023 15:47:03 PAGE 1
|
||||
|
||||
|
||||
C51 COMPILER V9.60.0.0, COMPILATION OF MODULE EXTI
|
||||
OBJECT MODULE PLACED IN .\Objects\Exti.obj
|
||||
COMPILER INVOKED BY: d:\Keil_v5\C51\BIN\C51.EXE mycode\Exti.c OPTIMIZE(8,SPEED) BROWSE INCDIR(.\myinc) DEBUG OBJECTEXTEN
|
||||
-D PRINT(.\Listings\Exti.lst) TABS(2) OBJECT(.\Objects\Exti.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 /************* 功能说明 **************
|
||||
14
|
||||
15 本文件为STC8系列的外中断初始化和中断程序,用户可以在这个文件中修改自己需要的中断程序.
|
||||
16
|
||||
17 ******************************************/
|
||||
18
|
||||
19 #include "Exti.h"
|
||||
20
|
||||
21 /************* 外部函数和变量声明 *****************/
|
||||
22
|
||||
23 /********************* INT0中断函数 *************************/
|
||||
24 void Ext_INT0(void) interrupt INT0_VECTOR // 进中断时已经清除标志
|
||||
25 {
|
||||
26 1 if (kill_gpio)
|
||||
27 1 {
|
||||
28 2 if (KILL_time == 0)
|
||||
29 2 {
|
||||
30 3 power1_gpio = !power1_gpio;
|
||||
31 3 power2_gpio = !power2_gpio;
|
||||
32 3 power3_gpio = !power3_gpio;
|
||||
33 3 }
|
||||
34 2 }
|
||||
35 1 else
|
||||
36 1 {
|
||||
37 2 KILL_time = 50;
|
||||
38 2 }
|
||||
39 1 }
|
||||
40
|
||||
41 /********************* INT1中断函数 *************************/
|
||||
42 void Ext_INT1(void) interrupt INT1_VECTOR // 进中断时已经清除标志
|
||||
43 {
|
||||
44 1 }
|
||||
45
|
||||
46 /********************* INT2中断函数 *************************/
|
||||
47 void Ext_INT2(void) interrupt INT2_VECTOR //
|
||||
48 {
|
||||
49 1 }
|
||||
50
|
||||
51 /********************* INT3中断函数 *************************/
|
||||
52 void Ext_INT3(void) interrupt INT3_VECTOR
|
||||
53 {
|
||||
54 1 }
|
||||
C51 COMPILER V9.60.0.0 EXTI 04/10/2023 15:47:03 PAGE 2
|
||||
|
||||
55
|
||||
56 /********************* INT4中断函数 *************************/
|
||||
57 void Ext_INT4(void) interrupt INT4_VECTOR
|
||||
58 {
|
||||
59 1 }
|
||||
60
|
||||
61 //========================================================================
|
||||
62 // 函数: u8 Ext_Inilize(u8 EXT, EXTI_InitTypeDef *INTx)
|
||||
63 // 描述: 外部中断初始化程序.
|
||||
64 // 参数: INTx: 结构参数,请参考Exti.h里的定义.
|
||||
65 // 返回: 成功返回0, 空操作返回1,错误返回2.
|
||||
66 // 版本: V1.0, 2012-10-22
|
||||
67 //========================================================================
|
||||
68 u8 Ext_Inilize(u8 EXT, EXTI_InitTypeDef *INTx)
|
||||
69 {
|
||||
70 1 if (EXT > EXT_INT4)
|
||||
71 1 return 1; // 空操作
|
||||
72 1
|
||||
73 1 if (EXT == EXT_INT0) // 外中断0
|
||||
74 1 {
|
||||
75 2 IE0 = 0; // 外中断0标志位
|
||||
76 2 if (INTx->EXTI_Interrupt == ENABLE)
|
||||
77 2 EX0 = 1; // 允许中断
|
||||
78 2 else
|
||||
79 2 EX0 = 0; // 禁止中断
|
||||
80 2 if (INTx->EXTI_Priority > Priority_3)
|
||||
81 2 return 2; // 错误
|
||||
82 2 INT0_Priority(INTx->EXTI_Priority); // 指定中断优先级(低到高) Priority_0,Priority_1,Priority_2,Pri
|
||||
-ority_3
|
||||
83 2 if (INTx->EXTI_Mode == EXT_MODE_Fall)
|
||||
84 2 IT0 = 1; // 下降沿中断
|
||||
85 2 else
|
||||
86 2 IT0 = 0; // 上升,下降沿中断
|
||||
87 2 return 0; // 成功
|
||||
88 2 }
|
||||
89 1
|
||||
90 1 if (EXT == EXT_INT1) // 外中断1
|
||||
91 1 {
|
||||
92 2 IE1 = 0; // 外中断1标志位
|
||||
93 2 if (INTx->EXTI_Interrupt == ENABLE)
|
||||
94 2 EX1 = 1; // 允许中断
|
||||
95 2 else
|
||||
96 2 EX1 = 0; // 禁止中断
|
||||
97 2 if (INTx->EXTI_Priority > Priority_3)
|
||||
98 2 return 2; // 错误
|
||||
99 2 INT1_Priority(INTx->EXTI_Priority); // 指定中断优先级(低到高) Priority_0,Priority_1,Priority_2,Pri
|
||||
-ority_3
|
||||
100 2 if (INTx->EXTI_Mode == EXT_MODE_Fall)
|
||||
101 2 IT1 = 1; // 下降沿中断
|
||||
102 2 else
|
||||
103 2 IT1 = 0; // 上升,下降沿中断
|
||||
104 2 return 0; // 成功
|
||||
105 2 }
|
||||
106 1
|
||||
107 1 if (EXT == EXT_INT2) // 外中断2, 固定为下降沿低优先级中断
|
||||
108 1 {
|
||||
109 2 if (INTx->EXTI_Interrupt == ENABLE)
|
||||
110 2 INT_CLKO |= (1 << 4); // 允许中断
|
||||
111 2 else
|
||||
112 2 INT_CLKO &= ~(1 << 4); // 禁止中断
|
||||
113 2 return 0; // 成功
|
||||
114 2 }
|
||||
C51 COMPILER V9.60.0.0 EXTI 04/10/2023 15:47:03 PAGE 3
|
||||
|
||||
115 1
|
||||
116 1 if (EXT == EXT_INT3) // 外中断3, 固定为下降沿低优先级中断
|
||||
117 1 {
|
||||
118 2 if (INTx->EXTI_Interrupt == ENABLE)
|
||||
119 2 INT_CLKO |= (1 << 5); // 允许中断
|
||||
120 2 else
|
||||
121 2 INT_CLKO &= ~(1 << 5); // 禁止中断
|
||||
122 2 return 0; // 成功
|
||||
123 2 }
|
||||
124 1
|
||||
125 1 if (EXT == EXT_INT4) // 外中断4, 固定为下降沿低优先级中断
|
||||
126 1 {
|
||||
127 2 if (INTx->EXTI_Interrupt == ENABLE)
|
||||
128 2 INT_CLKO |= (1 << 6); // 允许中断
|
||||
129 2 else
|
||||
130 2 INT_CLKO &= ~(1 << 6); // 禁止中断
|
||||
131 2 return 0; // 成功
|
||||
132 2 }
|
||||
133 1 return 2; // 失败
|
||||
134 1 }
|
||||
135 void Exti_config(void)
|
||||
136 {
|
||||
137 1 EXTI_InitTypeDef Exti_InitStructure; // 结构定义
|
||||
138 1
|
||||
139 1 Exti_InitStructure.EXTI_Interrupt = ENABLE; // 中断使能, ENABLE或DISABLE
|
||||
140 1 Exti_InitStructure.EXTI_Mode = EXT_MODE_RiseFall; // 中断模式, EXT_MODE_RiseFall,EXT_MODE_Fall
|
||||
141 1 Exti_InitStructure.EXTI_Priority = Priority_0; // 指定中断优先级(低到高) Priority_0,Priority_1,Prio
|
||||
-rity_2,Priority_3
|
||||
142 1 Ext_Inilize(EXT_INT0, &Exti_InitStructure); // 初始化
|
||||
143 1 }
|
||||
|
||||
|
||||
MODULE INFORMATION: STATIC OVERLAYABLE
|
||||
CODE SIZE = 340 ----
|
||||
CONSTANT SIZE = ---- ----
|
||||
XDATA SIZE = ---- ----
|
||||
PDATA SIZE = ---- ----
|
||||
DATA SIZE = ---- 3
|
||||
IDATA SIZE = ---- ----
|
||||
BIT SIZE = ---- ----
|
||||
END OF MODULE INFORMATION.
|
||||
|
||||
|
||||
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
|
169
Listings/GPIO.lst
Normal file
169
Listings/GPIO.lst
Normal file
@ -0,0 +1,169 @@
|
||||
C51 COMPILER V9.60.0.0 GPIO 04/10/2023 15:47:03 PAGE 1
|
||||
|
||||
|
||||
C51 COMPILER V9.60.0.0, COMPILATION OF MODULE GPIO
|
||||
OBJECT MODULE PLACED IN .\Objects\GPIO.obj
|
||||
COMPILER INVOKED BY: d:\Keil_v5\C51\BIN\C51.EXE mycode\GPIO.c OPTIMIZE(8,SPEED) BROWSE INCDIR(.\myinc) DEBUG OBJECTEXTEN
|
||||
-D PRINT(.\Listings\GPIO.lst) TABS(2) OBJECT(.\Objects\GPIO.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 /*************** 功能说明 ****************
|
||||
14
|
||||
15 本文件为STC8系列的端口初始化程序,用户几乎可以不修改这个程序.
|
||||
16
|
||||
17 ******************************************/
|
||||
18
|
||||
19 #include "GPIO.h"
|
||||
20
|
||||
21 //========================================================================
|
||||
22 // 函数: u8 GPIO_Inilize(u8 GPIO, GPIO_InitTypeDef *GPIOx)
|
||||
23 // 描述: 初始化IO口.
|
||||
24 // 参数: GPIOx: 结构参数,请参考timer.h里的定义.
|
||||
25 // 返回: 成功返回0, 空操作返回1,错误返回2.
|
||||
26 // 版本: V1.0, 2012-10-22
|
||||
27 //========================================================================
|
||||
28 u8 GPIO_Inilize(u8 GPIO, GPIO_InitTypeDef *GPIOx)
|
||||
29 {
|
||||
30 1 if (GPIO > GPIO_P7)
|
||||
31 1 return 1; // 空操作
|
||||
32 1 if (GPIOx->Mode > GPIO_OUT_PP)
|
||||
33 1 return 2; // 错误
|
||||
34 1 if (GPIO == GPIO_P0)
|
||||
35 1 {
|
||||
36 2 if (GPIOx->Mode == GPIO_PullUp)
|
||||
37 2 P0M1 &= ~GPIOx->Pin, P0M0 &= ~GPIOx->Pin; // 上拉准双向口
|
||||
38 2 if (GPIOx->Mode == GPIO_HighZ)
|
||||
39 2 P0M1 |= GPIOx->Pin, P0M0 &= ~GPIOx->Pin; // 浮空输入
|
||||
40 2 if (GPIOx->Mode == GPIO_OUT_OD)
|
||||
41 2 P0M1 |= GPIOx->Pin, P0M0 |= GPIOx->Pin; // 开漏输出
|
||||
42 2 if (GPIOx->Mode == GPIO_OUT_PP)
|
||||
43 2 P0M1 &= ~GPIOx->Pin, P0M0 |= GPIOx->Pin; // 推挽输出
|
||||
44 2 }
|
||||
45 1 if (GPIO == GPIO_P1)
|
||||
46 1 {
|
||||
47 2 if (GPIOx->Mode == GPIO_PullUp)
|
||||
48 2 P1M1 &= ~GPIOx->Pin, P1M0 &= ~GPIOx->Pin; // 上拉准双向口
|
||||
49 2 if (GPIOx->Mode == GPIO_HighZ)
|
||||
50 2 P1M1 |= GPIOx->Pin, P1M0 &= ~GPIOx->Pin; // 浮空输入
|
||||
51 2 if (GPIOx->Mode == GPIO_OUT_OD)
|
||||
52 2 P1M1 |= GPIOx->Pin, P1M0 |= GPIOx->Pin; // 开漏输出
|
||||
53 2 if (GPIOx->Mode == GPIO_OUT_PP)
|
||||
54 2 P1M1 &= ~GPIOx->Pin, P1M0 |= GPIOx->Pin; // 推挽输出
|
||||
C51 COMPILER V9.60.0.0 GPIO 04/10/2023 15:47:03 PAGE 2
|
||||
|
||||
55 2 }
|
||||
56 1 if (GPIO == GPIO_P2)
|
||||
57 1 {
|
||||
58 2 if (GPIOx->Mode == GPIO_PullUp)
|
||||
59 2 P2M1 &= ~GPIOx->Pin, P2M0 &= ~GPIOx->Pin; // 上拉准双向口
|
||||
60 2 if (GPIOx->Mode == GPIO_HighZ)
|
||||
61 2 P2M1 |= GPIOx->Pin, P2M0 &= ~GPIOx->Pin; // 浮空输入
|
||||
62 2 if (GPIOx->Mode == GPIO_OUT_OD)
|
||||
63 2 P2M1 |= GPIOx->Pin, P2M0 |= GPIOx->Pin; // 开漏输出
|
||||
64 2 if (GPIOx->Mode == GPIO_OUT_PP)
|
||||
65 2 P2M1 &= ~GPIOx->Pin, P2M0 |= GPIOx->Pin; // 推挽输出
|
||||
66 2 }
|
||||
67 1 if (GPIO == GPIO_P3)
|
||||
68 1 {
|
||||
69 2 if (GPIOx->Mode == GPIO_PullUp)
|
||||
70 2 P3M1 &= ~GPIOx->Pin, P3M0 &= ~GPIOx->Pin; // 上拉准双向口
|
||||
71 2 if (GPIOx->Mode == GPIO_HighZ)
|
||||
72 2 P3M1 |= GPIOx->Pin, P3M0 &= ~GPIOx->Pin; // 浮空输入
|
||||
73 2 if (GPIOx->Mode == GPIO_OUT_OD)
|
||||
74 2 P3M1 |= GPIOx->Pin, P3M0 |= GPIOx->Pin; // 开漏输出
|
||||
75 2 if (GPIOx->Mode == GPIO_OUT_PP)
|
||||
76 2 P3M1 &= ~GPIOx->Pin, P3M0 |= GPIOx->Pin; // 推挽输出
|
||||
77 2 }
|
||||
78 1 if (GPIO == GPIO_P4)
|
||||
79 1 {
|
||||
80 2 if (GPIOx->Mode == GPIO_PullUp)
|
||||
81 2 P4M1 &= ~GPIOx->Pin, P4M0 &= ~GPIOx->Pin; // 上拉准双向口
|
||||
82 2 if (GPIOx->Mode == GPIO_HighZ)
|
||||
83 2 P4M1 |= GPIOx->Pin, P4M0 &= ~GPIOx->Pin; // 浮空输入
|
||||
84 2 if (GPIOx->Mode == GPIO_OUT_OD)
|
||||
85 2 P4M1 |= GPIOx->Pin, P4M0 |= GPIOx->Pin; // 开漏输出
|
||||
86 2 if (GPIOx->Mode == GPIO_OUT_PP)
|
||||
87 2 P4M1 &= ~GPIOx->Pin, P4M0 |= GPIOx->Pin; // 推挽输出
|
||||
88 2 }
|
||||
89 1 if (GPIO == GPIO_P5)
|
||||
90 1 {
|
||||
91 2 if (GPIOx->Mode == GPIO_PullUp)
|
||||
92 2 P5M1 &= ~GPIOx->Pin, P5M0 &= ~GPIOx->Pin; // 上拉准双向口
|
||||
93 2 if (GPIOx->Mode == GPIO_HighZ)
|
||||
94 2 P5M1 |= GPIOx->Pin, P5M0 &= ~GPIOx->Pin; // 浮空输入
|
||||
95 2 if (GPIOx->Mode == GPIO_OUT_OD)
|
||||
96 2 P5M1 |= GPIOx->Pin, P5M0 |= GPIOx->Pin; // 开漏输出
|
||||
97 2 if (GPIOx->Mode == GPIO_OUT_PP)
|
||||
98 2 P5M1 &= ~GPIOx->Pin, P5M0 |= GPIOx->Pin; // 推挽输出
|
||||
99 2 }
|
||||
100 1 if (GPIO == GPIO_P6)
|
||||
101 1 {
|
||||
102 2 if (GPIOx->Mode == GPIO_PullUp)
|
||||
103 2 P6M1 &= ~GPIOx->Pin, P6M0 &= ~GPIOx->Pin; // 上拉准双向口
|
||||
104 2 if (GPIOx->Mode == GPIO_HighZ)
|
||||
105 2 P6M1 |= GPIOx->Pin, P6M0 &= ~GPIOx->Pin; // 浮空输入
|
||||
106 2 if (GPIOx->Mode == GPIO_OUT_OD)
|
||||
107 2 P6M1 |= GPIOx->Pin, P6M0 |= GPIOx->Pin; // 开漏输出
|
||||
108 2 if (GPIOx->Mode == GPIO_OUT_PP)
|
||||
109 2 P6M1 &= ~GPIOx->Pin, P6M0 |= GPIOx->Pin; // 推挽输出
|
||||
110 2 }
|
||||
111 1 if (GPIO == GPIO_P7)
|
||||
112 1 {
|
||||
113 2 if (GPIOx->Mode == GPIO_PullUp)
|
||||
114 2 P7M1 &= ~GPIOx->Pin, P7M0 &= ~GPIOx->Pin; // 上拉准双向口
|
||||
115 2 if (GPIOx->Mode == GPIO_HighZ)
|
||||
116 2 P7M1 |= GPIOx->Pin, P7M0 &= ~GPIOx->Pin; // 浮空输入
|
||||
C51 COMPILER V9.60.0.0 GPIO 04/10/2023 15:47:03 PAGE 3
|
||||
|
||||
117 2 if (GPIOx->Mode == GPIO_OUT_OD)
|
||||
118 2 P7M1 |= GPIOx->Pin, P7M0 |= GPIOx->Pin; // 开漏输出
|
||||
119 2 if (GPIOx->Mode == GPIO_OUT_PP)
|
||||
120 2 P7M1 &= ~GPIOx->Pin, P7M0 |= GPIOx->Pin; // 推挽输出
|
||||
121 2 }
|
||||
122 1 return 0; // 成功
|
||||
123 1 }
|
||||
124 void GPIO_config(void)
|
||||
125 {
|
||||
126 1 GPIO_InitTypeDef GPIO_InitStructure; // 结构定义
|
||||
127 1
|
||||
128 1 GPIO_InitStructure.Pin = GPIO_Pin_2; // 指定要初始化的IO, GPIO_Pin_0 ~ GPIO_
|
||||
-Pin_7, 或操作
|
||||
129 1 GPIO_InitStructure.Mode = GPIO_PullUp; // 指定IO的输入或输出方式,GPIO_PullUp,G
|
||||
-PIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PP
|
||||
130 1 GPIO_Inilize(GPIO_P3, &GPIO_InitStructure); // 初始化
|
||||
131 1 GPIO_InitStructure.Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2; // 指定要初始化的IO, GPIO_Pin_0 ~ GPIO_
|
||||
-Pin_7, 或操作
|
||||
132 1 GPIO_InitStructure.Mode = GPIO_OUT_PP; // 指定IO的输入或输出方式,GPIO_PullUp,G
|
||||
-PIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PP
|
||||
133 1 GPIO_Inilize(GPIO_P1, &GPIO_InitStructure); // 初始化
|
||||
134 1 power1_gpio = 0;
|
||||
135 1 power2_gpio = 0;
|
||||
136 1 power3_gpio = 0;
|
||||
137 1 }
|
||||
|
||||
|
||||
MODULE INFORMATION: STATIC OVERLAYABLE
|
||||
CODE SIZE = 665 ----
|
||||
CONSTANT SIZE = ---- ----
|
||||
XDATA SIZE = ---- ----
|
||||
PDATA SIZE = ---- ----
|
||||
DATA SIZE = ---- 2
|
||||
IDATA SIZE = ---- ----
|
||||
BIT SIZE = ---- ----
|
||||
END OF MODULE INFORMATION.
|
||||
|
||||
|
||||
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
|
253
Listings/STARTUP.lst
Normal file
253
Listings/STARTUP.lst
Normal file
@ -0,0 +1,253 @@
|
||||
A51 MACRO ASSEMBLER STARTUP 04/10/2023 14:45:02 PAGE 1
|
||||
|
||||
|
||||
MACRO ASSEMBLER A51 V8.2.7.0
|
||||
OBJECT MODULE PLACED IN .\Objects\STARTUP.obj
|
||||
ASSEMBLER INVOKED BY: d:\Keil_v5\C51\BIN\A51.EXE STARTUP.A51 SET(SMALL) DEBUG PRINT(.\Listings\STARTUP.lst) OBJECT(.\Obj
|
||||
ects\STARTUP.obj) EP
|
||||
|
||||
LOC OBJ LINE SOURCE
|
||||
|
||||
1 $nomod51
|
||||
2 ;------------------------------------------------------------------------------
|
||||
3 ; This file is part of the C51 Compiler package
|
||||
4 ; Copyright (c) 1988-2005 Keil Elektronik GmbH and Keil Software, Inc.
|
||||
5 ; Version 8.01
|
||||
6 ;
|
||||
7 ; *** <<< Use Configuration Wizard in Context Menu >>> ***
|
||||
8 ;------------------------------------------------------------------------------
|
||||
9 ; STARTUP.A51: This code is executed after processor reset.
|
||||
10 ;
|
||||
11 ; To translate this file use A51 with the following invocation:
|
||||
12 ;
|
||||
13 ; A51 STARTUP.A51
|
||||
14 ;
|
||||
15 ; To link the modified STARTUP.OBJ file to your application use the following
|
||||
16 ; Lx51 invocation:
|
||||
17 ;
|
||||
18 ; Lx51 your object file list, STARTUP.OBJ controls
|
||||
19 ;
|
||||
20 ;------------------------------------------------------------------------------
|
||||
21 ;
|
||||
22 ; User-defined <h> Power-On Initialization of Memory
|
||||
23 ;
|
||||
24 ; With the following EQU statements the initialization of memory
|
||||
25 ; at processor reset can be defined:
|
||||
26 ;
|
||||
27 ; <o> IDATALEN: IDATA memory size <0x0-0x100>
|
||||
28 ; <i> Note: The absolute start-address of IDATA memory is always 0
|
||||
29 ; <i> The IDATA space overlaps physically the DATA and BIT areas.
|
||||
0080 30 IDATALEN EQU 80H
|
||||
31 ;
|
||||
32 ; <o> XDATASTART: XDATA memory start address <0x0-0xFFFF>
|
||||
33 ; <i> The absolute start address of XDATA memory
|
||||
0000 34 XDATASTART EQU 0
|
||||
35 ;
|
||||
36 ; <o> XDATALEN: XDATA memory size <0x0-0xFFFF>
|
||||
37 ; <i> The length of XDATA memory in bytes.
|
||||
0000 38 XDATALEN EQU 0
|
||||
39 ;
|
||||
40 ; <o> PDATASTART: PDATA memory start address <0x0-0xFFFF>
|
||||
41 ; <i> The absolute start address of PDATA memory
|
||||
0000 42 PDATASTART EQU 0H
|
||||
43 ;
|
||||
44 ; <o> PDATALEN: PDATA memory size <0x0-0xFF>
|
||||
45 ; <i> The length of PDATA memory in bytes.
|
||||
0000 46 PDATALEN EQU 0H
|
||||
47 ;
|
||||
48 ;</h>
|
||||
49 ;------------------------------------------------------------------------------
|
||||
50 ;
|
||||
51 ;<h> Reentrant Stack Initialization
|
||||
52 ;
|
||||
53 ; The following EQU statements define the stack pointer for reentrant
|
||||
54 ; functions and initialized it:
|
||||
55 ;
|
||||
56 ; <h> Stack Space for reentrant functions in the SMALL model.
|
||||
57 ; <q> IBPSTACK: Enable SMALL model reentrant stack
|
||||
A51 MACRO ASSEMBLER STARTUP 04/10/2023 14:45:02 PAGE 2
|
||||
|
||||
58 ; <i> Stack space for reentrant functions in the SMALL model.
|
||||
0000 59 IBPSTACK EQU 0 ; set to 1 if small reentrant is used.
|
||||
60 ; <o> IBPSTACKTOP: End address of SMALL model stack <0x0-0xFF>
|
||||
61 ; <i> Set the top of the stack to the highest location.
|
||||
0100 62 IBPSTACKTOP EQU 0xFF +1 ; default 0FFH+1
|
||||
63 ; </h>
|
||||
64 ;
|
||||
65 ; <h> Stack Space for reentrant functions in the LARGE model.
|
||||
66 ; <q> XBPSTACK: Enable LARGE model reentrant stack
|
||||
67 ; <i> Stack space for reentrant functions in the LARGE model.
|
||||
0000 68 XBPSTACK EQU 0 ; set to 1 if large reentrant is used.
|
||||
69 ; <o> XBPSTACKTOP: End address of LARGE model stack <0x0-0xFFFF>
|
||||
70 ; <i> Set the top of the stack to the highest location.
|
||||
0000 71 XBPSTACKTOP EQU 0xFFFF +1 ; default 0FFFFH+1
|
||||
72 ; </h>
|
||||
73 ;
|
||||
74 ; <h> Stack Space for reentrant functions in the COMPACT model.
|
||||
75 ; <q> PBPSTACK: Enable COMPACT model reentrant stack
|
||||
76 ; <i> Stack space for reentrant functions in the COMPACT model.
|
||||
0000 77 PBPSTACK EQU 0 ; set to 1 if compact reentrant is used.
|
||||
78 ;
|
||||
79 ; <o> PBPSTACKTOP: End address of COMPACT model stack <0x0-0xFFFF>
|
||||
80 ; <i> Set the top of the stack to the highest location.
|
||||
0100 81 PBPSTACKTOP EQU 0xFF +1 ; default 0FFH+1
|
||||
82 ; </h>
|
||||
83 ;</h>
|
||||
84 ;------------------------------------------------------------------------------
|
||||
85 ;
|
||||
86 ; Memory Page for Using the Compact Model with 64 KByte xdata RAM
|
||||
87 ; <e>Compact Model Page Definition
|
||||
88 ;
|
||||
89 ; <i>Define the XDATA page used for PDATA variables.
|
||||
90 ; <i>PPAGE must conform with the PPAGE set in the linker invocation.
|
||||
91 ;
|
||||
92 ; Enable pdata memory page initalization
|
||||
0000 93 PPAGEENABLE EQU 0 ; set to 1 if pdata object are used.
|
||||
94 ;
|
||||
95 ; <o> PPAGE number <0x0-0xFF>
|
||||
96 ; <i> uppermost 256-byte address of the page used for PDATA variables.
|
||||
0000 97 PPAGE EQU 0
|
||||
98 ;
|
||||
99 ; <o> SFR address which supplies uppermost address byte <0x0-0xFF>
|
||||
100 ; <i> most 8051 variants use P2 as uppermost address byte
|
||||
00A0 101 PPAGE_SFR DATA 0A0H
|
||||
102 ;
|
||||
103 ; </e>
|
||||
104 ;------------------------------------------------------------------------------
|
||||
105
|
||||
106 ; Standard SFR Symbols
|
||||
00E0 107 ACC DATA 0E0H
|
||||
00F0 108 B DATA 0F0H
|
||||
0081 109 SP DATA 81H
|
||||
0082 110 DPL DATA 82H
|
||||
0083 111 DPH DATA 83H
|
||||
112
|
||||
113 NAME ?C_STARTUP
|
||||
114
|
||||
115
|
||||
116 ?C_C51STARTUP SEGMENT CODE
|
||||
117 ?STACK SEGMENT IDATA
|
||||
118
|
||||
---- 119 RSEG ?STACK
|
||||
0000 120 DS 1
|
||||
121
|
||||
122 EXTRN CODE (?C_START)
|
||||
123 PUBLIC ?C_STARTUP
|
||||
A51 MACRO ASSEMBLER STARTUP 04/10/2023 14:45:02 PAGE 3
|
||||
|
||||
124
|
||||
---- 125 CSEG AT 0
|
||||
0000 020000 F 126 ?C_STARTUP: LJMP STARTUP1
|
||||
127
|
||||
---- 128 RSEG ?C_C51STARTUP
|
||||
129
|
||||
0000 130 STARTUP1:
|
||||
131
|
||||
132 IF IDATALEN <> 0
|
||||
0000 787F 133 MOV R0,#IDATALEN - 1
|
||||
0002 E4 134 CLR A
|
||||
0003 F6 135 IDATALOOP: MOV @R0,A
|
||||
0004 D8FD 136 DJNZ R0,IDATALOOP
|
||||
137 ENDIF
|
||||
138
|
||||
139 IF XDATALEN <> 0
|
||||
MOV DPTR,#XDATASTART
|
||||
MOV R7,#LOW (XDATALEN)
|
||||
IF (LOW (XDATALEN)) <> 0
|
||||
MOV R6,#(HIGH (XDATALEN)) +1
|
||||
ELSE
|
||||
MOV R6,#HIGH (XDATALEN)
|
||||
ENDIF
|
||||
CLR A
|
||||
XDATALOOP: MOVX @DPTR,A
|
||||
INC DPTR
|
||||
DJNZ R7,XDATALOOP
|
||||
DJNZ R6,XDATALOOP
|
||||
ENDIF
|
||||
153
|
||||
154 IF PPAGEENABLE <> 0
|
||||
MOV PPAGE_SFR,#PPAGE
|
||||
ENDIF
|
||||
157
|
||||
158 IF PDATALEN <> 0
|
||||
MOV R0,#LOW (PDATASTART)
|
||||
MOV R7,#LOW (PDATALEN)
|
||||
CLR A
|
||||
PDATALOOP: MOVX @R0,A
|
||||
INC R0
|
||||
DJNZ R7,PDATALOOP
|
||||
ENDIF
|
||||
166
|
||||
167 IF IBPSTACK <> 0
|
||||
EXTRN DATA (?C_IBP)
|
||||
|
||||
MOV ?C_IBP,#LOW IBPSTACKTOP
|
||||
ENDIF
|
||||
172
|
||||
173 IF XBPSTACK <> 0
|
||||
EXTRN DATA (?C_XBP)
|
||||
|
||||
MOV ?C_XBP,#HIGH XBPSTACKTOP
|
||||
MOV ?C_XBP+1,#LOW XBPSTACKTOP
|
||||
ENDIF
|
||||
179
|
||||
180 IF PBPSTACK <> 0
|
||||
EXTRN DATA (?C_PBP)
|
||||
MOV ?C_PBP,#LOW PBPSTACKTOP
|
||||
ENDIF
|
||||
184
|
||||
0006 758100 F 185 MOV SP,#?STACK-1
|
||||
186
|
||||
187 ; This code is required if you use L51_BANK.A51 with Banking Mode 4
|
||||
188 ;<h> Code Banking
|
||||
189 ; <q> Select Bank 0 for L51_BANK.A51 Mode 4
|
||||
A51 MACRO ASSEMBLER STARTUP 04/10/2023 14:45:02 PAGE 4
|
||||
|
||||
190
|
||||
|
||||
|
||||
|
||||
|
||||
195 ;</h>
|
||||
0009 020000 F 196 LJMP ?C_START
|
||||
197
|
||||
198 END
|
||||
A51 MACRO ASSEMBLER STARTUP 04/10/2023 14:45:02 PAGE 5
|
||||
|
||||
SYMBOL TABLE LISTING
|
||||
------ ----- -------
|
||||
|
||||
|
||||
N A M E T Y P E V A L U E ATTRIBUTES
|
||||
|
||||
?C_C51STARTUP. . . C SEG 000CH REL=UNIT
|
||||
?C_START . . . . . C ADDR ----- EXT
|
||||
?C_STARTUP . . . . C ADDR 0000H A
|
||||
?STACK . . . . . . I SEG 0001H REL=UNIT
|
||||
ACC. . . . . . . . D ADDR 00E0H A
|
||||
B. . . . . . . . . D ADDR 00F0H A
|
||||
DPH. . . . . . . . D ADDR 0083H A
|
||||
DPL. . . . . . . . D ADDR 0082H A
|
||||
IBPSTACK . . . . . N NUMB 0000H A
|
||||
IBPSTACKTOP. . . . N NUMB 0100H A
|
||||
IDATALEN . . . . . N NUMB 0080H A
|
||||
IDATALOOP. . . . . C ADDR 0003H R SEG=?C_C51STARTUP
|
||||
PBPSTACK . . . . . N NUMB 0000H A
|
||||
PBPSTACKTOP. . . . N NUMB 0100H A
|
||||
PDATALEN . . . . . N NUMB 0000H A
|
||||
PDATASTART . . . . N NUMB 0000H A
|
||||
PPAGE. . . . . . . N NUMB 0000H A
|
||||
PPAGEENABLE. . . . N NUMB 0000H A
|
||||
PPAGE_SFR. . . . . D ADDR 00A0H A
|
||||
SP . . . . . . . . D ADDR 0081H A
|
||||
STARTUP1 . . . . . C ADDR 0000H R SEG=?C_C51STARTUP
|
||||
XBPSTACK . . . . . N NUMB 0000H A
|
||||
XBPSTACKTOP. . . . N NUMB 0000H A
|
||||
XDATALEN . . . . . N NUMB 0000H A
|
||||
XDATASTART . . . . N NUMB 0000H A
|
||||
|
||||
|
||||
REGISTER BANK(S) USED: 0
|
||||
|
||||
|
||||
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
|
707
Listings/kill_control.m51
Normal file
707
Listings/kill_control.m51
Normal file
@ -0,0 +1,707 @@
|
||||
BL51 BANKED LINKER/LOCATER V6.22.2.0 04/10/2023 15:47:03 PAGE 1
|
||||
|
||||
|
||||
BL51 BANKED LINKER/LOCATER V6.22.2.0, INVOKED BY:
|
||||
D:\KEIL_V5\C51\BIN\BL51.EXE .\Objects\STARTUP.obj, .\Objects\Exti.obj, .\Objects\GPIO.obj, .\Objects\main.obj, .\Objects
|
||||
>> \timer.obj TO .\Objects\kill_control PRINT (.\Listings\kill_control.m51) RAMSIZE (256)
|
||||
|
||||
|
||||
MEMORY MODEL: SMALL
|
||||
|
||||
|
||||
INPUT MODULES INCLUDED:
|
||||
.\Objects\STARTUP.obj (?C_STARTUP)
|
||||
.\Objects\Exti.obj (EXTI)
|
||||
.\Objects\GPIO.obj (GPIO)
|
||||
.\Objects\main.obj (MAIN)
|
||||
.\Objects\timer.obj (TIMER)
|
||||
D:\KEIL_V5\C51\LIB\C51S.LIB (?C_INIT)
|
||||
D:\KEIL_V5\C51\LIB\C51S.LIB (?C?CLDPTR)
|
||||
D:\KEIL_V5\C51\LIB\C51S.LIB (?C?CLDOPTR)
|
||||
D:\KEIL_V5\C51\LIB\C51S.LIB (?C?ILDOPTR)
|
||||
|
||||
|
||||
LINK MAP OF MODULE: .\Objects\kill_control (?C_STARTUP)
|
||||
|
||||
|
||||
TYPE BASE LENGTH RELOCATION SEGMENT NAME
|
||||
-----------------------------------------------------
|
||||
|
||||
* * * * * * * D A T A M E M O R Y * * * * * * *
|
||||
REG 0000H 0008H ABSOLUTE "REG BANK 0"
|
||||
DATA 0008H 0008H UNIT _DATA_GROUP_
|
||||
DATA 0010H 0001H UNIT ?DT?TIMER
|
||||
IDATA 0011H 0001H UNIT ?STACK
|
||||
|
||||
* * * * * * * C O D E M E M O R Y * * * * * * *
|
||||
CODE 0000H 0003H ABSOLUTE
|
||||
CODE 0003H 0003H ABSOLUTE
|
||||
CODE 0006H 0004H UNIT ?C_INITSEG
|
||||
CODE 000AH 0001H UNIT ?PR?EXT_INT1?EXTI
|
||||
CODE 000BH 0003H ABSOLUTE
|
||||
CODE 000EH 0001H UNIT ?PR?EXT_INT2?EXTI
|
||||
CODE 000FH 0001H UNIT ?PR?EXT_INT3?EXTI
|
||||
CODE 0010H 0001H UNIT ?PR?EXT_INT4?EXTI
|
||||
CODE 0011H 0001H UNIT ?PR?TIMER1_INT?TIMER
|
||||
CODE 0012H 0001H UNIT ?PR?TIMER2_INT?TIMER
|
||||
CODE 0013H 0003H ABSOLUTE
|
||||
CODE 0016H 0001H UNIT ?PR?TIMER3_INT?TIMER
|
||||
CODE 0017H 0001H UNIT ?PR?TIMER4_INT?TIMER
|
||||
0018H 0003H *** GAP ***
|
||||
CODE 001BH 0003H ABSOLUTE
|
||||
CODE 001EH 0022H UNIT ?PR?GPIO_CONFIG?GPIO
|
||||
CODE 0040H 0011H UNIT ?PR?EXTI_CONFIG?EXTI
|
||||
0051H 0002H *** GAP ***
|
||||
CODE 0053H 0003H ABSOLUTE
|
||||
0056H 0005H *** GAP ***
|
||||
CODE 005BH 0003H ABSOLUTE
|
||||
005EH 0005H *** GAP ***
|
||||
CODE 0063H 0003H ABSOLUTE
|
||||
CODE 0066H 0017H UNIT ?PR?EXT_INT0?EXTI
|
||||
007DH 0006H *** GAP ***
|
||||
BL51 BANKED LINKER/LOCATER V6.22.2.0 04/10/2023 15:47:03 PAGE 2
|
||||
|
||||
|
||||
CODE 0083H 0003H ABSOLUTE
|
||||
CODE 0086H 000DH UNIT ?PR?MAIN?MAIN
|
||||
0093H 0008H *** GAP ***
|
||||
CODE 009BH 0003H ABSOLUTE
|
||||
009EH 0005H *** GAP ***
|
||||
CODE 00A3H 0003H ABSOLUTE
|
||||
CODE 00A6H 0331H UNIT ?PR?_TIMER_INILIZE?TIMER
|
||||
CODE 03D7H 0277H UNIT ?PR?_GPIO_INILIZE?GPIO
|
||||
CODE 064EH 0128H UNIT ?PR?_EXT_INILIZE?EXTI
|
||||
CODE 0776H 008CH UNIT ?C_C51STARTUP
|
||||
CODE 0802H 007EH UNIT ?C?LIB_CODE
|
||||
CODE 0880H 001EH UNIT ?PR?TIMER_CONFIG?TIMER
|
||||
CODE 089EH 000BH UNIT ?PR?TIMER0_INT?TIMER
|
||||
|
||||
|
||||
|
||||
OVERLAY MAP OF MODULE: .\Objects\kill_control (?C_STARTUP)
|
||||
|
||||
|
||||
SEGMENT DATA_GROUP
|
||||
+--> CALLED SEGMENT START LENGTH
|
||||
------------------------------------------------
|
||||
?C_C51STARTUP ----- -----
|
||||
+--> ?PR?MAIN?MAIN
|
||||
+--> ?C_INITSEG
|
||||
|
||||
?PR?MAIN?MAIN ----- -----
|
||||
+--> ?PR?GPIO_CONFIG?GPIO
|
||||
+--> ?PR?EXTI_CONFIG?EXTI
|
||||
+--> ?PR?TIMER_CONFIG?TIMER
|
||||
|
||||
?PR?GPIO_CONFIG?GPIO 0008H 0002H
|
||||
+--> ?PR?_GPIO_INILIZE?GPIO
|
||||
|
||||
?PR?EXTI_CONFIG?EXTI 0008H 0003H
|
||||
+--> ?PR?_EXT_INILIZE?EXTI
|
||||
|
||||
?PR?TIMER_CONFIG?TIMER 0008H 0008H
|
||||
+--> ?PR?_TIMER_INILIZE?TIMER
|
||||
|
||||
|
||||
|
||||
SYMBOL TABLE OF MODULE: .\Objects\kill_control (?C_STARTUP)
|
||||
|
||||
VALUE TYPE NAME
|
||||
----------------------------------
|
||||
|
||||
------- MODULE ?C_STARTUP
|
||||
C:0776H SEGMENT ?C_C51STARTUP
|
||||
I:0011H SEGMENT ?STACK
|
||||
C:0000H PUBLIC ?C_STARTUP
|
||||
D:00E0H SYMBOL ACC
|
||||
D:00F0H SYMBOL B
|
||||
D:0083H SYMBOL DPH
|
||||
D:0082H SYMBOL DPL
|
||||
N:0000H SYMBOL IBPSTACK
|
||||
N:0100H SYMBOL IBPSTACKTOP
|
||||
BL51 BANKED LINKER/LOCATER V6.22.2.0 04/10/2023 15:47:03 PAGE 3
|
||||
|
||||
|
||||
N:0080H SYMBOL IDATALEN
|
||||
C:0779H SYMBOL IDATALOOP
|
||||
N:0000H SYMBOL PBPSTACK
|
||||
N:0100H SYMBOL PBPSTACKTOP
|
||||
N:0000H SYMBOL PDATALEN
|
||||
N:0000H SYMBOL PDATASTART
|
||||
N:0000H SYMBOL PPAGE
|
||||
N:0000H SYMBOL PPAGEENABLE
|
||||
D:00A0H SYMBOL PPAGE_SFR
|
||||
D:0081H SYMBOL SP
|
||||
C:0776H SYMBOL STARTUP1
|
||||
N:0000H SYMBOL XBPSTACK
|
||||
N:0000H SYMBOL XBPSTACKTOP
|
||||
N:0000H SYMBOL XDATALEN
|
||||
N:0000H SYMBOL XDATASTART
|
||||
C:0000H LINE# 126
|
||||
C:0776H LINE# 133
|
||||
C:0778H LINE# 134
|
||||
C:0779H LINE# 135
|
||||
C:077AH LINE# 136
|
||||
C:077CH LINE# 185
|
||||
C:077FH LINE# 196
|
||||
------- ENDMOD ?C_STARTUP
|
||||
|
||||
------- MODULE EXTI
|
||||
C:0000H SYMBOL _ICE_DUMMY_
|
||||
D:0080H PUBLIC P0
|
||||
D:0090H PUBLIC P1
|
||||
D:00A0H PUBLIC P2
|
||||
D:00B0H PUBLIC P3
|
||||
D:00C0H PUBLIC P4
|
||||
D:00C8H PUBLIC P5
|
||||
D:00E8H PUBLIC P6
|
||||
D:00F8H PUBLIC P7
|
||||
D:00A8H PUBLIC IE
|
||||
D:00B8H PUBLIC IP
|
||||
D:00D8H PUBLIC CCON
|
||||
C:0066H PUBLIC Ext_INT0
|
||||
C:000AH PUBLIC Ext_INT1
|
||||
C:000EH PUBLIC Ext_INT2
|
||||
B:0090H.0 PUBLIC P10
|
||||
C:000FH PUBLIC Ext_INT3
|
||||
B:0090H.1 PUBLIC P11
|
||||
C:0010H PUBLIC Ext_INT4
|
||||
B:0090H.2 PUBLIC P12
|
||||
D:0098H PUBLIC SCON
|
||||
B:00B0H.2 PUBLIC P32
|
||||
D:0088H PUBLIC TCON
|
||||
B:0088H.1 PUBLIC IE0
|
||||
B:0088H.3 PUBLIC IE1
|
||||
D:00F0H PUBLIC B
|
||||
D:00E0H PUBLIC ACC
|
||||
B:00A8H.0 PUBLIC EX0
|
||||
B:0088H.0 PUBLIC IT0
|
||||
B:00A8H.2 PUBLIC EX1
|
||||
B:0088H.2 PUBLIC IT1
|
||||
B:00B8H.0 PUBLIC PX0
|
||||
BL51 BANKED LINKER/LOCATER V6.22.2.0 04/10/2023 15:47:03 PAGE 4
|
||||
|
||||
|
||||
B:00B8H.2 PUBLIC PX1
|
||||
D:00B7H PUBLIC IPH
|
||||
C:064EH PUBLIC _Ext_Inilize
|
||||
C:0040H PUBLIC Exti_config
|
||||
D:008FH PUBLIC INT_CLKO
|
||||
D:00D0H PUBLIC PSW
|
||||
------- PROC EXT_INT0
|
||||
C:0066H LINE# 24
|
||||
C:0068H LINE# 26
|
||||
C:006BH LINE# 27
|
||||
C:006BH LINE# 28
|
||||
C:006FH LINE# 29
|
||||
C:006FH LINE# 30
|
||||
C:0071H LINE# 31
|
||||
C:0073H LINE# 32
|
||||
C:0075H LINE# 33
|
||||
C:0075H LINE# 34
|
||||
C:0077H LINE# 36
|
||||
C:0077H LINE# 37
|
||||
C:007AH LINE# 38
|
||||
C:007AH LINE# 39
|
||||
------- ENDPROC EXT_INT0
|
||||
------- PROC EXT_INT1
|
||||
C:000AH LINE# 42
|
||||
C:000AH LINE# 44
|
||||
------- ENDPROC EXT_INT1
|
||||
------- PROC EXT_INT2
|
||||
C:000EH LINE# 47
|
||||
C:000EH LINE# 49
|
||||
------- ENDPROC EXT_INT2
|
||||
------- PROC EXT_INT3
|
||||
C:000FH LINE# 52
|
||||
C:000FH LINE# 54
|
||||
------- ENDPROC EXT_INT3
|
||||
------- PROC EXT_INT4
|
||||
C:0010H LINE# 57
|
||||
C:0010H LINE# 59
|
||||
------- ENDPROC EXT_INT4
|
||||
------- PROC _EXT_INILIZE
|
||||
D:0007H SYMBOL EXT
|
||||
D:0001H SYMBOL INTx
|
||||
C:064EH LINE# 68
|
||||
C:064EH LINE# 69
|
||||
C:064EH LINE# 70
|
||||
C:0658H LINE# 71
|
||||
C:065BH LINE# 73
|
||||
C:065EH LINE# 74
|
||||
C:065EH LINE# 75
|
||||
C:0660H LINE# 76
|
||||
C:066AH LINE# 77
|
||||
C:066EH LINE# 79
|
||||
C:0670H LINE# 80
|
||||
C:0680H LINE# 81
|
||||
C:0683H LINE# 82
|
||||
C:06AFH LINE# 83
|
||||
C:06B6H LINE# 84
|
||||
C:06BAH LINE# 86
|
||||
BL51 BANKED LINKER/LOCATER V6.22.2.0 04/10/2023 15:47:03 PAGE 5
|
||||
|
||||
|
||||
C:06BCH LINE# 87
|
||||
C:06BFH LINE# 88
|
||||
C:06BFH LINE# 90
|
||||
C:06C4H LINE# 91
|
||||
C:06C4H LINE# 92
|
||||
C:06C6H LINE# 93
|
||||
C:06D0H LINE# 94
|
||||
C:06D4H LINE# 96
|
||||
C:06D6H LINE# 97
|
||||
C:06E6H LINE# 98
|
||||
C:06E9H LINE# 99
|
||||
C:0715H LINE# 100
|
||||
C:071CH LINE# 101
|
||||
C:0720H LINE# 103
|
||||
C:0722H LINE# 104
|
||||
C:0725H LINE# 105
|
||||
C:0725H LINE# 107
|
||||
C:072AH LINE# 108
|
||||
C:072AH LINE# 109
|
||||
C:0734H LINE# 110
|
||||
C:0739H LINE# 112
|
||||
C:073CH LINE# 113
|
||||
C:073FH LINE# 114
|
||||
C:073FH LINE# 116
|
||||
C:0744H LINE# 117
|
||||
C:0744H LINE# 118
|
||||
C:074EH LINE# 119
|
||||
C:0753H LINE# 121
|
||||
C:0756H LINE# 122
|
||||
C:0759H LINE# 123
|
||||
C:0759H LINE# 125
|
||||
C:075EH LINE# 126
|
||||
C:075EH LINE# 127
|
||||
C:0768H LINE# 128
|
||||
C:076DH LINE# 130
|
||||
C:0770H LINE# 131
|
||||
C:0773H LINE# 132
|
||||
C:0773H LINE# 133
|
||||
C:0775H LINE# 134
|
||||
------- ENDPROC _EXT_INILIZE
|
||||
------- PROC EXTI_CONFIG
|
||||
------- DO
|
||||
D:0008H SYMBOL Exti_InitStructure
|
||||
------- ENDDO
|
||||
C:0040H LINE# 135
|
||||
C:0040H LINE# 136
|
||||
C:0040H LINE# 139
|
||||
C:0043H LINE# 140
|
||||
C:0046H LINE# 141
|
||||
C:0048H LINE# 142
|
||||
------- ENDPROC EXTI_CONFIG
|
||||
------- ENDMOD EXTI
|
||||
|
||||
------- MODULE GPIO
|
||||
C:0000H SYMBOL _ICE_DUMMY_
|
||||
D:0093H PUBLIC P0M1
|
||||
D:0092H PUBLIC P1M0
|
||||
BL51 BANKED LINKER/LOCATER V6.22.2.0 04/10/2023 15:47:03 PAGE 6
|
||||
|
||||
|
||||
D:0096H PUBLIC P2M0
|
||||
D:0091H PUBLIC P1M1
|
||||
D:0080H PUBLIC P0
|
||||
D:00B2H PUBLIC P3M0
|
||||
D:0095H PUBLIC P2M1
|
||||
D:0090H PUBLIC P1
|
||||
D:00B4H PUBLIC P4M0
|
||||
D:00B1H PUBLIC P3M1
|
||||
D:00A0H PUBLIC P2
|
||||
D:00CAH PUBLIC P5M0
|
||||
D:00B3H PUBLIC P4M1
|
||||
D:00B0H PUBLIC P3
|
||||
D:00CCH PUBLIC P6M0
|
||||
D:00C9H PUBLIC P5M1
|
||||
D:00C0H PUBLIC P4
|
||||
D:00E2H PUBLIC P7M0
|
||||
D:00CBH PUBLIC P6M1
|
||||
D:00C8H PUBLIC P5
|
||||
D:00E8H PUBLIC P6
|
||||
D:00E1H PUBLIC P7M1
|
||||
D:00F8H PUBLIC P7
|
||||
C:001EH PUBLIC GPIO_config
|
||||
D:00A8H PUBLIC IE
|
||||
D:00B8H PUBLIC IP
|
||||
D:00D8H PUBLIC CCON
|
||||
B:0090H.0 PUBLIC P10
|
||||
B:0090H.1 PUBLIC P11
|
||||
B:0090H.2 PUBLIC P12
|
||||
D:0098H PUBLIC SCON
|
||||
D:0088H PUBLIC TCON
|
||||
D:00F0H PUBLIC B
|
||||
D:00E0H PUBLIC ACC
|
||||
C:03D7H PUBLIC _GPIO_Inilize
|
||||
D:00D0H PUBLIC PSW
|
||||
D:0094H PUBLIC P0M0
|
||||
------- PROC _GPIO_INILIZE
|
||||
D:0007H SYMBOL GPIO
|
||||
D:0001H SYMBOL GPIOx
|
||||
C:03D7H LINE# 28
|
||||
C:03D7H LINE# 29
|
||||
C:03D7H LINE# 30
|
||||
C:03E1H LINE# 31
|
||||
C:03E4H LINE# 32
|
||||
C:03F1H LINE# 33
|
||||
C:03F4H LINE# 34
|
||||
C:03F7H LINE# 35
|
||||
C:03F7H LINE# 36
|
||||
C:03FAH LINE# 37
|
||||
C:0405H LINE# 38
|
||||
C:040CH LINE# 39
|
||||
C:0417H LINE# 40
|
||||
C:041FH LINE# 41
|
||||
C:0429H LINE# 42
|
||||
C:042EH LINE# 43
|
||||
C:043BH LINE# 44
|
||||
C:043BH LINE# 45
|
||||
C:0440H LINE# 46
|
||||
BL51 BANKED LINKER/LOCATER V6.22.2.0 04/10/2023 15:47:03 PAGE 7
|
||||
|
||||
|
||||
C:0440H LINE# 47
|
||||
C:0446H LINE# 48
|
||||
C:0451H LINE# 49
|
||||
C:0456H LINE# 50
|
||||
C:0461H LINE# 51
|
||||
C:0468H LINE# 52
|
||||
C:0472H LINE# 53
|
||||
C:0479H LINE# 54
|
||||
C:0486H LINE# 55
|
||||
C:0486H LINE# 56
|
||||
C:048BH LINE# 57
|
||||
C:048BH LINE# 58
|
||||
C:0491H LINE# 59
|
||||
C:049CH LINE# 60
|
||||
C:04A1H LINE# 61
|
||||
C:04ACH LINE# 62
|
||||
C:04B3H LINE# 63
|
||||
C:04BDH LINE# 64
|
||||
C:04C4H LINE# 65
|
||||
C:04D1H LINE# 66
|
||||
C:04D1H LINE# 67
|
||||
C:04D6H LINE# 68
|
||||
C:04D6H LINE# 69
|
||||
C:04DCH LINE# 70
|
||||
C:04E7H LINE# 71
|
||||
C:04ECH LINE# 72
|
||||
C:04F7H LINE# 73
|
||||
C:04FEH LINE# 74
|
||||
C:0508H LINE# 75
|
||||
C:050FH LINE# 76
|
||||
C:051CH LINE# 77
|
||||
C:051CH LINE# 78
|
||||
C:0521H LINE# 79
|
||||
C:0521H LINE# 80
|
||||
C:0527H LINE# 81
|
||||
C:0532H LINE# 82
|
||||
C:0537H LINE# 83
|
||||
C:0542H LINE# 84
|
||||
C:0549H LINE# 85
|
||||
C:0553H LINE# 86
|
||||
C:055AH LINE# 87
|
||||
C:0567H LINE# 88
|
||||
C:0567H LINE# 89
|
||||
C:056CH LINE# 90
|
||||
C:056CH LINE# 91
|
||||
C:0572H LINE# 92
|
||||
C:057DH LINE# 93
|
||||
C:0582H LINE# 94
|
||||
C:058DH LINE# 95
|
||||
C:0594H LINE# 96
|
||||
C:059EH LINE# 97
|
||||
C:05A5H LINE# 98
|
||||
C:05B2H LINE# 99
|
||||
C:05B2H LINE# 100
|
||||
C:05B7H LINE# 101
|
||||
C:05B7H LINE# 102
|
||||
C:05BDH LINE# 103
|
||||
BL51 BANKED LINKER/LOCATER V6.22.2.0 04/10/2023 15:47:03 PAGE 8
|
||||
|
||||
|
||||
C:05C8H LINE# 104
|
||||
C:05CDH LINE# 105
|
||||
C:05D8H LINE# 106
|
||||
C:05DFH LINE# 107
|
||||
C:05E9H LINE# 108
|
||||
C:05F0H LINE# 109
|
||||
C:05FDH LINE# 110
|
||||
C:05FDH LINE# 111
|
||||
C:0602H LINE# 112
|
||||
C:0602H LINE# 113
|
||||
C:060AH LINE# 114
|
||||
C:0615H LINE# 115
|
||||
C:061BH LINE# 116
|
||||
C:0626H LINE# 117
|
||||
C:062DH LINE# 118
|
||||
C:0637H LINE# 119
|
||||
C:063EH LINE# 120
|
||||
C:064BH LINE# 121
|
||||
C:064BH LINE# 122
|
||||
C:064DH LINE# 123
|
||||
------- ENDPROC _GPIO_INILIZE
|
||||
------- PROC GPIO_CONFIG
|
||||
------- DO
|
||||
D:0008H SYMBOL GPIO_InitStructure
|
||||
------- ENDDO
|
||||
C:001EH LINE# 124
|
||||
C:001EH LINE# 125
|
||||
C:001EH LINE# 128
|
||||
C:0021H LINE# 129
|
||||
C:0024H LINE# 130
|
||||
C:002EH LINE# 131
|
||||
C:0031H LINE# 132
|
||||
C:0034H LINE# 133
|
||||
C:0039H LINE# 134
|
||||
C:003BH LINE# 135
|
||||
C:003DH LINE# 136
|
||||
C:003FH LINE# 137
|
||||
------- ENDPROC GPIO_CONFIG
|
||||
------- ENDMOD GPIO
|
||||
|
||||
------- MODULE MAIN
|
||||
C:0000H SYMBOL _ICE_DUMMY_
|
||||
D:0080H PUBLIC P0
|
||||
D:0090H PUBLIC P1
|
||||
D:00A0H PUBLIC P2
|
||||
D:00B0H PUBLIC P3
|
||||
D:00C0H PUBLIC P4
|
||||
D:00C8H PUBLIC P5
|
||||
B:00A8H.7 PUBLIC EA
|
||||
D:00E8H PUBLIC P6
|
||||
D:00F8H PUBLIC P7
|
||||
D:00A8H PUBLIC IE
|
||||
D:00B8H PUBLIC IP
|
||||
D:00D8H PUBLIC CCON
|
||||
C:0086H PUBLIC main
|
||||
D:0098H PUBLIC SCON
|
||||
D:0088H PUBLIC TCON
|
||||
BL51 BANKED LINKER/LOCATER V6.22.2.0 04/10/2023 15:47:03 PAGE 9
|
||||
|
||||
|
||||
D:00F0H PUBLIC B
|
||||
D:00E0H PUBLIC ACC
|
||||
D:00D0H PUBLIC PSW
|
||||
------- PROC MAIN
|
||||
C:0086H LINE# 19
|
||||
C:0086H LINE# 20
|
||||
C:0086H LINE# 21
|
||||
C:0089H LINE# 22
|
||||
C:008CH LINE# 23
|
||||
C:008FH LINE# 24
|
||||
C:0091H LINE# 25
|
||||
C:0091H LINE# 26
|
||||
C:0091H LINE# 27
|
||||
------- ENDPROC MAIN
|
||||
------- ENDMOD MAIN
|
||||
|
||||
------- MODULE TIMER
|
||||
C:0000H SYMBOL _ICE_DUMMY_
|
||||
D:0080H PUBLIC P0
|
||||
D:0090H PUBLIC P1
|
||||
C:089EH PUBLIC timer0_int
|
||||
D:00A0H PUBLIC P2
|
||||
C:0011H PUBLIC timer1_int
|
||||
D:00B0H PUBLIC P3
|
||||
C:0012H PUBLIC timer2_int
|
||||
D:00C0H PUBLIC P4
|
||||
C:0016H PUBLIC timer3_int
|
||||
D:00C8H PUBLIC P5
|
||||
C:0017H PUBLIC timer4_int
|
||||
D:00E8H PUBLIC P6
|
||||
D:00F8H PUBLIC P7
|
||||
D:00A8H PUBLIC IE
|
||||
D:00B8H PUBLIC IP
|
||||
D:00D8H PUBLIC CCON
|
||||
D:0098H PUBLIC SCON
|
||||
D:0089H PUBLIC TMOD
|
||||
D:0088H PUBLIC TCON
|
||||
C:00A6H PUBLIC _Timer_Inilize
|
||||
D:0010H PUBLIC KILL_time
|
||||
D:00AFH PUBLIC IE2
|
||||
D:00F0H PUBLIC B
|
||||
D:008EH PUBLIC AUXR
|
||||
D:00E0H PUBLIC ACC
|
||||
B:00A8H.1 PUBLIC ET0
|
||||
B:00A8H.3 PUBLIC ET1
|
||||
D:008CH PUBLIC TH0
|
||||
D:008DH PUBLIC TH1
|
||||
D:00D6H PUBLIC TH2
|
||||
D:00D4H PUBLIC TH3
|
||||
D:00D2H PUBLIC TH4
|
||||
D:008AH PUBLIC TL0
|
||||
D:008BH PUBLIC TL1
|
||||
D:00D7H PUBLIC TL2
|
||||
D:00D5H PUBLIC TL3
|
||||
B:00B8H.1 PUBLIC PT0
|
||||
D:00D3H PUBLIC TL4
|
||||
B:00B8H.3 PUBLIC PT1
|
||||
BL51 BANKED LINKER/LOCATER V6.22.2.0 04/10/2023 15:47:03 PAGE 10
|
||||
|
||||
|
||||
B:0088H.4 PUBLIC TR0
|
||||
B:0088H.6 PUBLIC TR1
|
||||
D:00D1H PUBLIC T4T3M
|
||||
C:0880H PUBLIC Timer_config
|
||||
D:00B7H PUBLIC IPH
|
||||
D:008FH PUBLIC INT_CLKO
|
||||
D:00D0H PUBLIC PSW
|
||||
------- PROC TIMER0_INT
|
||||
C:089EH LINE# 22
|
||||
C:08A0H LINE# 24
|
||||
C:08A4H LINE# 25
|
||||
C:08A4H LINE# 26
|
||||
C:08A6H LINE# 27
|
||||
C:08A6H LINE# 28
|
||||
------- ENDPROC TIMER0_INT
|
||||
------- PROC TIMER1_INT
|
||||
C:0011H LINE# 31
|
||||
C:0011H LINE# 34
|
||||
------- ENDPROC TIMER1_INT
|
||||
------- PROC TIMER2_INT
|
||||
C:0012H LINE# 37
|
||||
C:0012H LINE# 40
|
||||
------- ENDPROC TIMER2_INT
|
||||
------- PROC TIMER3_INT
|
||||
C:0016H LINE# 43
|
||||
C:0016H LINE# 46
|
||||
------- ENDPROC TIMER3_INT
|
||||
------- PROC TIMER4_INT
|
||||
C:0017H LINE# 49
|
||||
C:0017H LINE# 52
|
||||
------- ENDPROC TIMER4_INT
|
||||
------- PROC _TIMER_INILIZE
|
||||
D:0005H SYMBOL TIM
|
||||
D:0001H SYMBOL TIMx
|
||||
C:00A6H LINE# 62
|
||||
C:00A8H LINE# 63
|
||||
C:00A8H LINE# 64
|
||||
C:00B5H LINE# 66
|
||||
C:00BBH LINE# 67
|
||||
C:00BBH LINE# 68
|
||||
C:00BDH LINE# 69
|
||||
C:00CBH LINE# 70
|
||||
C:00CDH LINE# 71
|
||||
C:00E0H LINE# 72
|
||||
C:010CH LINE# 74
|
||||
C:011CH LINE# 75
|
||||
C:0123H LINE# 76
|
||||
C:0133H LINE# 77
|
||||
C:013AH LINE# 78
|
||||
C:0145H LINE# 79
|
||||
C:0148H LINE# 80
|
||||
C:0157H LINE# 81
|
||||
C:015AH LINE# 83
|
||||
C:016CH LINE# 84
|
||||
C:0178H LINE# 85
|
||||
C:017BH LINE# 86
|
||||
C:017BH LINE# 88
|
||||
BL51 BANKED LINKER/LOCATER V6.22.2.0 04/10/2023 15:47:03 PAGE 11
|
||||
|
||||
|
||||
C:0183H LINE# 89
|
||||
C:0183H LINE# 90
|
||||
C:0185H LINE# 91
|
||||
C:0193H LINE# 92
|
||||
C:0195H LINE# 93
|
||||
C:01A8H LINE# 94
|
||||
C:01D4H LINE# 95
|
||||
C:01E4H LINE# 96
|
||||
C:01F0H LINE# 97
|
||||
C:0200H LINE# 98
|
||||
C:0207H LINE# 99
|
||||
C:0212H LINE# 100
|
||||
C:0215H LINE# 101
|
||||
C:0224H LINE# 102
|
||||
C:0227H LINE# 104
|
||||
C:0239H LINE# 105
|
||||
C:0245H LINE# 106
|
||||
C:0248H LINE# 107
|
||||
C:0248H LINE# 109
|
||||
C:024DH LINE# 110
|
||||
C:024DH LINE# 111
|
||||
C:0250H LINE# 112
|
||||
C:025FH LINE# 113
|
||||
C:0262H LINE# 114
|
||||
C:0275H LINE# 115
|
||||
C:0280H LINE# 116
|
||||
C:0287H LINE# 117
|
||||
C:0292H LINE# 118
|
||||
C:0295H LINE# 119
|
||||
C:02A4H LINE# 120
|
||||
C:02A7H LINE# 122
|
||||
C:02B9H LINE# 123
|
||||
C:02C6H LINE# 124
|
||||
C:02C9H LINE# 125
|
||||
C:02C9H LINE# 127
|
||||
C:02CEH LINE# 128
|
||||
C:02CEH LINE# 129
|
||||
C:02D1H LINE# 130
|
||||
C:02E0H LINE# 131
|
||||
C:02E3H LINE# 132
|
||||
C:02F6H LINE# 133
|
||||
C:0301H LINE# 134
|
||||
C:0308H LINE# 135
|
||||
C:0313H LINE# 136
|
||||
C:0316H LINE# 137
|
||||
C:0325H LINE# 138
|
||||
C:0328H LINE# 140
|
||||
C:033AH LINE# 141
|
||||
C:0347H LINE# 142
|
||||
C:034AH LINE# 143
|
||||
C:034AH LINE# 145
|
||||
C:0352H LINE# 146
|
||||
C:0352H LINE# 147
|
||||
C:0355H LINE# 148
|
||||
C:0364H LINE# 149
|
||||
C:0367H LINE# 150
|
||||
C:037CH LINE# 151
|
||||
BL51 BANKED LINKER/LOCATER V6.22.2.0 04/10/2023 15:47:03 PAGE 12
|
||||
|
||||
|
||||
C:0385H LINE# 152
|
||||
C:0390H LINE# 153
|
||||
C:039FH LINE# 154
|
||||
C:03A2H LINE# 155
|
||||
C:03B1H LINE# 156
|
||||
C:03B4H LINE# 158
|
||||
C:03C4H LINE# 159
|
||||
C:03D1H LINE# 160
|
||||
C:03D4H LINE# 161
|
||||
C:03D4H LINE# 162
|
||||
C:03D6H LINE# 163
|
||||
------- ENDPROC _TIMER_INILIZE
|
||||
------- PROC TIMER_CONFIG
|
||||
------- DO
|
||||
D:0008H SYMBOL TIM_InitStructure
|
||||
------- ENDDO
|
||||
C:0880H LINE# 165
|
||||
C:0880H LINE# 166
|
||||
C:0880H LINE# 168
|
||||
C:0883H LINE# 169
|
||||
C:0885H LINE# 170
|
||||
C:0888H LINE# 171
|
||||
C:088AH LINE# 172
|
||||
C:088CH LINE# 173
|
||||
C:0892H LINE# 174
|
||||
C:0895H LINE# 175
|
||||
------- ENDPROC TIMER_CONFIG
|
||||
------- ENDMOD TIMER
|
||||
|
||||
------- MODULE ?C?CLDPTR
|
||||
C:0802H PUBLIC ?C?CLDPTR
|
||||
------- ENDMOD ?C?CLDPTR
|
||||
|
||||
------- MODULE ?C?CLDOPTR
|
||||
C:081BH PUBLIC ?C?CLDOPTR
|
||||
------- ENDMOD ?C?CLDOPTR
|
||||
|
||||
------- MODULE ?C?ILDOPTR
|
||||
C:0848H PUBLIC ?C?ILDOPTR
|
||||
------- ENDMOD ?C?ILDOPTR
|
||||
|
||||
Program Size: data=18.0 xdata=0 code=2183
|
||||
LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S)
|
52
Listings/main.lst
Normal file
52
Listings/main.lst
Normal file
@ -0,0 +1,52 @@
|
||||
C51 COMPILER V9.60.0.0 MAIN 04/10/2023 15:47:03 PAGE 1
|
||||
|
||||
|
||||
C51 COMPILER V9.60.0.0, COMPILATION OF MODULE MAIN
|
||||
OBJECT MODULE PLACED IN .\Objects\main.obj
|
||||
COMPILER INVOKED BY: d:\Keil_v5\C51\BIN\C51.EXE mycode\main.c OPTIMIZE(8,SPEED) BROWSE INCDIR(.\myinc) DEBUG OBJECTEXTEN
|
||||
-D PRINT(.\Listings\main.lst) TABS(2) OBJECT(.\Objects\main.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 "config.h"
|
||||
14 #include "GPIO.h"
|
||||
15 #include "Exti.h"
|
||||
16 #include "timer.h"
|
||||
17
|
||||
18 /******************** 主函数***********************/
|
||||
19 void main(void)
|
||||
20 {
|
||||
21 1 GPIO_config();
|
||||
22 1 Exti_config();
|
||||
23 1 Timer_config();
|
||||
24 1 EA = 1;
|
||||
25 1 while (1)
|
||||
26 1 {
|
||||
27 2 }
|
||||
28 1 }
|
||||
|
||||
|
||||
MODULE INFORMATION: STATIC OVERLAYABLE
|
||||
CODE SIZE = 13 ----
|
||||
CONSTANT SIZE = ---- ----
|
||||
XDATA SIZE = ---- ----
|
||||
PDATA SIZE = ---- ----
|
||||
DATA SIZE = ---- ----
|
||||
IDATA SIZE = ---- ----
|
||||
BIT SIZE = ---- ----
|
||||
END OF MODULE INFORMATION.
|
||||
|
||||
|
||||
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
|
210
Listings/timer.lst
Normal file
210
Listings/timer.lst
Normal file
@ -0,0 +1,210 @@
|
||||
C51 COMPILER V9.60.0.0 TIMER 04/10/2023 15:47:03 PAGE 1
|
||||
|
||||
|
||||
C51 COMPILER V9.60.0.0, COMPILATION OF MODULE TIMER
|
||||
OBJECT MODULE PLACED IN .\Objects\timer.obj
|
||||
COMPILER INVOKED BY: d:\Keil_v5\C51\BIN\C51.EXE mycode\timer.c OPTIMIZE(8,SPEED) BROWSE INCDIR(.\myinc) DEBUG OBJECTEXTE
|
||||
-ND PRINT(.\Listings\timer.lst) TABS(2) OBJECT(.\Objects\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 /************* 功能说明 **************
|
||||
14
|
||||
15 本文件为STC8系列的定时器初始化和中断程序,用户可以在这个文件中修改自己需要的中断程序.
|
||||
16
|
||||
17 ******************************************/
|
||||
18
|
||||
19 #include "timer.h"
|
||||
20 u8 KILL_time = 0;
|
||||
21 /********************* Timer0中断函数************************/
|
||||
22 void timer0_int (void) interrupt TIMER0_VECTOR
|
||||
23 {
|
||||
24 1 if (KILL_time)
|
||||
25 1 {
|
||||
26 2 KILL_time--;
|
||||
27 2 }
|
||||
28 1 }
|
||||
29
|
||||
30 /********************* Timer1中断函数************************/
|
||||
31 void timer1_int (void) interrupt TIMER1_VECTOR
|
||||
32 {
|
||||
33 1
|
||||
34 1 }
|
||||
35
|
||||
36 /********************* Timer2中断函数************************/
|
||||
37 void timer2_int (void) interrupt TIMER2_VECTOR
|
||||
38 {
|
||||
39 1
|
||||
40 1 }
|
||||
41
|
||||
42 /********************* Timer3中断函数************************/
|
||||
43 void timer3_int (void) interrupt TIMER3_VECTOR
|
||||
44 {
|
||||
45 1
|
||||
46 1 }
|
||||
47
|
||||
48 /********************* Timer4中断函数************************/
|
||||
49 void timer4_int (void) interrupt TIMER4_VECTOR
|
||||
50 {
|
||||
51 1
|
||||
52 1 }
|
||||
53
|
||||
54
|
||||
C51 COMPILER V9.60.0.0 TIMER 04/10/2023 15:47:03 PAGE 2
|
||||
|
||||
55 //========================================================================
|
||||
56 // 函数: u8 Timer_Inilize(u8 TIM, TIM_InitTypeDef *TIMx)
|
||||
57 // 描述: 定时器初始化程序.
|
||||
58 // 参数: TIMx: 结构参数,请参考timer.h里的定义.
|
||||
59 // 返回: 成功返回0, 空操作返回1,错误返回2.
|
||||
60 // 版本: V1.0, 2012-10-22
|
||||
61 //========================================================================
|
||||
62 u8 Timer_Inilize(u8 TIM, TIM_InitTypeDef *TIMx)
|
||||
63 {
|
||||
64 1 if(TIM > Timer4) return 1; //空操作
|
||||
65 1
|
||||
66 1 if(TIM == Timer0)
|
||||
67 1 {
|
||||
68 2 Timer0_Stop(); //停止计数
|
||||
69 2 if(TIMx->TIM_Interrupt == ENABLE) Timer0_InterruptEnable(); //允许中断
|
||||
70 2 else Timer0_InterruptDisable(); //禁止中断
|
||||
71 2 if(TIMx->TIM_Priority > Priority_3) return 2; //错误
|
||||
72 2 Timer0_Priority(TIMx->TIM_Priority); //指定中断优先级(低到高) Priority_0,Priority_1,Priority_2,Priority_
|
||||
-3
|
||||
73 2
|
||||
74 2 if(TIMx->TIM_Mode >= TIM_16BitAutoReloadNoMask) return 2; //错误
|
||||
75 2 TMOD = (TMOD & ~0x03) | TIMx->TIM_Mode; //工作模式,0: 16位自动重装, 1: 16位定时/计数, 2: 8位自动重装, 3:
|
||||
- 不可屏蔽16位自动重装
|
||||
76 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_12T) Timer0_12T(); //12T
|
||||
77 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_1T) Timer0_1T(); //1T
|
||||
78 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_Ext) Timer0_AsCounter(); //对外计数或分频
|
||||
79 2 else Timer0_AsTimer(); //定时
|
||||
80 2 if(TIMx->TIM_ClkOut == ENABLE) Timer0_CLKO_Enable(); //输出时钟
|
||||
81 2 else Timer0_CLKO_Disable(); //不输出时钟
|
||||
82 2
|
||||
83 2 T0_Load(TIMx->TIM_Value);
|
||||
84 2 if(TIMx->TIM_Run == ENABLE) Timer0_Run(); //开始运行
|
||||
85 2 return 0; //成功
|
||||
86 2 }
|
||||
87 1
|
||||
88 1 if(TIM == Timer1)
|
||||
89 1 {
|
||||
90 2 Timer1_Stop(); //停止计数
|
||||
91 2 if(TIMx->TIM_Interrupt == ENABLE) Timer1_InterruptEnable(); //允许中断
|
||||
92 2 else Timer1_InterruptDisable(); //禁止中断
|
||||
93 2 if(TIMx->TIM_Priority > Priority_3) return 2; //错误
|
||||
94 2 Timer1_Priority(TIMx->TIM_Priority); //指定中断优先级(低到高) Priority_0,Priority_1,Priority_2,Priority_
|
||||
-3
|
||||
95 2 if(TIMx->TIM_Mode >= TIM_16BitAutoReloadNoMask) return 2; //错误
|
||||
96 2 TMOD = (TMOD & ~0x30) | (TIMx->TIM_Mode<<4); //工作模式,0: 16位自动重装, 1: 16位定时/计数, 2: 8位自动重<E58AA8>
|
||||
-<2D>, 3: 停止工作
|
||||
97 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_12T) Timer1_12T(); //12T
|
||||
98 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_1T) Timer1_1T(); //1T
|
||||
99 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_Ext) Timer1_AsCounter(); //对外计数或分频
|
||||
100 2 else Timer1_AsTimer(); //定时
|
||||
101 2 if(TIMx->TIM_ClkOut == ENABLE) Timer1_CLKO_Enable(); //输出时钟
|
||||
102 2 else Timer1_CLKO_Disable(); //不输出时钟
|
||||
103 2
|
||||
104 2 T1_Load(TIMx->TIM_Value);
|
||||
105 2 if(TIMx->TIM_Run == ENABLE) Timer1_Run(); //开始运行
|
||||
106 2 return 0; //成功
|
||||
107 2 }
|
||||
108 1
|
||||
109 1 if(TIM == Timer2) //Timer2,固定为16位自动重装, 中断无优先级
|
||||
110 1 {
|
||||
111 2 Timer2_Stop(); //停止计数
|
||||
112 2 if(TIMx->TIM_Interrupt == ENABLE) Timer2_InterruptEnable(); //允许中断
|
||||
C51 COMPILER V9.60.0.0 TIMER 04/10/2023 15:47:03 PAGE 3
|
||||
|
||||
113 2 else Timer2_InterruptDisable(); //禁止中断
|
||||
114 2 if(TIMx->TIM_ClkSource > TIM_CLOCK_Ext) return 2;
|
||||
115 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_12T) Timer2_12T(); //12T
|
||||
116 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_1T) Timer2_1T(); //1T
|
||||
117 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_Ext) Timer2_AsCounter(); //对外计数或分频
|
||||
118 2 else Timer2_AsTimer(); //定时
|
||||
119 2 if(TIMx->TIM_ClkOut == ENABLE) Timer2_CLKO_Enable(); //输出时钟
|
||||
120 2 else Timer2_CLKO_Disable(); //不输出时钟
|
||||
121 2
|
||||
122 2 T2_Load(TIMx->TIM_Value);
|
||||
123 2 if(TIMx->TIM_Run == ENABLE) Timer2_Run(); //开始运行
|
||||
124 2 return 0; //成功
|
||||
125 2 }
|
||||
126 1
|
||||
127 1 if(TIM == Timer3) //Timer3,固定为16位自动重装, 中断无优先级
|
||||
128 1 {
|
||||
129 2 Timer3_Stop(); //停止计数
|
||||
130 2 if(TIMx->TIM_Interrupt == ENABLE) Timer3_InterruptEnable(); //允许中断
|
||||
131 2 else Timer3_InterruptDisable(); //禁止中断
|
||||
132 2 if(TIMx->TIM_ClkSource > TIM_CLOCK_Ext) return 2;
|
||||
133 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_12T) Timer3_12T(); //12T
|
||||
134 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_1T) Timer3_1T(); //1T
|
||||
135 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_Ext) Timer3_AsCounter(); //对外计数或分频
|
||||
136 2 else Timer3_AsTimer(); //定时
|
||||
137 2 if(TIMx->TIM_ClkOut == ENABLE) Timer3_CLKO_Enable(); //输出时钟
|
||||
138 2 else Timer3_CLKO_Disable(); //不输出时钟
|
||||
139 2
|
||||
140 2 T3_Load(TIMx->TIM_Value);
|
||||
141 2 if(TIMx->TIM_Run == ENABLE) Timer3_Run(); //开始运行
|
||||
142 2 return 0; //成功
|
||||
143 2 }
|
||||
144 1
|
||||
145 1 if(TIM == Timer4) //Timer3,固定为16位自动重装, 中断无优先级
|
||||
146 1 {
|
||||
147 2 Timer4_Stop(); //停止计数
|
||||
148 2 if(TIMx->TIM_Interrupt == ENABLE) Timer4_InterruptEnable(); //允许中断
|
||||
149 2 else Timer4_InterruptDisable(); //禁止中断
|
||||
150 2 if(TIMx->TIM_ClkSource > TIM_CLOCK_Ext) return 2;
|
||||
151 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_12T) Timer4_12T(); //12T
|
||||
152 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_1T) Timer4_1T(); //1T
|
||||
153 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_Ext) Timer4_AsCounter(); //对外计数或分频
|
||||
154 2 else Timer4_AsTimer(); //定时
|
||||
155 2 if(TIMx->TIM_ClkOut == ENABLE) Timer4_CLKO_Enable(); //输出时钟
|
||||
156 2 else Timer4_CLKO_Disable(); //不输出时钟
|
||||
157 2
|
||||
158 2 T4_Load(TIMx->TIM_Value);
|
||||
159 2 if(TIMx->TIM_Run == ENABLE) Timer4_Run(); //开始运行
|
||||
160 2 return 0; //成功
|
||||
161 2 }
|
||||
162 1 return 2; //错误
|
||||
163 1 }
|
||||
164 /************************ ?¨?±?÷???? ****************************/
|
||||
165 void Timer_config(void)
|
||||
166 {
|
||||
167 1 TIM_InitTypeDef TIM_InitStructure;
|
||||
168 1 TIM_InitStructure.TIM_Mode = TIM_16BitAutoReload;
|
||||
169 1 TIM_InitStructure.TIM_Priority = Priority_0;
|
||||
170 1 TIM_InitStructure.TIM_Interrupt = ENABLE;
|
||||
171 1 TIM_InitStructure.TIM_ClkSource = TIM_CLOCK_1T;
|
||||
172 1 TIM_InitStructure.TIM_ClkOut = DISABLE;
|
||||
173 1 TIM_InitStructure.TIM_Value = 65536UL - (MAIN_Fosc / 1000UL);
|
||||
174 1 TIM_InitStructure.TIM_Run = ENABLE;
|
||||
C51 COMPILER V9.60.0.0 TIMER 04/10/2023 15:47:03 PAGE 4
|
||||
|
||||
175 1 Timer_Inilize(Timer0,&TIM_InitStructure);
|
||||
176 1 }
|
||||
|
||||
|
||||
MODULE INFORMATION: STATIC OVERLAYABLE
|
||||
CODE SIZE = 862 ----
|
||||
CONSTANT SIZE = ---- ----
|
||||
XDATA SIZE = ---- ----
|
||||
PDATA SIZE = ---- ----
|
||||
DATA SIZE = 1 8
|
||||
IDATA SIZE = ---- ----
|
||||
BIT SIZE = ---- ----
|
||||
END OF MODULE INFORMATION.
|
||||
|
||||
|
||||
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
|
1
Objects/Exti.__i
Normal file
1
Objects/Exti.__i
Normal file
@ -0,0 +1 @@
|
||||
"mycode\Exti.c" OPTIMIZE (8,SPEED) BROWSE INCDIR(.\myinc) DEBUG OBJECTEXTEND PRINT(.\Listings\Exti.lst) TABS (2) OBJECT(.\Objects\Exti.obj)
|
BIN
Objects/Exti.obj
Normal file
BIN
Objects/Exti.obj
Normal file
Binary file not shown.
1
Objects/GPIO.__i
Normal file
1
Objects/GPIO.__i
Normal file
@ -0,0 +1 @@
|
||||
"mycode\GPIO.c" OPTIMIZE (8,SPEED) BROWSE INCDIR(.\myinc) DEBUG OBJECTEXTEND PRINT(.\Listings\GPIO.lst) TABS (2) OBJECT(.\Objects\GPIO.obj)
|
BIN
Objects/GPIO.obj
Normal file
BIN
Objects/GPIO.obj
Normal file
Binary file not shown.
BIN
Objects/STARTUP.obj
Normal file
BIN
Objects/STARTUP.obj
Normal file
Binary file not shown.
BIN
Objects/kill_control
Normal file
BIN
Objects/kill_control
Normal file
Binary file not shown.
BIN
Objects/kill_control.LIB
Normal file
BIN
Objects/kill_control.LIB
Normal file
Binary file not shown.
7
Objects/kill_control.__b
Normal file
7
Objects/kill_control.__b
Normal file
@ -0,0 +1,7 @@
|
||||
TRANSFER
|
||||
".\Objects\STARTUP.obj",
|
||||
".\Objects\Exti.obj",
|
||||
".\Objects\GPIO.obj",
|
||||
".\Objects\main.obj",
|
||||
".\Objects\timer.obj"
|
||||
TO ".\Objects\kill_control.LIB"
|
37
Objects/kill_control.build_log.htm
Normal file
37
Objects/kill_control.build_log.htm
Normal file
@ -0,0 +1,37 @@
|
||||
<html>
|
||||
<body>
|
||||
<pre>
|
||||
<h1>µVision Build Log</h1>
|
||||
<h2>Tool Versions:</h2>
|
||||
IDE-Version: ¦ÌVision V5.27.1.0
|
||||
Copyright (C) 2019 ARM Ltd and ARM Germany GmbH. All rights reserved.
|
||||
License Information: xx xx, xx, LIC=WH7DL-0DZI4-3A0DP-MA9EC-R17VA-4MPD4
|
||||
|
||||
Tool Versions:
|
||||
Toolchain: PK51 Prof. Developers Kit Version: 9.60.0.0
|
||||
Toolchain Path: d:\Keil_v5\C51\BIN
|
||||
C Compiler: C51.exe V9.60.0.0
|
||||
Assembler: A51.exe V8.2.7.0
|
||||
Linker/Locator: BL51.exe V6.22.2.0
|
||||
Library Manager: LIB51.exe V4.30.1.0
|
||||
Hex Converter: OH51.exe V2.7.0.0
|
||||
CPU DLL: S8051.DLL V3.122.0.0
|
||||
Dialog DLL: DP51.DLL V2.67.0.0
|
||||
<h2>Project:</h2>
|
||||
d:\Users\User\Documents\peek250kill control\kill_control.uvproj
|
||||
Project File Date: 04/10/2023
|
||||
|
||||
<h2>Output:</h2>
|
||||
Build target 'Target 1'
|
||||
compiling Exti.c...
|
||||
compiling GPIO.c...
|
||||
compiling main.c...
|
||||
compiling timer.c...
|
||||
linking...
|
||||
Program Size: data=18.0 xdata=0 code=2183
|
||||
creating hex file from ".\Objects\kill_control"...
|
||||
".\Objects\kill_control" - 0 Error(s), 0 Warning(s).
|
||||
Build Time Elapsed: 00:00:00
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
163
Objects/kill_control.hex
Normal file
163
Objects/kill_control.hex
Normal file
@ -0,0 +1,163 @@
|
||||
:030000000207767E
|
||||
:0C077600787FE4F6D8FD7581100207BD05
|
||||
:0300030002006692
|
||||
:10006600C0E030B20CE510700BB290B291B2928043
|
||||
:0700760003751032D0E032E7
|
||||
:0300130002000ADE
|
||||
:01000A0032C3
|
||||
:0300530002000E9A
|
||||
:01000E0032BF
|
||||
:03005B0002000F91
|
||||
:01000F0032BE
|
||||
:0300830002001068
|
||||
:0100100032BD
|
||||
:10064E00EFD394047480948040037F0122EF706195
|
||||
:10065E00C28990000212081B64017004D2A88002A5
|
||||
:10066E00C2A890000112081BFED3940374809480DC
|
||||
:10067E0040037F0222EEFD7C00700553B7FEC2B828
|
||||
:10068E00ED64014C700553B7FED2B8ED64024C70A8
|
||||
:10069E000543B701C2B8ED64034C700543B701D2F0
|
||||
:1006AE00B812080264017004D2888002C2887F00EA
|
||||
:1006BE0022EF64017061C28B90000212081B64016C
|
||||
:1006CE007004D2AA8002C2AA90000112081BFED3A7
|
||||
:1006DE0094037480948040037F0222EEFD7C0070B0
|
||||
:1006EE000553B7FBC2BAED64014C700553B7FBD28C
|
||||
:1006FE00BAED64024C700543B704C2BAED64034C04
|
||||
:10070E00700543B704D2BA12080264017004D28A8B
|
||||
:10071E008002C28A7F0022EF6402701590000212DE
|
||||
:10072E00081B64017005438F108003538FEF7F0009
|
||||
:10073E0022EF6403701590000212081B640170050D
|
||||
:10074E00438F208003538FDF7F0022EF64047015E8
|
||||
:10075E0090000212081B64017005438F4080035302
|
||||
:08076E008FBF7F00227F0222F1
|
||||
:10004000750A01E4F508F509FB7A007908FF020654
|
||||
:010050004E61
|
||||
:1003D700EFD394077480948040037F0122120802B0
|
||||
:1003E700FED394037480948040037F0222EF70440D
|
||||
:1003F700EE700B90000112081BF4529352941208EE
|
||||
:10040700026401700B90000112081B4293F452948E
|
||||
:10041700120802FE6402700A90000112081B429340
|
||||
:100427004294EE6403700D90000112081BFEF45213
|
||||
:1004370093EE4294EF64017046120802FE700B902F
|
||||
:10044700000112081BF452915292EE6401700B9056
|
||||
:10045700000112081B4291F45292120802640270C2
|
||||
:100467000A90000112081B4291429212080264038B
|
||||
:10047700700D90000112081BFEF45291EE4292EFAC
|
||||
:1004870064027046120802FE700B90000112081BEE
|
||||
:10049700F452955296EE6401700B90000112081BFE
|
||||
:1004A7004295F452961208026402700A90000112F3
|
||||
:1004B700081B429542961208026403700D900001D2
|
||||
:1004C70012081BFEF45295EE4296EF640370461233
|
||||
:1004D7000802FE700B90000112081BF452B152B2D1
|
||||
:1004E700EE6401700B90000112081B42B1F452B286
|
||||
:1004F7001208026402700A90000112081B42B142FE
|
||||
:10050700B21208026403700D90000112081BFEF47A
|
||||
:1005170052B1EE42B2EF64047046120802FE700B4D
|
||||
:1005270090000112081BF452B352B4EE6401700B31
|
||||
:1005370090000112081B42B3F452B412080264027D
|
||||
:10054700700A90000112081B42B342B412080264F9
|
||||
:1005570003700D90000112081BFEF452B3EE42B473
|
||||
:10056700EF64057046120802FE700B900001120836
|
||||
:100577001BF452C952CAEE6401700B9000011208B5
|
||||
:100587001B42C9F452CA1208026402700A900001A1
|
||||
:1005970012081B42C942CA1208026403700D900078
|
||||
:1005A7000112081BFEF452C9EE42CAEF64067046F8
|
||||
:1005B700120802FE700B90000112081BF452CB5276
|
||||
:1005C700CCEE6401700B90000112081B42CBF45271
|
||||
:1005D700CC1208026402700A90000112081B42CB79
|
||||
:1005E70042CC1208026403700D90000112081BFE32
|
||||
:1005F700F452CBEE42CCEF64077049120802FF7E3B
|
||||
:1006070000700B90000112081BF452E152E2EF64F4
|
||||
:10061700014E700B90000112081B42E1F452E212E6
|
||||
:1006270008026402700A90000112081B42E142E2CC
|
||||
:100637001208026403700D90000112081BFFF452A8
|
||||
:07064700E1EF42E27F002217
|
||||
:10001E00750904E4F508FB7A0079087F031203D70B
|
||||
:10002E007509077508037F011203D7C290C291C2EA
|
||||
:01003E00922F
|
||||
:01003F00229E
|
||||
:0D00860012001E120040120880D2AF80FE52
|
||||
:03000600011000E6
|
||||
:03000B0002089E4A
|
||||
:0B089E00C0E0E51060021510D0E03251
|
||||
:03001B00020011CF
|
||||
:0100110032BC
|
||||
:0300630002001286
|
||||
:0100120032BB
|
||||
:03009B000200164A
|
||||
:0100160032B7
|
||||
:0300A30002001741
|
||||
:0100170032B6
|
||||
:1000A600AD07EDD394047480948040037F0122ED64
|
||||
:1000B600600302017BC28C90000212081B6401706F
|
||||
:1000C60004D2A98002C2A990000112081BFED39493
|
||||
:1000D600037480948040037F0222EEFF7E00700549
|
||||
:1000E60053B7FDC2B9EF64014E700553B7FDD2B9DF
|
||||
:1000F600EF64024E700543B702C2B9EF64034E7057
|
||||
:100106000543B702D2B9120802FEC3940374809461
|
||||
:100116008040037F0222E58954FC4EF58990000356
|
||||
:1001260012081BFF7E0064017003538E7FEF4E7032
|
||||
:1001360003438E80EF64024E7005438904800353A7
|
||||
:1001460089FB90000412081B64017005438F01802F
|
||||
:1001560003538FFE900005120848E5F0F58C9000D9
|
||||
:1001660005120848F58A90000712081B6401700200
|
||||
:10017600D28C7F0022ED64016003020248C28E9099
|
||||
:10018600000212081B64017004D2AB8002C2AB905D
|
||||
:10019600000112081BFED394037480948040037FF1
|
||||
:1001A6000222EEFF7E00700553B7F7C2BBEF640173
|
||||
:1001B6004E700553B7F7D2BBEF64024E700543B7D6
|
||||
:1001C60008C2BBEF64034E700543B708D2BB1208E2
|
||||
:1001D60002FEC394037480948040037F0222EEC41F
|
||||
:1001E60054F0FFE58954CF4FF58990000312081BA0
|
||||
:1001F600FF7E0064017003538EBFEF4E7003438E83
|
||||
:1002060040EF64024E700543894080035389BF90D6
|
||||
:10021600000412081B64017005438F028003538F8C
|
||||
:10022600FD900005120848E5F0F58D9000051208CE
|
||||
:1002360048F58B90000712081B64017002D28E7F6E
|
||||
:100246000022ED6402707C538EEF90000212081BB0
|
||||
:100256006401700543AF04800353AFFB90000312A3
|
||||
:10026600081BFED394027480948040037F0222EE22
|
||||
:10027600FF7E0064017003538EFBEF4E7003438EC6
|
||||
:1002860004EF64024E7005438E088003538EF79088
|
||||
:10029600000412081B64017005438F048003538F0A
|
||||
:1002A600FB900005120848E5F0F5D6900005120807
|
||||
:1002B60048F5D790000712081B64017003438E109F
|
||||
:1002C6007F0022ED6403707C53D1F7900002120880
|
||||
:1002D6001B6401700543AF20800353AFDF9000031A
|
||||
:1002E60012081BFED394027480948040037F02227E
|
||||
:1002F600EEFF7E006401700353D1FDEF4E700343A1
|
||||
:10030600D102EF64024E700543D104800353D1FB42
|
||||
:1003160090000412081B6401700543D10180035349
|
||||
:10032600D1FE900005120848E5F0F5D490000512BC
|
||||
:100336000848F5D590000712081B6401700343D1E5
|
||||
:10034600087F0022ED640460030203D453D17F903A
|
||||
:10035600000212081B6401700543AF40800353AFCF
|
||||
:10036600BF90000312081BFD7C00D3940274809496
|
||||
:100376008040037F0222ED64014C700353D1DF906D
|
||||
:10038600000312081B700343D12090000312081BC0
|
||||
:100396006402700543D140800353D1BF900004121C
|
||||
:1003A600081B6401700543D110800353D1EF900000
|
||||
:1003B60005120848FDACF0ECF5D2AF058FD39000DE
|
||||
:1003C6000712081B6401700343D1807F00227F025D
|
||||
:0103D6002204
|
||||
:10088000E4F508F509750A01F50BF50C750DD4753D
|
||||
:0E0890000ECD750F01FB7A007908FF0200A65D
|
||||
:10078200020086E493A3F8E493A34003F68001F207
|
||||
:1007920008DFF48029E493A3F85407240CC8C33378
|
||||
:1007A200C4540F4420C8834004F456800146F6DF47
|
||||
:1007B200E4800B0102040810204080900006E47ED1
|
||||
:1007C200019360BCA3FF543F30E509541FFEE4933C
|
||||
:1007D200A360010ECF54C025E060A840B8E493A303
|
||||
:1007E200FAE493A3F8E493A3C8C582C8CAC583CA2E
|
||||
:1007F200F0A3C8C582C8CAC583CADFE9DEE780BEE6
|
||||
:0100090000F6
|
||||
:10080200BB010689828A83E0225002E722BBFE02F4
|
||||
:09081200E32289828A83E4932227
|
||||
:10081B00BB010CE58229F582E5833AF583E0225092
|
||||
:10082B0006E92582F8E622BBFE06E92582F8E222DC
|
||||
:0D083B00E58229F582E5833AF583E49322F6
|
||||
:10084800BB0110E58229F582E5833AF583E0F5F0EE
|
||||
:10085800A3E0225009E92582F886F008E622BBFECB
|
||||
:100868000AE92582F8E2F5F008E222E5832AF58311
|
||||
:08087800E993F5F0A3E99322D6
|
||||
:00000001FF
|
7
Objects/kill_control.lnp
Normal file
7
Objects/kill_control.lnp
Normal file
@ -0,0 +1,7 @@
|
||||
".\Objects\STARTUP.obj",
|
||||
".\Objects\Exti.obj",
|
||||
".\Objects\GPIO.obj",
|
||||
".\Objects\main.obj",
|
||||
".\Objects\timer.obj"
|
||||
TO ".\Objects\kill_control"
|
||||
PRINT(".\Listings\kill_control.m51") RAMSIZE(256)
|
1
Objects/main.__i
Normal file
1
Objects/main.__i
Normal file
@ -0,0 +1 @@
|
||||
"mycode\main.c" OPTIMIZE (8,SPEED) BROWSE INCDIR(.\myinc) DEBUG OBJECTEXTEND PRINT(.\Listings\main.lst) TABS (2) OBJECT(.\Objects\main.obj)
|
BIN
Objects/main.obj
Normal file
BIN
Objects/main.obj
Normal file
Binary file not shown.
1
Objects/timer.__i
Normal file
1
Objects/timer.__i
Normal file
@ -0,0 +1 @@
|
||||
"mycode\timer.c" OPTIMIZE (8,SPEED) BROWSE INCDIR(.\myinc) DEBUG OBJECTEXTEND PRINT(.\Listings\timer.lst) TABS (2) OBJECT(.\Objects\timer.obj)
|
BIN
Objects/timer.obj
Normal file
BIN
Objects/timer.obj
Normal file
Binary file not shown.
198
STARTUP.A51
Normal file
198
STARTUP.A51
Normal file
@ -0,0 +1,198 @@
|
||||
$NOMOD51
|
||||
;------------------------------------------------------------------------------
|
||||
; This file is part of the C51 Compiler package
|
||||
; Copyright (c) 1988-2005 Keil Elektronik GmbH and Keil Software, Inc.
|
||||
; Version 8.01
|
||||
;
|
||||
; *** <<< Use Configuration Wizard in Context Menu >>> ***
|
||||
;------------------------------------------------------------------------------
|
||||
; STARTUP.A51: This code is executed after processor reset.
|
||||
;
|
||||
; To translate this file use A51 with the following invocation:
|
||||
;
|
||||
; A51 STARTUP.A51
|
||||
;
|
||||
; To link the modified STARTUP.OBJ file to your application use the following
|
||||
; Lx51 invocation:
|
||||
;
|
||||
; Lx51 your object file list, STARTUP.OBJ controls
|
||||
;
|
||||
;------------------------------------------------------------------------------
|
||||
;
|
||||
; User-defined <h> Power-On Initialization of Memory
|
||||
;
|
||||
; With the following EQU statements the initialization of memory
|
||||
; at processor reset can be defined:
|
||||
;
|
||||
; <o> IDATALEN: IDATA memory size <0x0-0x100>
|
||||
; <i> Note: The absolute start-address of IDATA memory is always 0
|
||||
; <i> The IDATA space overlaps physically the DATA and BIT areas.
|
||||
IDATALEN EQU 80H
|
||||
;
|
||||
; <o> XDATASTART: XDATA memory start address <0x0-0xFFFF>
|
||||
; <i> The absolute start address of XDATA memory
|
||||
XDATASTART EQU 0
|
||||
;
|
||||
; <o> XDATALEN: XDATA memory size <0x0-0xFFFF>
|
||||
; <i> The length of XDATA memory in bytes.
|
||||
XDATALEN EQU 0
|
||||
;
|
||||
; <o> PDATASTART: PDATA memory start address <0x0-0xFFFF>
|
||||
; <i> The absolute start address of PDATA memory
|
||||
PDATASTART EQU 0H
|
||||
;
|
||||
; <o> PDATALEN: PDATA memory size <0x0-0xFF>
|
||||
; <i> The length of PDATA memory in bytes.
|
||||
PDATALEN EQU 0H
|
||||
;
|
||||
;</h>
|
||||
;------------------------------------------------------------------------------
|
||||
;
|
||||
;<h> Reentrant Stack Initialization
|
||||
;
|
||||
; The following EQU statements define the stack pointer for reentrant
|
||||
; functions and initialized it:
|
||||
;
|
||||
; <h> Stack Space for reentrant functions in the SMALL model.
|
||||
; <q> IBPSTACK: Enable SMALL model reentrant stack
|
||||
; <i> Stack space for reentrant functions in the SMALL model.
|
||||
IBPSTACK EQU 0 ; set to 1 if small reentrant is used.
|
||||
; <o> IBPSTACKTOP: End address of SMALL model stack <0x0-0xFF>
|
||||
; <i> Set the top of the stack to the highest location.
|
||||
IBPSTACKTOP EQU 0xFF +1 ; default 0FFH+1
|
||||
; </h>
|
||||
;
|
||||
; <h> Stack Space for reentrant functions in the LARGE model.
|
||||
; <q> XBPSTACK: Enable LARGE model reentrant stack
|
||||
; <i> Stack space for reentrant functions in the LARGE model.
|
||||
XBPSTACK EQU 0 ; set to 1 if large reentrant is used.
|
||||
; <o> XBPSTACKTOP: End address of LARGE model stack <0x0-0xFFFF>
|
||||
; <i> Set the top of the stack to the highest location.
|
||||
XBPSTACKTOP EQU 0xFFFF +1 ; default 0FFFFH+1
|
||||
; </h>
|
||||
;
|
||||
; <h> Stack Space for reentrant functions in the COMPACT model.
|
||||
; <q> PBPSTACK: Enable COMPACT model reentrant stack
|
||||
; <i> Stack space for reentrant functions in the COMPACT model.
|
||||
PBPSTACK EQU 0 ; set to 1 if compact reentrant is used.
|
||||
;
|
||||
; <o> PBPSTACKTOP: End address of COMPACT model stack <0x0-0xFFFF>
|
||||
; <i> Set the top of the stack to the highest location.
|
||||
PBPSTACKTOP EQU 0xFF +1 ; default 0FFH+1
|
||||
; </h>
|
||||
;</h>
|
||||
;------------------------------------------------------------------------------
|
||||
;
|
||||
; Memory Page for Using the Compact Model with 64 KByte xdata RAM
|
||||
; <e>Compact Model Page Definition
|
||||
;
|
||||
; <i>Define the XDATA page used for PDATA variables.
|
||||
; <i>PPAGE must conform with the PPAGE set in the linker invocation.
|
||||
;
|
||||
; Enable pdata memory page initalization
|
||||
PPAGEENABLE EQU 0 ; set to 1 if pdata object are used.
|
||||
;
|
||||
; <o> PPAGE number <0x0-0xFF>
|
||||
; <i> uppermost 256-byte address of the page used for PDATA variables.
|
||||
PPAGE EQU 0
|
||||
;
|
||||
; <o> SFR address which supplies uppermost address byte <0x0-0xFF>
|
||||
; <i> most 8051 variants use P2 as uppermost address byte
|
||||
PPAGE_SFR DATA 0A0H
|
||||
;
|
||||
; </e>
|
||||
;------------------------------------------------------------------------------
|
||||
|
||||
; Standard SFR Symbols
|
||||
ACC DATA 0E0H
|
||||
B DATA 0F0H
|
||||
SP DATA 81H
|
||||
DPL DATA 82H
|
||||
DPH DATA 83H
|
||||
|
||||
NAME ?C_STARTUP
|
||||
|
||||
|
||||
?C_C51STARTUP SEGMENT CODE
|
||||
?STACK SEGMENT IDATA
|
||||
|
||||
RSEG ?STACK
|
||||
DS 1
|
||||
|
||||
EXTRN CODE (?C_START)
|
||||
PUBLIC ?C_STARTUP
|
||||
|
||||
CSEG AT 0
|
||||
?C_STARTUP: LJMP STARTUP1
|
||||
|
||||
RSEG ?C_C51STARTUP
|
||||
|
||||
STARTUP1:
|
||||
|
||||
IF IDATALEN <> 0
|
||||
MOV R0,#IDATALEN - 1
|
||||
CLR A
|
||||
IDATALOOP: MOV @R0,A
|
||||
DJNZ R0,IDATALOOP
|
||||
ENDIF
|
||||
|
||||
IF XDATALEN <> 0
|
||||
MOV DPTR,#XDATASTART
|
||||
MOV R7,#LOW (XDATALEN)
|
||||
IF (LOW (XDATALEN)) <> 0
|
||||
MOV R6,#(HIGH (XDATALEN)) +1
|
||||
ELSE
|
||||
MOV R6,#HIGH (XDATALEN)
|
||||
ENDIF
|
||||
CLR A
|
||||
XDATALOOP: MOVX @DPTR,A
|
||||
INC DPTR
|
||||
DJNZ R7,XDATALOOP
|
||||
DJNZ R6,XDATALOOP
|
||||
ENDIF
|
||||
|
||||
IF PPAGEENABLE <> 0
|
||||
MOV PPAGE_SFR,#PPAGE
|
||||
ENDIF
|
||||
|
||||
IF PDATALEN <> 0
|
||||
MOV R0,#LOW (PDATASTART)
|
||||
MOV R7,#LOW (PDATALEN)
|
||||
CLR A
|
||||
PDATALOOP: MOVX @R0,A
|
||||
INC R0
|
||||
DJNZ R7,PDATALOOP
|
||||
ENDIF
|
||||
|
||||
IF IBPSTACK <> 0
|
||||
EXTRN DATA (?C_IBP)
|
||||
|
||||
MOV ?C_IBP,#LOW IBPSTACKTOP
|
||||
ENDIF
|
||||
|
||||
IF XBPSTACK <> 0
|
||||
EXTRN DATA (?C_XBP)
|
||||
|
||||
MOV ?C_XBP,#HIGH XBPSTACKTOP
|
||||
MOV ?C_XBP+1,#LOW XBPSTACKTOP
|
||||
ENDIF
|
||||
|
||||
IF PBPSTACK <> 0
|
||||
EXTRN DATA (?C_PBP)
|
||||
MOV ?C_PBP,#LOW PBPSTACKTOP
|
||||
ENDIF
|
||||
|
||||
MOV SP,#?STACK-1
|
||||
|
||||
; This code is required if you use L51_BANK.A51 with Banking Mode 4
|
||||
;<h> Code Banking
|
||||
; <q> Select Bank 0 for L51_BANK.A51 Mode 4
|
||||
#if 0
|
||||
; <i> Initialize bank mechanism to code bank 0 when using L51_BANK.A51 with Banking Mode 4.
|
||||
EXTRN CODE (?B_SWITCH0)
|
||||
CALL ?B_SWITCH0 ; init bank mechanism to code bank 0
|
||||
#endif
|
||||
;</h>
|
||||
LJMP ?C_START
|
||||
|
||||
END
|
1914
kill_control.uvgui.User
Normal file
1914
kill_control.uvgui.User
Normal file
File diff suppressed because one or more lines are too long
241
kill_control.uvopt
Normal file
241
kill_control.uvopt
Normal file
@ -0,0 +1,241 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_opt.xsd">
|
||||
|
||||
<SchemaVersion>1.0</SchemaVersion>
|
||||
|
||||
<Header>### uVision Project, (C) Keil Software</Header>
|
||||
|
||||
<Extensions>
|
||||
<cExt>*.c</cExt>
|
||||
<aExt>*.s*; *.src; *.a*</aExt>
|
||||
<oExt>*.obj; *.o</oExt>
|
||||
<lExt>*.lib</lExt>
|
||||
<tExt>*.txt; *.h; *.inc</tExt>
|
||||
<pExt>*.plm</pExt>
|
||||
<CppX>*.cpp</CppX>
|
||||
<nMigrate>0</nMigrate>
|
||||
</Extensions>
|
||||
|
||||
<DaveTm>
|
||||
<dwLowDateTime>0</dwLowDateTime>
|
||||
<dwHighDateTime>0</dwHighDateTime>
|
||||
</DaveTm>
|
||||
|
||||
<Target>
|
||||
<TargetName>Target 1</TargetName>
|
||||
<ToolsetNumber>0x0</ToolsetNumber>
|
||||
<ToolsetName>MCS-51</ToolsetName>
|
||||
<TargetOption>
|
||||
<CLK51>35000000</CLK51>
|
||||
<OPTTT>
|
||||
<gFlags>1</gFlags>
|
||||
<BeepAtEnd>1</BeepAtEnd>
|
||||
<RunSim>1</RunSim>
|
||||
<RunTarget>0</RunTarget>
|
||||
<RunAbUc>0</RunAbUc>
|
||||
</OPTTT>
|
||||
<OPTHX>
|
||||
<HexSelection>0</HexSelection>
|
||||
<FlashByte>65535</FlashByte>
|
||||
<HexRangeLowAddress>0</HexRangeLowAddress>
|
||||
<HexRangeHighAddress>0</HexRangeHighAddress>
|
||||
<HexOffset>0</HexOffset>
|
||||
</OPTHX>
|
||||
<OPTLEX>
|
||||
<PageWidth>120</PageWidth>
|
||||
<PageLength>65</PageLength>
|
||||
<TabStop>8</TabStop>
|
||||
<ListingPath>.\Listings\</ListingPath>
|
||||
</OPTLEX>
|
||||
<ListingPage>
|
||||
<CreateCListing>1</CreateCListing>
|
||||
<CreateAListing>1</CreateAListing>
|
||||
<CreateLListing>1</CreateLListing>
|
||||
<CreateIListing>0</CreateIListing>
|
||||
<AsmCond>1</AsmCond>
|
||||
<AsmSymb>1</AsmSymb>
|
||||
<AsmXref>0</AsmXref>
|
||||
<CCond>1</CCond>
|
||||
<CCode>0</CCode>
|
||||
<CListInc>0</CListInc>
|
||||
<CSymb>0</CSymb>
|
||||
<LinkerCodeListing>0</LinkerCodeListing>
|
||||
</ListingPage>
|
||||
<OPTXL>
|
||||
<LMap>1</LMap>
|
||||
<LComments>1</LComments>
|
||||
<LGenerateSymbols>1</LGenerateSymbols>
|
||||
<LLibSym>1</LLibSym>
|
||||
<LLines>1</LLines>
|
||||
<LLocSym>1</LLocSym>
|
||||
<LPubSym>1</LPubSym>
|
||||
<LXref>0</LXref>
|
||||
<LExpSel>0</LExpSel>
|
||||
</OPTXL>
|
||||
<OPTFL>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<IsCurrentTarget>1</IsCurrentTarget>
|
||||
</OPTFL>
|
||||
<CpuCode>255</CpuCode>
|
||||
<DebugOpt>
|
||||
<uSim>1</uSim>
|
||||
<uTrg>0</uTrg>
|
||||
<sLdApp>1</sLdApp>
|
||||
<sGomain>1</sGomain>
|
||||
<sRbreak>1</sRbreak>
|
||||
<sRwatch>1</sRwatch>
|
||||
<sRmem>1</sRmem>
|
||||
<sRfunc>1</sRfunc>
|
||||
<sRbox>1</sRbox>
|
||||
<tLdApp>1</tLdApp>
|
||||
<tGomain>0</tGomain>
|
||||
<tRbreak>1</tRbreak>
|
||||
<tRwatch>1</tRwatch>
|
||||
<tRmem>1</tRmem>
|
||||
<tRfunc>0</tRfunc>
|
||||
<tRbox>1</tRbox>
|
||||
<tRtrace>1</tRtrace>
|
||||
<sRSysVw>1</sRSysVw>
|
||||
<tRSysVw>1</tRSysVw>
|
||||
<sRunDeb>0</sRunDeb>
|
||||
<sLrtime>0</sLrtime>
|
||||
<bEvRecOn>1</bEvRecOn>
|
||||
<bSchkAxf>0</bSchkAxf>
|
||||
<bTchkAxf>0</bTchkAxf>
|
||||
<nTsel>-1</nTsel>
|
||||
<sDll></sDll>
|
||||
<sDllPa></sDllPa>
|
||||
<sDlgDll></sDlgDll>
|
||||
<sDlgPa></sDlgPa>
|
||||
<sIfile></sIfile>
|
||||
<tDll></tDll>
|
||||
<tDllPa></tDllPa>
|
||||
<tDlgDll></tDlgDll>
|
||||
<tDlgPa></tDlgPa>
|
||||
<tIfile></tIfile>
|
||||
<pMon></pMon>
|
||||
</DebugOpt>
|
||||
<Breakpoint/>
|
||||
<Tracepoint>
|
||||
<THDelay>0</THDelay>
|
||||
</Tracepoint>
|
||||
<DebugFlag>
|
||||
<trace>0</trace>
|
||||
<periodic>1</periodic>
|
||||
<aLwin>0</aLwin>
|
||||
<aCover>0</aCover>
|
||||
<aSer1>0</aSer1>
|
||||
<aSer2>0</aSer2>
|
||||
<aPa>0</aPa>
|
||||
<viewmode>0</viewmode>
|
||||
<vrSel>0</vrSel>
|
||||
<aSym>0</aSym>
|
||||
<aTbox>0</aTbox>
|
||||
<AscS1>0</AscS1>
|
||||
<AscS2>0</AscS2>
|
||||
<AscS3>0</AscS3>
|
||||
<aSer3>0</aSer3>
|
||||
<eProf>0</eProf>
|
||||
<aLa>0</aLa>
|
||||
<aPa1>0</aPa1>
|
||||
<AscS4>0</AscS4>
|
||||
<aSer4>0</aSer4>
|
||||
<StkLoc>0</StkLoc>
|
||||
<TrcWin>0</TrcWin>
|
||||
<newCpu>0</newCpu>
|
||||
<uProt>0</uProt>
|
||||
</DebugFlag>
|
||||
<LintExecutable></LintExecutable>
|
||||
<LintConfigFile></LintConfigFile>
|
||||
<bLintAuto>0</bLintAuto>
|
||||
<bAutoGenD>0</bAutoGenD>
|
||||
<LntExFlags>0</LntExFlags>
|
||||
<pMisraName></pMisraName>
|
||||
<pszMrule></pszMrule>
|
||||
<pSingCmds></pSingCmds>
|
||||
<pMultCmds></pMultCmds>
|
||||
<pMisraNamep></pMisraNamep>
|
||||
<pszMrulep></pszMrulep>
|
||||
<pSingCmdsp></pSingCmdsp>
|
||||
<pMultCmdsp></pMultCmdsp>
|
||||
</TargetOption>
|
||||
</Target>
|
||||
|
||||
<Group>
|
||||
<GroupName>Source Group 1</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>1</GroupNumber>
|
||||
<FileNumber>1</FileNumber>
|
||||
<FileType>2</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\STARTUP.A51</PathWithFileName>
|
||||
<FilenameWithoutPath>STARTUP.A51</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>mycode</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>2</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\mycode\Exti.c</PathWithFileName>
|
||||
<FilenameWithoutPath>Exti.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>3</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\mycode\GPIO.c</PathWithFileName>
|
||||
<FilenameWithoutPath>GPIO.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>4</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\mycode\main.c</PathWithFileName>
|
||||
<FilenameWithoutPath>main.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>5</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\mycode\timer.c</PathWithFileName>
|
||||
<FilenameWithoutPath>timer.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
</ProjectOpt>
|
415
kill_control.uvproj
Normal file
415
kill_control.uvproj
Normal file
@ -0,0 +1,415 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_proj.xsd">
|
||||
|
||||
<SchemaVersion>1.1</SchemaVersion>
|
||||
|
||||
<Header>### uVision Project, (C) Keil Software</Header>
|
||||
|
||||
<Targets>
|
||||
<Target>
|
||||
<TargetName>Target 1</TargetName>
|
||||
<ToolsetNumber>0x0</ToolsetNumber>
|
||||
<ToolsetName>MCS-51</ToolsetName>
|
||||
<uAC6>0</uAC6>
|
||||
<TargetOption>
|
||||
<TargetCommonOption>
|
||||
<Device>STC8H1K28 Series</Device>
|
||||
<Vendor>STC</Vendor>
|
||||
<Cpu>IRAM(0-0xFF) XRAM(0-0x03FF) IROM(0-0x6FF8) CLOCK(35000000) MODP2</Cpu>
|
||||
<FlashUtilSpec></FlashUtilSpec>
|
||||
<StartupFile>"LIB\STARTUP.A51" ("Standard 8051 Startup Code")</StartupFile>
|
||||
<FlashDriverDll></FlashDriverDll>
|
||||
<DeviceId>63268</DeviceId>
|
||||
<RegisterFile>STC8.H</RegisterFile>
|
||||
<MemoryEnv></MemoryEnv>
|
||||
<Cmp></Cmp>
|
||||
<Asm></Asm>
|
||||
<Linker></Linker>
|
||||
<OHString></OHString>
|
||||
<InfinionOptionDll></InfinionOptionDll>
|
||||
<SLE66CMisc></SLE66CMisc>
|
||||
<SLE66AMisc></SLE66AMisc>
|
||||
<SLE66LinkerMisc></SLE66LinkerMisc>
|
||||
<SFDFile></SFDFile>
|
||||
<bCustSvd>0</bCustSvd>
|
||||
<UseEnv>0</UseEnv>
|
||||
<BinPath></BinPath>
|
||||
<IncludePath></IncludePath>
|
||||
<LibPath></LibPath>
|
||||
<RegisterFilePath>STC\</RegisterFilePath>
|
||||
<DBRegisterFilePath>STC\</DBRegisterFilePath>
|
||||
<TargetStatus>
|
||||
<Error>0</Error>
|
||||
<ExitCodeStop>0</ExitCodeStop>
|
||||
<ButtonStop>0</ButtonStop>
|
||||
<NotGenerated>0</NotGenerated>
|
||||
<InvalidFlash>1</InvalidFlash>
|
||||
</TargetStatus>
|
||||
<OutputDirectory>.\Objects\</OutputDirectory>
|
||||
<OutputName>kill_control</OutputName>
|
||||
<CreateExecutable>1</CreateExecutable>
|
||||
<CreateLib>0</CreateLib>
|
||||
<CreateHexFile>1</CreateHexFile>
|
||||
<DebugInformation>1</DebugInformation>
|
||||
<BrowseInformation>1</BrowseInformation>
|
||||
<ListingPath>.\Listings\</ListingPath>
|
||||
<HexFormatSelection>0</HexFormatSelection>
|
||||
<Merge32K>0</Merge32K>
|
||||
<CreateBatchFile>0</CreateBatchFile>
|
||||
<BeforeCompile>
|
||||
<RunUserProg1>0</RunUserProg1>
|
||||
<RunUserProg2>0</RunUserProg2>
|
||||
<UserProg1Name></UserProg1Name>
|
||||
<UserProg2Name></UserProg2Name>
|
||||
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||
<nStopU1X>0</nStopU1X>
|
||||
<nStopU2X>0</nStopU2X>
|
||||
</BeforeCompile>
|
||||
<BeforeMake>
|
||||
<RunUserProg1>0</RunUserProg1>
|
||||
<RunUserProg2>0</RunUserProg2>
|
||||
<UserProg1Name></UserProg1Name>
|
||||
<UserProg2Name></UserProg2Name>
|
||||
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||
<nStopB1X>0</nStopB1X>
|
||||
<nStopB2X>0</nStopB2X>
|
||||
</BeforeMake>
|
||||
<AfterMake>
|
||||
<RunUserProg1>0</RunUserProg1>
|
||||
<RunUserProg2>0</RunUserProg2>
|
||||
<UserProg1Name></UserProg1Name>
|
||||
<UserProg2Name></UserProg2Name>
|
||||
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||
<nStopA1X>0</nStopA1X>
|
||||
<nStopA2X>0</nStopA2X>
|
||||
</AfterMake>
|
||||
<SelectedForBatchBuild>0</SelectedForBatchBuild>
|
||||
<SVCSIdString></SVCSIdString>
|
||||
</TargetCommonOption>
|
||||
<CommonProperty>
|
||||
<UseCPPCompiler>0</UseCPPCompiler>
|
||||
<RVCTCodeConst>0</RVCTCodeConst>
|
||||
<RVCTZI>0</RVCTZI>
|
||||
<RVCTOtherData>0</RVCTOtherData>
|
||||
<ModuleSelection>0</ModuleSelection>
|
||||
<IncludeInBuild>1</IncludeInBuild>
|
||||
<AlwaysBuild>0</AlwaysBuild>
|
||||
<GenerateAssemblyFile>0</GenerateAssemblyFile>
|
||||
<AssembleAssemblyFile>0</AssembleAssemblyFile>
|
||||
<PublicsOnly>0</PublicsOnly>
|
||||
<StopOnExitCode>3</StopOnExitCode>
|
||||
<CustomArgument></CustomArgument>
|
||||
<IncludeLibraryModules></IncludeLibraryModules>
|
||||
<ComprImg>1</ComprImg>
|
||||
<BankNo>65535</BankNo>
|
||||
</CommonProperty>
|
||||
<DllOption>
|
||||
<SimDllName>S8051.DLL</SimDllName>
|
||||
<SimDllArguments></SimDllArguments>
|
||||
<SimDlgDll>DP51.DLL</SimDlgDll>
|
||||
<SimDlgDllArguments>-pDP8051</SimDlgDllArguments>
|
||||
<TargetDllName>S8051.DLL</TargetDllName>
|
||||
<TargetDllArguments></TargetDllArguments>
|
||||
<TargetDlgDll>TP51.DLL</TargetDlgDll>
|
||||
<TargetDlgDllArguments>-p51</TargetDlgDllArguments>
|
||||
</DllOption>
|
||||
<DebugOption>
|
||||
<OPTHX>
|
||||
<HexSelection>0</HexSelection>
|
||||
<HexRangeLowAddress>0</HexRangeLowAddress>
|
||||
<HexRangeHighAddress>0</HexRangeHighAddress>
|
||||
<HexOffset>0</HexOffset>
|
||||
<Oh166RecLen>16</Oh166RecLen>
|
||||
</OPTHX>
|
||||
<Simulator>
|
||||
<UseSimulator>1</UseSimulator>
|
||||
<LoadApplicationAtStartup>1</LoadApplicationAtStartup>
|
||||
<RunToMain>1</RunToMain>
|
||||
<RestoreBreakpoints>1</RestoreBreakpoints>
|
||||
<RestoreWatchpoints>1</RestoreWatchpoints>
|
||||
<RestoreMemoryDisplay>1</RestoreMemoryDisplay>
|
||||
<RestoreFunctions>1</RestoreFunctions>
|
||||
<RestoreToolbox>1</RestoreToolbox>
|
||||
<LimitSpeedToRealTime>0</LimitSpeedToRealTime>
|
||||
<RestoreSysVw>1</RestoreSysVw>
|
||||
</Simulator>
|
||||
<Target>
|
||||
<UseTarget>0</UseTarget>
|
||||
<LoadApplicationAtStartup>1</LoadApplicationAtStartup>
|
||||
<RunToMain>0</RunToMain>
|
||||
<RestoreBreakpoints>1</RestoreBreakpoints>
|
||||
<RestoreWatchpoints>1</RestoreWatchpoints>
|
||||
<RestoreMemoryDisplay>1</RestoreMemoryDisplay>
|
||||
<RestoreFunctions>0</RestoreFunctions>
|
||||
<RestoreToolbox>1</RestoreToolbox>
|
||||
<RestoreTracepoints>1</RestoreTracepoints>
|
||||
<RestoreSysVw>1</RestoreSysVw>
|
||||
</Target>
|
||||
<RunDebugAfterBuild>0</RunDebugAfterBuild>
|
||||
<TargetSelection>-1</TargetSelection>
|
||||
<SimDlls>
|
||||
<CpuDll></CpuDll>
|
||||
<CpuDllArguments></CpuDllArguments>
|
||||
<PeripheralDll></PeripheralDll>
|
||||
<PeripheralDllArguments></PeripheralDllArguments>
|
||||
<InitializationFile></InitializationFile>
|
||||
</SimDlls>
|
||||
<TargetDlls>
|
||||
<CpuDll></CpuDll>
|
||||
<CpuDllArguments></CpuDllArguments>
|
||||
<PeripheralDll></PeripheralDll>
|
||||
<PeripheralDllArguments></PeripheralDllArguments>
|
||||
<InitializationFile></InitializationFile>
|
||||
<Driver></Driver>
|
||||
</TargetDlls>
|
||||
</DebugOption>
|
||||
<Utilities>
|
||||
<Flash1>
|
||||
<UseTargetDll>0</UseTargetDll>
|
||||
<UseExternalTool>0</UseExternalTool>
|
||||
<RunIndependent>0</RunIndependent>
|
||||
<UpdateFlashBeforeDebugging>0</UpdateFlashBeforeDebugging>
|
||||
<Capability>0</Capability>
|
||||
<DriverSelection>-1</DriverSelection>
|
||||
</Flash1>
|
||||
<bUseTDR>0</bUseTDR>
|
||||
<Flash2></Flash2>
|
||||
<Flash3></Flash3>
|
||||
<Flash4></Flash4>
|
||||
<pFcarmOut></pFcarmOut>
|
||||
<pFcarmGrp></pFcarmGrp>
|
||||
<pFcArmRoot></pFcArmRoot>
|
||||
<FcArmLst>0</FcArmLst>
|
||||
</Utilities>
|
||||
<Target51>
|
||||
<Target51Misc>
|
||||
<MemoryModel>0</MemoryModel>
|
||||
<RTOS>0</RTOS>
|
||||
<RomSize>2</RomSize>
|
||||
<DataHold>0</DataHold>
|
||||
<XDataHold>0</XDataHold>
|
||||
<UseOnchipRom>0</UseOnchipRom>
|
||||
<UseOnchipArithmetic>0</UseOnchipArithmetic>
|
||||
<UseMultipleDPTR>0</UseMultipleDPTR>
|
||||
<UseOnchipXram>0</UseOnchipXram>
|
||||
<HadIRAM>1</HadIRAM>
|
||||
<HadXRAM>1</HadXRAM>
|
||||
<HadIROM>1</HadIROM>
|
||||
<Moda2>0</Moda2>
|
||||
<Moddp2>0</Moddp2>
|
||||
<Modp2>1</Modp2>
|
||||
<Mod517dp>0</Mod517dp>
|
||||
<Mod517au>0</Mod517au>
|
||||
<Mode2>0</Mode2>
|
||||
<useCB>0</useCB>
|
||||
<useXB>0</useXB>
|
||||
<useL251>0</useL251>
|
||||
<useA251>0</useA251>
|
||||
<Mx51>0</Mx51>
|
||||
<ModC812>0</ModC812>
|
||||
<ModCont>0</ModCont>
|
||||
<Lp51>0</Lp51>
|
||||
<useXBS>0</useXBS>
|
||||
<ModDA>0</ModDA>
|
||||
<ModAB2>0</ModAB2>
|
||||
<Mx51P>0</Mx51P>
|
||||
<hadXRAM2>0</hadXRAM2>
|
||||
<uocXram2>0</uocXram2>
|
||||
<hadXRAM3>0</hadXRAM3>
|
||||
<ModC2>0</ModC2>
|
||||
<ModH2>0</ModH2>
|
||||
<Mdu_R515>0</Mdu_R515>
|
||||
<Mdu_F120>0</Mdu_F120>
|
||||
<Psoc>0</Psoc>
|
||||
<hadIROM2>0</hadIROM2>
|
||||
<hadIROM3>0</hadIROM3>
|
||||
<ModSmx2>0</ModSmx2>
|
||||
<cBanks>0</cBanks>
|
||||
<xBanks>0</xBanks>
|
||||
<OnChipMemories>
|
||||
<RCB>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0xffff</Size>
|
||||
</RCB>
|
||||
<RXB>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</RXB>
|
||||
<Ocm1>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocm1>
|
||||
<Ocm2>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocm2>
|
||||
<Ocm3>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocm3>
|
||||
<Ocr1>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocr1>
|
||||
<Ocr2>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocr2>
|
||||
<Ocr3>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocr3>
|
||||
<IRO>
|
||||
<Type>1</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x6ff9</Size>
|
||||
</IRO>
|
||||
<IRA>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x100</Size>
|
||||
</IRA>
|
||||
<XRA>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x400</Size>
|
||||
</XRA>
|
||||
<XRA512>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</XRA512>
|
||||
<IROM512>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</IROM512>
|
||||
<XRA513>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</XRA513>
|
||||
<IROM513>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</IROM513>
|
||||
</OnChipMemories>
|
||||
</Target51Misc>
|
||||
<C51>
|
||||
<RegisterColoring>0</RegisterColoring>
|
||||
<VariablesInOrder>0</VariablesInOrder>
|
||||
<IntegerPromotion>1</IntegerPromotion>
|
||||
<uAregs>0</uAregs>
|
||||
<UseInterruptVector>1</UseInterruptVector>
|
||||
<Fuzzy>3</Fuzzy>
|
||||
<Optimize>8</Optimize>
|
||||
<WarningLevel>2</WarningLevel>
|
||||
<SizeSpeed>1</SizeSpeed>
|
||||
<ObjectExtend>1</ObjectExtend>
|
||||
<ACallAJmp>0</ACallAJmp>
|
||||
<InterruptVectorAddress>0</InterruptVectorAddress>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath>.\myinc</IncludePath>
|
||||
</VariousControls>
|
||||
</C51>
|
||||
<Ax51>
|
||||
<UseMpl>0</UseMpl>
|
||||
<UseStandard>1</UseStandard>
|
||||
<UseCase>0</UseCase>
|
||||
<UseMod51>0</UseMod51>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath></IncludePath>
|
||||
</VariousControls>
|
||||
</Ax51>
|
||||
<Lx51>
|
||||
<useFile>0</useFile>
|
||||
<linkonly>0</linkonly>
|
||||
<UseMemoryFromTarget>1</UseMemoryFromTarget>
|
||||
<CaseSensitiveSymbols>0</CaseSensitiveSymbols>
|
||||
<WarningLevel>2</WarningLevel>
|
||||
<DataOverlaying>1</DataOverlaying>
|
||||
<OverlayString></OverlayString>
|
||||
<MiscControls></MiscControls>
|
||||
<DisableWarningNumbers></DisableWarningNumbers>
|
||||
<LinkerCmdFile></LinkerCmdFile>
|
||||
<Assign></Assign>
|
||||
<ReserveString></ReserveString>
|
||||
<CClasses></CClasses>
|
||||
<UserClasses></UserClasses>
|
||||
<CSection></CSection>
|
||||
<UserSection></UserSection>
|
||||
<CodeBaseAddress></CodeBaseAddress>
|
||||
<XDataBaseAddress></XDataBaseAddress>
|
||||
<PDataBaseAddress></PDataBaseAddress>
|
||||
<BitBaseAddress></BitBaseAddress>
|
||||
<DataBaseAddress></DataBaseAddress>
|
||||
<IDataBaseAddress></IDataBaseAddress>
|
||||
<Precede></Precede>
|
||||
<Stack></Stack>
|
||||
<CodeSegmentName></CodeSegmentName>
|
||||
<XDataSegmentName></XDataSegmentName>
|
||||
<BitSegmentName></BitSegmentName>
|
||||
<DataSegmentName></DataSegmentName>
|
||||
<IDataSegmentName></IDataSegmentName>
|
||||
</Lx51>
|
||||
</Target51>
|
||||
</TargetOption>
|
||||
<Groups>
|
||||
<Group>
|
||||
<GroupName>Source Group 1</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>STARTUP.A51</FileName>
|
||||
<FileType>2</FileType>
|
||||
<FilePath>.\STARTUP.A51</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>mycode</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>Exti.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>.\mycode\Exti.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>GPIO.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>.\mycode\GPIO.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>main.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>.\mycode\main.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>timer.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>.\mycode\timer.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
</Groups>
|
||||
</Target>
|
||||
</Targets>
|
||||
|
||||
</Project>
|
143
mycode/Exti.c
Normal file
143
mycode/Exti.c
Normal file
@ -0,0 +1,143 @@
|
||||
/*---------------------------------------------------------------------*/
|
||||
/* --- STC MCU Limited ------------------------------------------------*/
|
||||
/* --- STC 1T Series MCU Demo Programme -------------------------------*/
|
||||
/* --- Mobile: (86)13922805190 ----------------------------------------*/
|
||||
/* --- Fax: 86-0513-55012956,55012947,55012969 ------------------------*/
|
||||
/* --- Tel: 86-0513-55012928,55012929,55012966 ------------------------*/
|
||||
/* --- Web: www.STCMCU.com --------------------------------------------*/
|
||||
/* --- Web: www.STCMCUDATA.com ---------------------------------------*/
|
||||
/* --- QQ: 800003751 -------------------------------------------------*/
|
||||
/* 如果要在程序中使用此代码,请在程序中注明使用了STC的资料及程序 */
|
||||
/*---------------------------------------------------------------------*/
|
||||
|
||||
/************* 功能说明 **************
|
||||
|
||||
本文件为STC8系列的外中断初始化和中断程序,用户可以在这个文件中修改自己需要的中断程序.
|
||||
|
||||
******************************************/
|
||||
|
||||
#include "Exti.h"
|
||||
|
||||
/************* 外部函数和变量声明 *****************/
|
||||
|
||||
/********************* INT0中断函数 *************************/
|
||||
void Ext_INT0(void) interrupt INT0_VECTOR // 进中断时已经清除标志
|
||||
{
|
||||
if (kill_gpio)
|
||||
{
|
||||
if (KILL_time == 0)
|
||||
{
|
||||
power1_gpio = !power1_gpio;
|
||||
power2_gpio = !power2_gpio;
|
||||
power3_gpio = !power3_gpio;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
KILL_time = 50;
|
||||
}
|
||||
}
|
||||
|
||||
/********************* INT1中断函数 *************************/
|
||||
void Ext_INT1(void) interrupt INT1_VECTOR // 进中断时已经清除标志
|
||||
{
|
||||
}
|
||||
|
||||
/********************* INT2中断函数 *************************/
|
||||
void Ext_INT2(void) interrupt INT2_VECTOR //
|
||||
{
|
||||
}
|
||||
|
||||
/********************* INT3中断函数 *************************/
|
||||
void Ext_INT3(void) interrupt INT3_VECTOR
|
||||
{
|
||||
}
|
||||
|
||||
/********************* INT4中断函数 *************************/
|
||||
void Ext_INT4(void) interrupt INT4_VECTOR
|
||||
{
|
||||
}
|
||||
|
||||
//========================================================================
|
||||
// 函数: u8 Ext_Inilize(u8 EXT, EXTI_InitTypeDef *INTx)
|
||||
// 描述: 外部中断初始化程序.
|
||||
// 参数: INTx: 结构参数,请参考Exti.h里的定义.
|
||||
// 返回: 成功返回0, 空操作返回1,错误返回2.
|
||||
// 版本: V1.0, 2012-10-22
|
||||
//========================================================================
|
||||
u8 Ext_Inilize(u8 EXT, EXTI_InitTypeDef *INTx)
|
||||
{
|
||||
if (EXT > EXT_INT4)
|
||||
return 1; // 空操作
|
||||
|
||||
if (EXT == EXT_INT0) // 外中断0
|
||||
{
|
||||
IE0 = 0; // 外中断0标志位
|
||||
if (INTx->EXTI_Interrupt == ENABLE)
|
||||
EX0 = 1; // 允许中断
|
||||
else
|
||||
EX0 = 0; // 禁止中断
|
||||
if (INTx->EXTI_Priority > Priority_3)
|
||||
return 2; // 错误
|
||||
INT0_Priority(INTx->EXTI_Priority); // 指定中断优先级(低到高) Priority_0,Priority_1,Priority_2,Priority_3
|
||||
if (INTx->EXTI_Mode == EXT_MODE_Fall)
|
||||
IT0 = 1; // 下降沿中断
|
||||
else
|
||||
IT0 = 0; // 上升,下降沿中断
|
||||
return 0; // 成功
|
||||
}
|
||||
|
||||
if (EXT == EXT_INT1) // 外中断1
|
||||
{
|
||||
IE1 = 0; // 外中断1标志位
|
||||
if (INTx->EXTI_Interrupt == ENABLE)
|
||||
EX1 = 1; // 允许中断
|
||||
else
|
||||
EX1 = 0; // 禁止中断
|
||||
if (INTx->EXTI_Priority > Priority_3)
|
||||
return 2; // 错误
|
||||
INT1_Priority(INTx->EXTI_Priority); // 指定中断优先级(低到高) Priority_0,Priority_1,Priority_2,Priority_3
|
||||
if (INTx->EXTI_Mode == EXT_MODE_Fall)
|
||||
IT1 = 1; // 下降沿中断
|
||||
else
|
||||
IT1 = 0; // 上升,下降沿中断
|
||||
return 0; // 成功
|
||||
}
|
||||
|
||||
if (EXT == EXT_INT2) // 外中断2, 固定为下降沿低优先级中断
|
||||
{
|
||||
if (INTx->EXTI_Interrupt == ENABLE)
|
||||
INT_CLKO |= (1 << 4); // 允许中断
|
||||
else
|
||||
INT_CLKO &= ~(1 << 4); // 禁止中断
|
||||
return 0; // 成功
|
||||
}
|
||||
|
||||
if (EXT == EXT_INT3) // 外中断3, 固定为下降沿低优先级中断
|
||||
{
|
||||
if (INTx->EXTI_Interrupt == ENABLE)
|
||||
INT_CLKO |= (1 << 5); // 允许中断
|
||||
else
|
||||
INT_CLKO &= ~(1 << 5); // 禁止中断
|
||||
return 0; // 成功
|
||||
}
|
||||
|
||||
if (EXT == EXT_INT4) // 外中断4, 固定为下降沿低优先级中断
|
||||
{
|
||||
if (INTx->EXTI_Interrupt == ENABLE)
|
||||
INT_CLKO |= (1 << 6); // 允许中断
|
||||
else
|
||||
INT_CLKO &= ~(1 << 6); // 禁止中断
|
||||
return 0; // 成功
|
||||
}
|
||||
return 2; // 失败
|
||||
}
|
||||
void Exti_config(void)
|
||||
{
|
||||
EXTI_InitTypeDef Exti_InitStructure; // 结构定义
|
||||
|
||||
Exti_InitStructure.EXTI_Interrupt = ENABLE; // 中断使能, ENABLE或DISABLE
|
||||
Exti_InitStructure.EXTI_Mode = EXT_MODE_RiseFall; // 中断模式, EXT_MODE_RiseFall,EXT_MODE_Fall
|
||||
Exti_InitStructure.EXTI_Priority = Priority_0; // 指定中断优先级(低到高) Priority_0,Priority_1,Priority_2,Priority_3
|
||||
Ext_Inilize(EXT_INT0, &Exti_InitStructure); // 初始化
|
||||
}
|
137
mycode/GPIO.c
Normal file
137
mycode/GPIO.c
Normal file
@ -0,0 +1,137 @@
|
||||
/*---------------------------------------------------------------------*/
|
||||
/* --- STC MCU Limited ------------------------------------------------*/
|
||||
/* --- STC 1T Series MCU Demo Programme -------------------------------*/
|
||||
/* --- Mobile: (86)13922805190 ----------------------------------------*/
|
||||
/* --- Fax: 86-0513-55012956,55012947,55012969 ------------------------*/
|
||||
/* --- Tel: 86-0513-55012928,55012929,55012966 ------------------------*/
|
||||
/* --- Web: www.STCMCU.com --------------------------------------------*/
|
||||
/* --- Web: www.STCMCUDATA.com ---------------------------------------*/
|
||||
/* --- QQ: 800003751 -------------------------------------------------*/
|
||||
/* 如果要在程序中使用此代码,请在程序中注明使用了STC的资料及程序 */
|
||||
/*---------------------------------------------------------------------*/
|
||||
|
||||
/*************** 功能说明 ****************
|
||||
|
||||
本文件为STC8系列的端口初始化程序,用户几乎可以不修改这个程序.
|
||||
|
||||
******************************************/
|
||||
|
||||
#include "GPIO.h"
|
||||
|
||||
//========================================================================
|
||||
// 函数: u8 GPIO_Inilize(u8 GPIO, GPIO_InitTypeDef *GPIOx)
|
||||
// 描述: 初始化IO口.
|
||||
// 参数: GPIOx: 结构参数,请参考timer.h里的定义.
|
||||
// 返回: 成功返回0, 空操作返回1,错误返回2.
|
||||
// 版本: V1.0, 2012-10-22
|
||||
//========================================================================
|
||||
u8 GPIO_Inilize(u8 GPIO, GPIO_InitTypeDef *GPIOx)
|
||||
{
|
||||
if (GPIO > GPIO_P7)
|
||||
return 1; // 空操作
|
||||
if (GPIOx->Mode > GPIO_OUT_PP)
|
||||
return 2; // 错误
|
||||
if (GPIO == GPIO_P0)
|
||||
{
|
||||
if (GPIOx->Mode == GPIO_PullUp)
|
||||
P0M1 &= ~GPIOx->Pin, P0M0 &= ~GPIOx->Pin; // 上拉准双向口
|
||||
if (GPIOx->Mode == GPIO_HighZ)
|
||||
P0M1 |= GPIOx->Pin, P0M0 &= ~GPIOx->Pin; // 浮空输入
|
||||
if (GPIOx->Mode == GPIO_OUT_OD)
|
||||
P0M1 |= GPIOx->Pin, P0M0 |= GPIOx->Pin; // 开漏输出
|
||||
if (GPIOx->Mode == GPIO_OUT_PP)
|
||||
P0M1 &= ~GPIOx->Pin, P0M0 |= GPIOx->Pin; // 推挽输出
|
||||
}
|
||||
if (GPIO == GPIO_P1)
|
||||
{
|
||||
if (GPIOx->Mode == GPIO_PullUp)
|
||||
P1M1 &= ~GPIOx->Pin, P1M0 &= ~GPIOx->Pin; // 上拉准双向口
|
||||
if (GPIOx->Mode == GPIO_HighZ)
|
||||
P1M1 |= GPIOx->Pin, P1M0 &= ~GPIOx->Pin; // 浮空输入
|
||||
if (GPIOx->Mode == GPIO_OUT_OD)
|
||||
P1M1 |= GPIOx->Pin, P1M0 |= GPIOx->Pin; // 开漏输出
|
||||
if (GPIOx->Mode == GPIO_OUT_PP)
|
||||
P1M1 &= ~GPIOx->Pin, P1M0 |= GPIOx->Pin; // 推挽输出
|
||||
}
|
||||
if (GPIO == GPIO_P2)
|
||||
{
|
||||
if (GPIOx->Mode == GPIO_PullUp)
|
||||
P2M1 &= ~GPIOx->Pin, P2M0 &= ~GPIOx->Pin; // 上拉准双向口
|
||||
if (GPIOx->Mode == GPIO_HighZ)
|
||||
P2M1 |= GPIOx->Pin, P2M0 &= ~GPIOx->Pin; // 浮空输入
|
||||
if (GPIOx->Mode == GPIO_OUT_OD)
|
||||
P2M1 |= GPIOx->Pin, P2M0 |= GPIOx->Pin; // 开漏输出
|
||||
if (GPIOx->Mode == GPIO_OUT_PP)
|
||||
P2M1 &= ~GPIOx->Pin, P2M0 |= GPIOx->Pin; // 推挽输出
|
||||
}
|
||||
if (GPIO == GPIO_P3)
|
||||
{
|
||||
if (GPIOx->Mode == GPIO_PullUp)
|
||||
P3M1 &= ~GPIOx->Pin, P3M0 &= ~GPIOx->Pin; // 上拉准双向口
|
||||
if (GPIOx->Mode == GPIO_HighZ)
|
||||
P3M1 |= GPIOx->Pin, P3M0 &= ~GPIOx->Pin; // 浮空输入
|
||||
if (GPIOx->Mode == GPIO_OUT_OD)
|
||||
P3M1 |= GPIOx->Pin, P3M0 |= GPIOx->Pin; // 开漏输出
|
||||
if (GPIOx->Mode == GPIO_OUT_PP)
|
||||
P3M1 &= ~GPIOx->Pin, P3M0 |= GPIOx->Pin; // 推挽输出
|
||||
}
|
||||
if (GPIO == GPIO_P4)
|
||||
{
|
||||
if (GPIOx->Mode == GPIO_PullUp)
|
||||
P4M1 &= ~GPIOx->Pin, P4M0 &= ~GPIOx->Pin; // 上拉准双向口
|
||||
if (GPIOx->Mode == GPIO_HighZ)
|
||||
P4M1 |= GPIOx->Pin, P4M0 &= ~GPIOx->Pin; // 浮空输入
|
||||
if (GPIOx->Mode == GPIO_OUT_OD)
|
||||
P4M1 |= GPIOx->Pin, P4M0 |= GPIOx->Pin; // 开漏输出
|
||||
if (GPIOx->Mode == GPIO_OUT_PP)
|
||||
P4M1 &= ~GPIOx->Pin, P4M0 |= GPIOx->Pin; // 推挽输出
|
||||
}
|
||||
if (GPIO == GPIO_P5)
|
||||
{
|
||||
if (GPIOx->Mode == GPIO_PullUp)
|
||||
P5M1 &= ~GPIOx->Pin, P5M0 &= ~GPIOx->Pin; // 上拉准双向口
|
||||
if (GPIOx->Mode == GPIO_HighZ)
|
||||
P5M1 |= GPIOx->Pin, P5M0 &= ~GPIOx->Pin; // 浮空输入
|
||||
if (GPIOx->Mode == GPIO_OUT_OD)
|
||||
P5M1 |= GPIOx->Pin, P5M0 |= GPIOx->Pin; // 开漏输出
|
||||
if (GPIOx->Mode == GPIO_OUT_PP)
|
||||
P5M1 &= ~GPIOx->Pin, P5M0 |= GPIOx->Pin; // 推挽输出
|
||||
}
|
||||
if (GPIO == GPIO_P6)
|
||||
{
|
||||
if (GPIOx->Mode == GPIO_PullUp)
|
||||
P6M1 &= ~GPIOx->Pin, P6M0 &= ~GPIOx->Pin; // 上拉准双向口
|
||||
if (GPIOx->Mode == GPIO_HighZ)
|
||||
P6M1 |= GPIOx->Pin, P6M0 &= ~GPIOx->Pin; // 浮空输入
|
||||
if (GPIOx->Mode == GPIO_OUT_OD)
|
||||
P6M1 |= GPIOx->Pin, P6M0 |= GPIOx->Pin; // 开漏输出
|
||||
if (GPIOx->Mode == GPIO_OUT_PP)
|
||||
P6M1 &= ~GPIOx->Pin, P6M0 |= GPIOx->Pin; // 推挽输出
|
||||
}
|
||||
if (GPIO == GPIO_P7)
|
||||
{
|
||||
if (GPIOx->Mode == GPIO_PullUp)
|
||||
P7M1 &= ~GPIOx->Pin, P7M0 &= ~GPIOx->Pin; // 上拉准双向口
|
||||
if (GPIOx->Mode == GPIO_HighZ)
|
||||
P7M1 |= GPIOx->Pin, P7M0 &= ~GPIOx->Pin; // 浮空输入
|
||||
if (GPIOx->Mode == GPIO_OUT_OD)
|
||||
P7M1 |= GPIOx->Pin, P7M0 |= GPIOx->Pin; // 开漏输出
|
||||
if (GPIOx->Mode == GPIO_OUT_PP)
|
||||
P7M1 &= ~GPIOx->Pin, P7M0 |= GPIOx->Pin; // 推挽输出
|
||||
}
|
||||
return 0; // 成功
|
||||
}
|
||||
void GPIO_config(void)
|
||||
{
|
||||
GPIO_InitTypeDef GPIO_InitStructure; // 结构定义
|
||||
|
||||
GPIO_InitStructure.Pin = GPIO_Pin_2; // 指定要初始化的IO, GPIO_Pin_0 ~ GPIO_Pin_7, 或操作
|
||||
GPIO_InitStructure.Mode = GPIO_PullUp; // 指定IO的输入或输出方式,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PP
|
||||
GPIO_Inilize(GPIO_P3, &GPIO_InitStructure); // 初始化
|
||||
GPIO_InitStructure.Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2; // 指定要初始化的IO, GPIO_Pin_0 ~ GPIO_Pin_7, 或操作
|
||||
GPIO_InitStructure.Mode = GPIO_OUT_PP; // 指定IO的输入或输出方式,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PP
|
||||
GPIO_Inilize(GPIO_P1, &GPIO_InitStructure); // 初始化
|
||||
power1_gpio = 0;
|
||||
power2_gpio = 0;
|
||||
power3_gpio = 0;
|
||||
}
|
28
mycode/main.c
Normal file
28
mycode/main.c
Normal file
@ -0,0 +1,28 @@
|
||||
/*---------------------------------------------------------------------*/
|
||||
/* --- STC MCU Limited ------------------------------------------------*/
|
||||
/* --- STC 1T Series MCU Demo Programme -------------------------------*/
|
||||
/* --- Mobile: (86)13922805190 ----------------------------------------*/
|
||||
/* --- Fax: 86-0513-55012956,55012947,55012969 ------------------------*/
|
||||
/* --- Tel: 86-0513-55012928,55012929,55012966 ------------------------*/
|
||||
/* --- Web: www.STCMCU.com --------------------------------------------*/
|
||||
/* --- Web: www.STCMCUDATA.com ---------------------------------------*/
|
||||
/* --- QQ: 800003751 -------------------------------------------------*/
|
||||
/* 如果要在程序中使用此代码,请在程序中注明使用了STC的资料及程序 */
|
||||
/*---------------------------------------------------------------------*/
|
||||
|
||||
#include "config.h"
|
||||
#include "GPIO.h"
|
||||
#include "Exti.h"
|
||||
#include "timer.h"
|
||||
|
||||
/******************** 主函数***********************/
|
||||
void main(void)
|
||||
{
|
||||
GPIO_config();
|
||||
Exti_config();
|
||||
Timer_config();
|
||||
EA = 1;
|
||||
while (1)
|
||||
{
|
||||
}
|
||||
}
|
176
mycode/timer.c
Normal file
176
mycode/timer.c
Normal file
@ -0,0 +1,176 @@
|
||||
/*---------------------------------------------------------------------*/
|
||||
/* --- STC MCU Limited ------------------------------------------------*/
|
||||
/* --- STC 1T Series MCU Demo Programme -------------------------------*/
|
||||
/* --- Mobile: (86)13922805190 ----------------------------------------*/
|
||||
/* --- Fax: 86-0513-55012956,55012947,55012969 ------------------------*/
|
||||
/* --- Tel: 86-0513-55012928,55012929,55012966 ------------------------*/
|
||||
/* --- Web: www.STCMCU.com --------------------------------------------*/
|
||||
/* --- Web: www.STCMCUDATA.com ---------------------------------------*/
|
||||
/* --- QQ: 800003751 -------------------------------------------------*/
|
||||
/* 如果要在程序中使用此代码,请在程序中注明使用了STC的资料及程序 */
|
||||
/*---------------------------------------------------------------------*/
|
||||
|
||||
/************* 功能说明 **************
|
||||
|
||||
本文件为STC8系列的定时器初始化和中断程序,用户可以在这个文件中修改自己需要的中断程序.
|
||||
|
||||
******************************************/
|
||||
|
||||
#include "timer.h"
|
||||
u8 KILL_time = 0;
|
||||
/********************* Timer0中断函数************************/
|
||||
void timer0_int (void) interrupt TIMER0_VECTOR
|
||||
{
|
||||
if (KILL_time)
|
||||
{
|
||||
KILL_time--;
|
||||
}
|
||||
}
|
||||
|
||||
/********************* Timer1中断函数************************/
|
||||
void timer1_int (void) interrupt TIMER1_VECTOR
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/********************* Timer2中断函数************************/
|
||||
void timer2_int (void) interrupt TIMER2_VECTOR
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/********************* Timer3中断函数************************/
|
||||
void timer3_int (void) interrupt TIMER3_VECTOR
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/********************* Timer4中断函数************************/
|
||||
void timer4_int (void) interrupt TIMER4_VECTOR
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
//========================================================================
|
||||
// 函数: u8 Timer_Inilize(u8 TIM, TIM_InitTypeDef *TIMx)
|
||||
// 描述: 定时器初始化程序.
|
||||
// 参数: TIMx: 结构参数,请参考timer.h里的定义.
|
||||
// 返回: 成功返回0, 空操作返回1,错误返回2.
|
||||
// 版本: V1.0, 2012-10-22
|
||||
//========================================================================
|
||||
u8 Timer_Inilize(u8 TIM, TIM_InitTypeDef *TIMx)
|
||||
{
|
||||
if(TIM > Timer4) return 1; //空操作
|
||||
|
||||
if(TIM == Timer0)
|
||||
{
|
||||
Timer0_Stop(); //停止计数
|
||||
if(TIMx->TIM_Interrupt == ENABLE) Timer0_InterruptEnable(); //允许中断
|
||||
else Timer0_InterruptDisable(); //禁止中断
|
||||
if(TIMx->TIM_Priority > Priority_3) return 2; //错误
|
||||
Timer0_Priority(TIMx->TIM_Priority); //指定中断优先级(低到高) Priority_0,Priority_1,Priority_2,Priority_3
|
||||
|
||||
if(TIMx->TIM_Mode >= TIM_16BitAutoReloadNoMask) return 2; //错误
|
||||
TMOD = (TMOD & ~0x03) | TIMx->TIM_Mode; //工作模式,0: 16位自动重装, 1: 16位定时/计数, 2: 8位自动重装, 3: 不可屏蔽16位自动重装
|
||||
if(TIMx->TIM_ClkSource == TIM_CLOCK_12T) Timer0_12T(); //12T
|
||||
if(TIMx->TIM_ClkSource == TIM_CLOCK_1T) Timer0_1T(); //1T
|
||||
if(TIMx->TIM_ClkSource == TIM_CLOCK_Ext) Timer0_AsCounter(); //对外计数或分频
|
||||
else Timer0_AsTimer(); //定时
|
||||
if(TIMx->TIM_ClkOut == ENABLE) Timer0_CLKO_Enable(); //输出时钟
|
||||
else Timer0_CLKO_Disable(); //不输出时钟
|
||||
|
||||
T0_Load(TIMx->TIM_Value);
|
||||
if(TIMx->TIM_Run == ENABLE) Timer0_Run(); //开始运行
|
||||
return 0; //成功
|
||||
}
|
||||
|
||||
if(TIM == Timer1)
|
||||
{
|
||||
Timer1_Stop(); //停止计数
|
||||
if(TIMx->TIM_Interrupt == ENABLE) Timer1_InterruptEnable(); //允许中断
|
||||
else Timer1_InterruptDisable(); //禁止中断
|
||||
if(TIMx->TIM_Priority > Priority_3) return 2; //错误
|
||||
Timer1_Priority(TIMx->TIM_Priority); //指定中断优先级(低到高) Priority_0,Priority_1,Priority_2,Priority_3
|
||||
if(TIMx->TIM_Mode >= TIM_16BitAutoReloadNoMask) return 2; //错误
|
||||
TMOD = (TMOD & ~0x30) | (TIMx->TIM_Mode<<4); //工作模式,0: 16位自动重装, 1: 16位定时/计数, 2: 8位自动重装, 3: 停止工作
|
||||
if(TIMx->TIM_ClkSource == TIM_CLOCK_12T) Timer1_12T(); //12T
|
||||
if(TIMx->TIM_ClkSource == TIM_CLOCK_1T) Timer1_1T(); //1T
|
||||
if(TIMx->TIM_ClkSource == TIM_CLOCK_Ext) Timer1_AsCounter(); //对外计数或分频
|
||||
else Timer1_AsTimer(); //定时
|
||||
if(TIMx->TIM_ClkOut == ENABLE) Timer1_CLKO_Enable(); //输出时钟
|
||||
else Timer1_CLKO_Disable(); //不输出时钟
|
||||
|
||||
T1_Load(TIMx->TIM_Value);
|
||||
if(TIMx->TIM_Run == ENABLE) Timer1_Run(); //开始运行
|
||||
return 0; //成功
|
||||
}
|
||||
|
||||
if(TIM == Timer2) //Timer2,固定为16位自动重装, 中断无优先级
|
||||
{
|
||||
Timer2_Stop(); //停止计数
|
||||
if(TIMx->TIM_Interrupt == ENABLE) Timer2_InterruptEnable(); //允许中断
|
||||
else Timer2_InterruptDisable(); //禁止中断
|
||||
if(TIMx->TIM_ClkSource > TIM_CLOCK_Ext) return 2;
|
||||
if(TIMx->TIM_ClkSource == TIM_CLOCK_12T) Timer2_12T(); //12T
|
||||
if(TIMx->TIM_ClkSource == TIM_CLOCK_1T) Timer2_1T(); //1T
|
||||
if(TIMx->TIM_ClkSource == TIM_CLOCK_Ext) Timer2_AsCounter(); //对外计数或分频
|
||||
else Timer2_AsTimer(); //定时
|
||||
if(TIMx->TIM_ClkOut == ENABLE) Timer2_CLKO_Enable(); //输出时钟
|
||||
else Timer2_CLKO_Disable(); //不输出时钟
|
||||
|
||||
T2_Load(TIMx->TIM_Value);
|
||||
if(TIMx->TIM_Run == ENABLE) Timer2_Run(); //开始运行
|
||||
return 0; //成功
|
||||
}
|
||||
|
||||
if(TIM == Timer3) //Timer3,固定为16位自动重装, 中断无优先级
|
||||
{
|
||||
Timer3_Stop(); //停止计数
|
||||
if(TIMx->TIM_Interrupt == ENABLE) Timer3_InterruptEnable(); //允许中断
|
||||
else Timer3_InterruptDisable(); //禁止中断
|
||||
if(TIMx->TIM_ClkSource > TIM_CLOCK_Ext) return 2;
|
||||
if(TIMx->TIM_ClkSource == TIM_CLOCK_12T) Timer3_12T(); //12T
|
||||
if(TIMx->TIM_ClkSource == TIM_CLOCK_1T) Timer3_1T(); //1T
|
||||
if(TIMx->TIM_ClkSource == TIM_CLOCK_Ext) Timer3_AsCounter(); //对外计数或分频
|
||||
else Timer3_AsTimer(); //定时
|
||||
if(TIMx->TIM_ClkOut == ENABLE) Timer3_CLKO_Enable(); //输出时钟
|
||||
else Timer3_CLKO_Disable(); //不输出时钟
|
||||
|
||||
T3_Load(TIMx->TIM_Value);
|
||||
if(TIMx->TIM_Run == ENABLE) Timer3_Run(); //开始运行
|
||||
return 0; //成功
|
||||
}
|
||||
|
||||
if(TIM == Timer4) //Timer3,固定为16位自动重装, 中断无优先级
|
||||
{
|
||||
Timer4_Stop(); //停止计数
|
||||
if(TIMx->TIM_Interrupt == ENABLE) Timer4_InterruptEnable(); //允许中断
|
||||
else Timer4_InterruptDisable(); //禁止中断
|
||||
if(TIMx->TIM_ClkSource > TIM_CLOCK_Ext) return 2;
|
||||
if(TIMx->TIM_ClkSource == TIM_CLOCK_12T) Timer4_12T(); //12T
|
||||
if(TIMx->TIM_ClkSource == TIM_CLOCK_1T) Timer4_1T(); //1T
|
||||
if(TIMx->TIM_ClkSource == TIM_CLOCK_Ext) Timer4_AsCounter(); //对外计数或分频
|
||||
else Timer4_AsTimer(); //定时
|
||||
if(TIMx->TIM_ClkOut == ENABLE) Timer4_CLKO_Enable(); //输出时钟
|
||||
else Timer4_CLKO_Disable(); //不输出时钟
|
||||
|
||||
T4_Load(TIMx->TIM_Value);
|
||||
if(TIMx->TIM_Run == ENABLE) Timer4_Run(); //开始运行
|
||||
return 0; //成功
|
||||
}
|
||||
return 2; //错误
|
||||
}
|
||||
/************************ ?¨?±?÷???? ****************************/
|
||||
void Timer_config(void)
|
||||
{
|
||||
TIM_InitTypeDef TIM_InitStructure;
|
||||
TIM_InitStructure.TIM_Mode = TIM_16BitAutoReload;
|
||||
TIM_InitStructure.TIM_Priority = Priority_0;
|
||||
TIM_InitStructure.TIM_Interrupt = ENABLE;
|
||||
TIM_InitStructure.TIM_ClkSource = TIM_CLOCK_1T;
|
||||
TIM_InitStructure.TIM_ClkOut = DISABLE;
|
||||
TIM_InitStructure.TIM_Value = 65536UL - (MAIN_Fosc / 1000UL);
|
||||
TIM_InitStructure.TIM_Run = ENABLE;
|
||||
Timer_Inilize(Timer0,&TIM_InitStructure);
|
||||
}
|
38
myinc/Exti.h
Normal file
38
myinc/Exti.h
Normal file
@ -0,0 +1,38 @@
|
||||
/*---------------------------------------------------------------------*/
|
||||
/* --- STC MCU Limited ------------------------------------------------*/
|
||||
/* --- STC 1T Series MCU Demo Programme -------------------------------*/
|
||||
/* --- Mobile: (86)13922805190 ----------------------------------------*/
|
||||
/* --- Fax: 86-0513-55012956,55012947,55012969 ------------------------*/
|
||||
/* --- Tel: 86-0513-55012928,55012929,55012966 ------------------------*/
|
||||
/* --- Web: www.STCMCU.com --------------------------------------------*/
|
||||
/* --- Web: www.STCMCUDATA.com ---------------------------------------*/
|
||||
/* --- QQ: 800003751 -------------------------------------------------*/
|
||||
/* <20><><EFBFBD>Ҫ<EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ô˴<C3B4><CBB4><EFBFBD>,<2C><><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD>STC<54><43><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*---------------------------------------------------------------------*/
|
||||
|
||||
#ifndef __EXTI_H
|
||||
#define __EXTI_H
|
||||
|
||||
#include "config.h"
|
||||
#include "GPIO.h"
|
||||
#include "timer.h"
|
||||
|
||||
#define EXT_INT0 0 // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>0
|
||||
#define EXT_INT1 1 // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>1
|
||||
#define EXT_INT2 2 // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>2
|
||||
#define EXT_INT3 3 // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>3
|
||||
#define EXT_INT4 4 // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>4
|
||||
|
||||
#define EXT_MODE_RiseFall 0 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F>½<EFBFBD><C2BD><EFBFBD><EFBFBD>ж<EFBFBD>
|
||||
#define EXT_MODE_Fall 1 // <20>½<EFBFBD><C2BD><EFBFBD><EFBFBD>ж<EFBFBD>
|
||||
|
||||
typedef struct
|
||||
{
|
||||
u8 EXTI_Mode; // <20>ж<EFBFBD>ģʽ, EXT_MODE_RiseFall, EXT_MODE_Fall
|
||||
u8 EXTI_Priority; // <20><><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD> Priority_0,Priority_1,Priority_2,Priority_3
|
||||
u8 EXTI_Interrupt; // <20>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD> ENABLE,DISABLE
|
||||
} EXTI_InitTypeDef;
|
||||
|
||||
u8 Ext_Inilize(u8 EXT, EXTI_InitTypeDef *INTx);
|
||||
void Exti_config(void);
|
||||
#endif
|
53
myinc/GPIO.h
Normal file
53
myinc/GPIO.h
Normal file
@ -0,0 +1,53 @@
|
||||
/*---------------------------------------------------------------------*/
|
||||
/* --- STC MCU Limited ------------------------------------------------*/
|
||||
/* --- STC 1T Series MCU Demo Programme -------------------------------*/
|
||||
/* --- Mobile: (86)13922805190 ----------------------------------------*/
|
||||
/* --- Fax: 86-0513-55012956,55012947,55012969 ------------------------*/
|
||||
/* --- Tel: 86-0513-55012928,55012929,55012966 ------------------------*/
|
||||
/* --- Web: www.STCMCU.com --------------------------------------------*/
|
||||
/* --- Web: www.STCMCUDATA.com ---------------------------------------*/
|
||||
/* --- QQ: 800003751 -------------------------------------------------*/
|
||||
/* 如果要在程序中使用此代码,请在程序中注明使用了STC的资料及程序 */
|
||||
/*---------------------------------------------------------------------*/
|
||||
|
||||
#ifndef __GPIO_H
|
||||
#define __GPIO_H
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#define GPIO_PullUp 0 //上拉准双向口
|
||||
#define GPIO_HighZ 1 //浮空输入
|
||||
#define GPIO_OUT_OD 2 //开漏输出
|
||||
#define GPIO_OUT_PP 3 //推挽输出
|
||||
|
||||
#define GPIO_Pin_0 0x01 //IO引脚 Px.0
|
||||
#define GPIO_Pin_1 0x02 //IO引脚 Px.1
|
||||
#define GPIO_Pin_2 0x04 //IO引脚 Px.2
|
||||
#define GPIO_Pin_3 0x08 //IO引脚 Px.3
|
||||
#define GPIO_Pin_4 0x10 //IO引脚 Px.4
|
||||
#define GPIO_Pin_5 0x20 //IO引脚 Px.5
|
||||
#define GPIO_Pin_6 0x40 //IO引脚 Px.6
|
||||
#define GPIO_Pin_7 0x80 //IO引脚 Px.7
|
||||
#define GPIO_Pin_All 0xFF //IO所有引脚
|
||||
|
||||
#define GPIO_P0 0 //
|
||||
#define GPIO_P1 1
|
||||
#define GPIO_P2 2
|
||||
#define GPIO_P3 3
|
||||
#define GPIO_P4 4
|
||||
#define GPIO_P5 5
|
||||
#define GPIO_P6 6
|
||||
#define GPIO_P7 7
|
||||
#define kill_gpio P32
|
||||
#define power1_gpio P10
|
||||
#define power2_gpio P11
|
||||
#define power3_gpio P12
|
||||
typedef struct
|
||||
{
|
||||
u8 Mode; //IO模式, GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PP
|
||||
u8 Pin; //要设置的端口
|
||||
} GPIO_InitTypeDef;
|
||||
|
||||
u8 GPIO_Inilize(u8 GPIO, GPIO_InitTypeDef *GPIOx);
|
||||
void GPIO_config(void);
|
||||
#endif
|
2747
myinc/STC8xxxx.H
Normal file
2747
myinc/STC8xxxx.H
Normal file
File diff suppressed because it is too large
Load Diff
33
myinc/config.h
Normal file
33
myinc/config.h
Normal file
@ -0,0 +1,33 @@
|
||||
/*---------------------------------------------------------------------*/
|
||||
/* --- STC MCU Limited ------------------------------------------------*/
|
||||
/* --- STC 1T Series MCU Demo Programme -------------------------------*/
|
||||
/* --- Mobile: (86)13922805190 ----------------------------------------*/
|
||||
/* --- Fax: 86-0513-55012956,55012947,55012969 ------------------------*/
|
||||
/* --- Tel: 86-0513-55012928,55012929,55012966 ------------------------*/
|
||||
/* --- Web: www.STCMCU.com --------------------------------------------*/
|
||||
/* --- Web: www.STCMCUDATA.com ---------------------------------------*/
|
||||
/* --- QQ: 800003751 -------------------------------------------------*/
|
||||
/* <20><><EFBFBD>Ҫ<EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ô˴<C3B4><CBB4><EFBFBD>,<2C><><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD>STC<54><43><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*---------------------------------------------------------------------*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*********************************************************/
|
||||
|
||||
//#define MAIN_Fosc 22118400L //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
//#define MAIN_Fosc 12000000L //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
#define MAIN_Fosc 11059200L //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
//#define MAIN_Fosc 5529600L //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
// #define MAIN_Fosc 24000000L //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
|
||||
|
||||
#define STC8Hxx //STC8Hϵ<48><CFB5>
|
||||
//#define STC8Gxx //STC8Gϵ<47><CFB5>
|
||||
|
||||
/*********************************************************/
|
||||
|
||||
#include "STC8xxxx.H"
|
||||
|
||||
|
||||
#endif
|
47
myinc/timer.h
Normal file
47
myinc/timer.h
Normal file
@ -0,0 +1,47 @@
|
||||
/*---------------------------------------------------------------------*/
|
||||
/* --- STC MCU Limited ------------------------------------------------*/
|
||||
/* --- STC 1T Series MCU Demo Programme -------------------------------*/
|
||||
/* --- Mobile: (86)13922805190 ----------------------------------------*/
|
||||
/* --- Fax: 86-0513-55012956,55012947,55012969 ------------------------*/
|
||||
/* --- Tel: 86-0513-55012928,55012929,55012966 ------------------------*/
|
||||
/* --- Web: www.STCMCU.com --------------------------------------------*/
|
||||
/* --- Web: www.STCMCUDATA.com ---------------------------------------*/
|
||||
/* --- QQ: 800003751 -------------------------------------------------*/
|
||||
/* <20><><EFBFBD>Ҫ<EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ô˴<C3B4><CBB4><EFBFBD>,<2C><><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD>STC<54><43><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*---------------------------------------------------------------------*/
|
||||
|
||||
#ifndef __TIMER_H
|
||||
#define __TIMER_H
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#define Timer0 0
|
||||
#define Timer1 1
|
||||
#define Timer2 2
|
||||
#define Timer3 3
|
||||
#define Timer4 4
|
||||
|
||||
#define TIM_16BitAutoReload 0
|
||||
#define TIM_16Bit 1
|
||||
#define TIM_8BitAutoReload 2
|
||||
#define TIM_16BitAutoReloadNoMask 3
|
||||
|
||||
#define TIM_CLOCK_1T 0
|
||||
#define TIM_CLOCK_12T 1
|
||||
#define TIM_CLOCK_Ext 2
|
||||
|
||||
typedef struct
|
||||
{
|
||||
u8 TIM_Mode; // <20><><EFBFBD><EFBFBD>ģʽ, TIM_16BitAutoReload,TIM_16Bit,TIM_8BitAutoReload,TIM_16BitAutoReloadNoMask
|
||||
u8 TIM_Priority; // <20><><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD> Priority_0,Priority_1,Priority_2,Priority_3
|
||||
u8 TIM_Interrupt; // <20>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD> ENABLE,DISABLE
|
||||
u8 TIM_ClkSource; // ʱ<><CAB1>Դ TIM_CLOCK_1T,TIM_CLOCK_12T,TIM_CLOCK_Ext
|
||||
u8 TIM_ClkOut; // <20>ɱ<EFBFBD><C9B1>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>, ENABLE,DISABLE
|
||||
u16 TIM_Value; // װ<>س<EFBFBD>ֵ
|
||||
u8 TIM_Run; // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD> ENABLE,DISABLE
|
||||
} TIM_InitTypeDef;
|
||||
|
||||
u8 Timer_Inilize(u8 TIM, TIM_InitTypeDef *TIMx);
|
||||
extern u8 KILL_time;
|
||||
void Timer_config(void);
|
||||
#endif
|
Loading…
x
Reference in New Issue
Block a user