📄 main.lst
字号:
C51 COMPILER V7.50 MAIN 02/16/2009 09:18:51 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN D:\VW\INTEGR~1\MAIN\MAIN.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE D:\VW\INTEGR~1\MAIN\MAIN.C DB SB OE
line level source
1 /*
2 +---------------------------------------------------+
3 | Project: MAIN with STC89C5X |
4 | File: MAIN.c |
5 | Data: 2008-12-04 |
6 | Version: V 1.0 |
7 | Initial Editor: Li Jifeng |
8 +---------------------------------------------------+
9 | following environments are supported |
10 | Processor: STC89C5X |
11 | Compiler: WAVE V |
12 | hardware: JF-2008 |
13 +---------------------------------------------------+
14 | Copyright (C) JF Ltd, 2008 |
15 | All Rights reserved |
16 +---------------------------------------------------+
17 | 功能简介: the main function |
18 +---------------------------------------------------+
19 */
20
21 #include "system.h"
22
23 extern bit timer_flag,timer2_out;
24 extern bit uart_rcv_finish,D0_flag;
25 extern UINT8 data card[14];
26 extern UINT16 data LOADP,LOADPP;
27 extern UINT16 data SAVEP,timer2_tick;
28 extern UINT8 data I2C_rcv[16];
29 extern UINT16 Rxsum;
30 extern UINT16 Rxsum1;
31 extern UINT8 xdata addr;
32 extern UINT8 data rec_buf[8];
33 //extern bit timer0_out;
34 UINT8 idata card1[12];
35 bit getspi_flag,open_flag,nopen_flag;
36
37 main()
38 {
39 1 UINT8 i;
40 1 sys_init();
41 1 while (1)
42 1 {
43 2 //WDT_CONTR = 0x3C; //喂狗
44 2 if (uart_rcv_finish)
45 2 {
46 3 uart_rcv_finish = 0;
47 3 control();
48 3 }
49 2 if(!timer_flag)
50 2 if(!MCLK)
51 2 {
52 3 if(!getspi(card1,12))
53 3 getspi_flag = 1;
54 3 //control2();
55 3 //uart_send1(card,12);
C51 COMPILER V7.50 MAIN 02/16/2009 09:18:51 PAGE 2
56 3 }
57 2 if (uart_rcv_finish)
58 2 {
59 3 uart_rcv_finish = 0;
60 3 control();
61 3 }
62 2 if(getspi_flag == 1)
63 2 {
64 3 getspi_flag = 0;
65 3 control2();
66 3 }
67 2 if(timer2_out)
68 2 {
69 3 if(!P2_7)
70 3 {
71 4 for(i=0;i<80;i++);
72 4 if(!P2_7)
73 4 {
74 5 open_flag = 1;
75 5 }
76 4 }
77 3 else
78 3 {
79 4 if(open_flag)
80 4 {
81 5 open_flag = 0;
82 5 card[0] = 0;
83 5 card[1] = 0;
84 5 card[2] = 0;
85 5 card[3] = 0;
86 5 card[4] = 0;
87 5 card[5] = 0x20;
88 5 card[6] = read_time_byte(0x8d);//sys_year; //读系统时间 --- 年
89 5 card[7] = read_time_byte(0x89);//sys_mon; //读系统时间 --- 月
90 5 card[8] = read_time_byte(0x87);//sys_date; //读系统时间 --- 日
91 5 card[9] = read_time_byte(0x85);//sys_hour; //读系统时间 --- 时
92 5 card[10] = read_time_byte(0x83);//sys_min; //读系统时间 --- 分
93 5 card[11] = read_time_byte(0x81);//sys_second; //读系统时间 --- 秒
94 5 card[12] = 0x40;
95 5 card[13] = 0x04;
96 5 if(D0_flag)
97 5 {
98 6 if(SAVEP == LOADP)
99 6 {
100 7 LOADP++;
101 7 SAVEP++;
102 7 if(SAVEP > 0x1FF)
103 7 {
104 8 LOADP = 0;
105 8 SAVEP = 0;
106 8 I2C_rcv[1] = 0;
107 8 I2C_rcv[2] = 0;
108 8 I2C_rcv[3] = 0;
109 8 I2C_rcv[4] = 0;
110 8 AT24C128_write(0x01,I2C_rcv+1,4);
111 8 AT24C128_write(0x2000 + 0x1FF*16,card,14);
112 8 }
113 7 else
114 7 {
115 8 I2C_rcv[3] = (SAVEP >> 8) & 0x00ff;
116 8 I2C_rcv[4] = SAVEP& 0x00ff;
117 8 AT24C128_write(0x03,I2C_rcv+3,2);
C51 COMPILER V7.50 MAIN 02/16/2009 09:18:51 PAGE 3
118 8 AT24C128_write(0x2000 + (SAVEP-1)*16,card,14);
119 8 }
120 7 }
121 6 else
122 6 {
123 7 SAVEP++;
124 7 if(SAVEP > 0x1FF)
125 7 {
126 8 SAVEP = 0;
127 8 D0_flag = 1;
128 8 I2C_rcv[3] = (SAVEP >> 8) & 0x00ff;
129 8 I2C_rcv[4] = SAVEP& 0x00ff;
130 8 I2C_rcv[5] |= 0x01;
131 8 AT24C128_write(0x03,I2C_rcv+3,3);
132 8 AT24C128_write(0x2000 + (SAVEP-1)*16,card,14);
133 8 }
134 7 else
135 7 {
136 8 I2C_rcv[3] = (SAVEP >> 8) & 0x00ff;
137 8 I2C_rcv[4] = SAVEP& 0x00ff;
138 8 AT24C128_write(0x03,I2C_rcv+3,2);
139 8 AT24C128_write(0x2000 + (SAVEP-1)*16,card,14);
140 8 }
141 7 }
142 6 }
143 5 else
144 5 {
145 6 SAVEP++;
146 6 if(SAVEP > 0x1FF)
147 6 {
148 7 SAVEP = 0;
149 7 D0_flag = 1;
150 7 I2C_rcv[3] = 0;
151 7 I2C_rcv[4] = 0;
152 7 I2C_rcv[5] = 1;
153 7 AT24C128_write(0x03,I2C_rcv+3,3);
154 7 AT24C128_write(0x2000 + 0x1FF*16,card,14);
155 7 }
156 6 else
157 6 {
158 7 I2C_rcv[3] = (SAVEP >> 8) & 0x00ff;
159 7 I2C_rcv[4] = SAVEP& 0x00ff;
160 7 AT24C128_write(0x03,I2C_rcv+3,2);
161 7 AT24C128_write(0x2000 + (SAVEP-1)*16,card,14);
162 7 }
163 6 }
164 5 timer2_tick = 20;
165 5 timer2_out = 0;
166 5 nopen_flag = 1;
167 5 }
168 4 }
169 3 }
170 2 if(addr != P0)
171 2 {
172 3 addr = P0;
173 3 rec_buf[2] = hex_asc((addr >> 4)&0x0F);
174 3 rec_buf[3] = hex_asc(addr&0x0F);
175 3 Rxsum1 = Rxsum + rec_buf[2] + rec_buf[3] + rec_buf[5];
176 3 }
177 2 /*if(timer0_out)
178 2 {
179 2 timer0_out = 0;
C51 COMPILER V7.50 MAIN 02/16/2009 09:18:51 PAGE 4
180 2 sys_second = read_time_byte(0x81); //读系统时间 --- 秒
181 2 sys_min = read_time_byte(0x83); //读系统时间 --- 分
182 2 sys_hour = read_time_byte(0x85); //读系统时间 --- 时
183 2 sys_date = read_time_byte(0x87); //读系统时间 --- 日
184 2 sys_mon = read_time_byte(0x89); //读系统时间 --- 月
185 2 sys_week = read_time_byte(0x8b); //读系统时间 --- 星期
186 2 sys_year = read_time_byte(0x8d); //读系统时间 --- 年
187 2 }*/
188 2 }
189 1 }
C51 COMPILER V7.50 MAIN 02/16/2009 09:18:51 PAGE 5
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P0 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0080H 1
SAVEP. . . . . . . . . . . . . . . . . EXTERN DATA U_INT ----- 2
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
P2 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A0H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
XICON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C0H 1
P4 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00E8H 1
control. . . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
getspi_flag. . . . . . . . . . . . . . PUBLIC DATA BIT 0000H 1
IE . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A8H 1
timer2_out . . . . . . . . . . . . . . EXTERN DATA BIT ----- 1
size_t . . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
festa. . . . . . . . . . . . . . . . . TYPEDEF ----- UNION ----- 2
whole. . . . . . . . . . . . . . . . MEMBER ----- ARRAY 0000H 2
holiday. . . . . . . . . . . . . . . MEMBER ----- ARRAY 0000H 2
P2_7 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A7H 1
IP . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1
card . . . . . . . . . . . . . . . . . EXTERN DATA ARRAY ----- 14
addr . . . . . . . . . . . . . . . . . EXTERN XDATA U_CHAR ----- 1
nopen_flag . . . . . . . . . . . . . . PUBLIC DATA BIT 0001H 1
timer_flag . . . . . . . . . . . . . . EXTERN DATA BIT ----- 1
Rxsum. . . . . . . . . . . . . . . . . EXTERN DATA U_INT ----- 2
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
_read_time_byte. . . . . . . . . . . . EXTERN CODE PROC ----- -----
MCLK . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0092H 1
UINT16 . . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
bool . . . . . . . . . . . . . . . . . TYPEDEF ----- BIT ----- 1
open_flag. . . . . . . . . . . . . . . PUBLIC DATA BIT 0002H 1
SCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0098H 1
TCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0088H 1
control2 . . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
_hex_asc . . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
user . . . . . . . . . . . . . . . . . TYPEDEF ----- UNION ----- 16
whole. . . . . . . . . . . . . . . . MEMBER ----- ARRAY 0000H 16
class. . . . . . . . . . . . . . . . MEMBER ----- STRUCT 0000H 16
_AT24C128_write. . . . . . . . . . . . EXTERN CODE PROC ----- -----
card1. . . . . . . . . . . . . . . . . PUBLIC IDATA ARRAY 0000H 12
uart_rcv_finish. . . . . . . . . . . . EXTERN DATA BIT ----- 1
Rxsum1 . . . . . . . . . . . . . . . . EXTERN DATA U_INT ----- 2
rec_buf. . . . . . . . . . . . . . . . EXTERN DATA ARRAY ----- 8
timer2_tick. . . . . . . . . . . . . . EXTERN DATA U_INT ----- 2
T2CON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C8H 1
I2C_rcv. . . . . . . . . . . . . . . . EXTERN DATA ARRAY ----- 16
ULONG32. . . . . . . . . . . . . . . . TYPEDEF ----- U_LONG ----- 4
_getspi. . . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
D0_flag. . . . . . . . . . . . . . . . EXTERN DATA BIT ----- 1
LOADP. . . . . . . . . . . . . . . . . EXTERN DATA U_INT ----- 2
sys_init . . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
UINT8. . . . . . . . . . . . . . . . . TYPEDEF ----- U_CHAR ----- 1
PSW. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D0H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 481 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
C51 COMPILER V7.50 MAIN 02/16/2009 09:18:51 PAGE 6
DATA SIZE = ---- ----
IDATA SIZE = 12 ----
BIT SIZE = 3 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -