📄 main.lst
字号:
C51 COMPILER V7.50 MAIN 12/29/2004 20:23:49 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN MAIN.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE MAIN.C BROWSE DEBUG OBJECTEXTEND
line level source
1 /*********************************************************************************************************
2 ** Small RTOS(51)
3 ** The Real-Time Kernel(For Keil c51)
4 **
5 ** (c) Copyright 2002-2002, chenmingji
6 ** All Rights Reserved
7 **
8 ** V1.12.1
9 **
10 **
11 **--------------文件信息--------------------------------------------------------------------------------
12 **文 件 名: main.C
13 **创 建 人: 龚树强
14 **最后修改日期: 2004年9月25日
15 **描 述: 基于AT89S52和SMALL_RTOS 51的生产线计数器控制器项目(用于雅芳生产线)
16 **
17 **--------------历史版本信息----------------------------------------------------------------------------
18 ** 创建人: 龚树强
19 ** 版 本: V1.0
20 ** 日 期: 2004年9月25日
21 ** 描 述: 原始版本,基于AT89C2051和SMALL_RTOS 51的触摸屏项目
22 **
23 **------------------------------------------------------------------------------------------------------
24 ** 修改人:
25 ** 版 本:
26 ** 日 期:
27 ** 描 述:
28 **
29 **--------------当前版本修订------------------------------------------------------------------------------
30 ** 修改人:
31 ** 日 期:
32 ** 描 述:
33 **
34 **------------------------------------------------------------------------------------------------------
35 ********************************************************************************************************/
36
37 #include "main.h"
38
39
40 /*********************************************************************************************************
41 ** 函数名称: init
42 ** 功能描述: 初始化函数,一般在多任务环境启动前调用
43 ** 输 入: 无
44 ** 输 出: 无
45 ** 全局变量: 无
46 ** 调用模块: IICInit()
47 **
48 ** 作 者: 陈明计
49 ** 日 期: 2003年4月27日
50 **-------------------------------------------------------------------------------------------------------
51 ** 修改人:
52 ** 日 期:
53 **------------------------------------------------------------------------------------------------------
54 ********************************************************************************************************/
55
C51 COMPILER V7.50 MAIN 12/29/2004 20:23:49 PAGE 2
56
57
58 void init(void)
59 {
60 1 //"系统初始化"
61 1
62 1 //IE = 0x00; //"清除中断"
63 1 EX0 = 1; //0"外部中断0允许"
64 1 //ET0 = 1; //1"定时器0中断允许"
65 1 EX1 = 1; //2"外部中断1允许"
66 1 //ET1 = 1; //3"定时器1中断允许"
67 1 ES = 1; //4"串行中断允许"
68 1 ET2 = 1; //5"定时器2中断允许"
69 1
70 1 IP = 0; //"清除中断优先级"
71 1 //PS = 1; //"串行中断优先"
72 1 //PX0 = 1; //"外部中断0"
73 1 //PT0 = 1; //"定时器中断0"
74 1 //PX1 = 1; //"外部中断1"
75 1 //PT1 = 0; //"定时器中断1"
76 1
77 1 TCON = 0; //"定时器控制寄存器"
78 1 //TF1 //"T1溢出标志"
79 1 //TR1 = 1; //"T1运行控制"
80 1 //TF0 //"T0溢出标志"
81 1 //TR0 = 1; //"T0运行控制"
82 1 IT1 = 1; //"外部中断1触发方式 0=电平 1=边沿"
83 1 IE1 = 0; //"外部中断1申请标志"
84 1 IT0 = 1; //"外部中断0触发方式 0=电平 1=边沿"
85 1 IE0 = 0; //"外部中断0申请标志"
86 1
87 1
88 1 //TMOD //"定时器模式控制寄存器"
89 1 // |GATE |C//T |M0 |M1 |GATE |C//T |M0 |M1 |
90 1 TMOD = 0x21; //定时器0工作在方式1,GATE,C/T为0
91 1 //定时器0工作在方式2,GATE,C/T为0
92 1 //"高4位用于T1 低4位用于T0"
93 1
94 1 //SCON "串行控制"
95 1 SCON = 0xF0;
96 1 //| SM0 | SM1 | SM2 | REN | TB8 | RB8 | TI | RI |
97 1 //"| SM0 SM1 | 工作方式 | 说 明 | 波 特 率 |"
98 1 //"| 0 0 | 方 式 0 | 同步移位 | fosc/12 |"
99 1 //"| 0 1 | 方 式 1 | 10位异步收发 | 定时器控制 |"
100 1 //"| 1 0 | 方 式 2 | 11位异步收发 |fosc/32|fosc/64|"
101 1 //"| 1 1 | 方 式 3 | 11位异步收发 | 定时器控制 |"
102 1 //"SM2 多机通讯允许"
103 1 //"REN 接收允许控制"
104 1 //"TB8 发送数据第9位"
105 1 //"RB8 接收数据第9位"
106 1 //"TI 发送中断标志"
107 1 //"RI 接受中断标志"
108 1
109 1
110 1 //PCON "电源控制寄存器"
111 1 PCON = 0x00;
112 1 //SMOD"波特率选择位 =1 方式1,2,3 波特率加倍"
113 1 //"波特率=2^(sod)*fosc/(32*12*(256-初值))"
114 1 T2CON = 0x0;
115 1 TR2 = 1;
116 1 ET2 = 1;
117 1 //TR0 = 1; //"T0运行控制"
C51 COMPILER V7.50 MAIN 12/29/2004 20:23:49 PAGE 3
118 1 TR1 = 1;
119 1 #if OS_TIME_ISR == 5
120 1 //系统节拍中断使用定时器2,中断频率为50Hz
121 1 RCAP2H = (65536 - (11059200 / 12) / OS_TICKS_PER_SEC) / 256;
122 1 RCAP2L = (65536 - (11059200 / 12) / OS_TICKS_PER_SEC) % 256;
123 1 TH2 = (65536 - (11059200 / 12) / OS_TICKS_PER_SEC) / 256;
124 1 TL2 = (65536 - (11059200 / 12) / OS_TICKS_PER_SEC) % 256;
125 1
126 1 #else if OS_TIME_ISR == 1
*** WARNING C323 IN LINE 126 OF MAIN.C: newline expected, extra characters found
//系统节拍中断使用定时器0,中断频率为50Hz
_Reg_TH0 = (65536 - (11059200 / 12) / OS_TICKS_PER_SEC) / 256;
_Reg_TL0 = (65536 - (11059200 / 12) / OS_TICKS_PER_SEC) % 256;
TH0 = _Reg_TH0;
TL0 = _Reg_TL0;
#endif
133 1
134 1 // TH1 = 0xFA; //baudrate=4800
135 1 // TL1 = 0xFA;
136 1
137 1 TH1 = 0xFD; //baudrate=9600
138 1 TL1 = 0xFD;
139 1
140 1 //设置dp-51使用的存储空间xdata、code均为0页
141 1 }
142
143
144
145
146 void FeedBack(void)
147 {
148 1 LED_NUM_OFF();
*** WARNING C206 IN LINE 148 OF MAIN.C: 'LedNumOff': missing function-prototype
149 1 OSWait(K_TMO, OS_TICKS_PER_SEC/10 );
150 1 LED_NUM_ON();
*** WARNING C206 IN LINE 150 OF MAIN.C: 'LedNumOn': missing function-prototype
151 1
152 1 _Beep=1;
153 1
154 1 OSWait(K_TMO, OS_TICKS_PER_SEC/10 );
155 1
156 1 _Beep=0;
157 1
158 1 if(!_Flag_AutoMode)
159 1 {
160 2 LED_NUM_OFF();
161 2 }
162 1 }
163 /*********************************************************************************************************
164 ** 函数名称: SystemInit()
165 ** 功能描述: 初始化函数,一般在多任务环境启动前调用
166 ** 输 入: 无
167 ** 输 出: 无
168 ** 全局变量: 无
169 ** 调用模块:
170 **
171 ** 作 者: 陈明计
172 ** 日 期: 2003年4月27日
173 **-------------------------------------------------------------------------------------------------------
174 ** 修改人:
175 ** 日 期:
176 **------------------------------------------------------------------------------------------------------
C51 COMPILER V7.50 MAIN 12/29/2004 20:23:49 PAGE 4
177 ********************************************************************************************************/
178
179 void SystemInit(void)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -