📄 main.lst
字号:
C51 COMPILER V7.10 MAIN 06/04/2006 14:49:16 PAGE 1
C51 COMPILER V7.10, 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 /* This program is used for Signalmachine.
2 Copyright by Wangr
3 2006-05-27
4 LOG:
5 2006-05-27: C8051F020 configured
6 */
7 #include <intrins.h>
8 #include <absacc.h>
9 #include <math.h>
10 #include <string.h>
11 #include <config.c>
12 #include <maindef.h>
13 #include <Flash.c>
14 #include <ram.c>
15 #include <calender.c>
16
17 /******* parameter declare *********/
18 /******* *********/
19 uchar xdata Com0RecBuf[RecBufLen], Com1RecBuf[RecBufLen],Com0SendBuf[SendBufLen], Com1SendBuf[SendBufLen];
20 uchar xdata Com0RecBufIdx, Com1RecBufIdx;
21 bit Com0SaveEn, Com1SaveEn, Com0RecComplete, Com1RecComplete;
22
23 //extern FlashBuf[FlashBufLen];
24
25
26 /******* function declare *********/
27 /******* *********/
28 void config (void);
29 void McuInit (void);
30
31 void delayus(uchar delayvalue);
32
33 void FlashWE(void) ;/*Write Enable (WREN) Instruction*/
34 void FlashWD(void);/*Write Disable (WRDI) Instruction*/
35 uchar FlashRDSR(void) ;/*Read Status Register (RDSR) Instruction*/
36 /*Status Register :bit7-2 non-used; bit1 WEL(write enable latch); bit0 WIP(write in progress)*/
37 void FlashRDB(uint PageAdr, uchar Colum, uchar length);/*Read Data Bytes (READ)*/
38 void FlashReadFast(uint PageAdr, uchar Colum, uchar length) ;/*Read Data Bytes at Higher Speed (FAST_READ)
-*/
39 void FlashPW(uint PageAdr, uchar Colum, uchar length);/*Page Write (PW)*/
40 void FlashPE(uint PageAdr, uchar Colum) ;/*Page Erase (PE)*/
41 void FlashSE(uint PageAdr, uchar Colum) ;/*Sector Erase (SE)*/
42
43 void RamByteWR(uchar RowAdr, uchar ColumnAdr, uchar ramdata);/*write 1 byte to RAM*/
44 uchar RamByteRD(uchar RowAdr, uchar ColumnAdr);/*read 1 byte from RAM*/
45
46 /******* main function *********/
47 /******* *********/
48 void main()
49 {
50 1 config();
51 1 McuInit();
52 1
53 1 /*read info from flash*/
54 1 _nop_();
C51 COMPILER V7.10 MAIN 06/04/2006 14:49:16 PAGE 2
55 1 }
56
57 /******* function body *********/
58 /******* *********/
59 void McuInit (void)
60 {
61 1 /*Timer2 for UART0; Timer4 for UART1; Timer3 for 1 second control
62 1 SPI for FLASH; I2C for calender IC*/
63 1
64 1 /***** UART *****/
65 1 Com0RecBufIdx = 0;
66 1 Com1RecBufIdx = 0;
67 1 Com0SaveEn = 0;
68 1 Com1SaveEn = 0;
69 1 Com0RecComplete = 0;
70 1 Com1RecComplete = 0;
71 1
72 1 /* FLASH */
73 1 FlashCS = 1;
74 1
75 1 /*I2C master mode*/
76 1 i2c_init();
77 1 }
78
79 /* delay function ; us unit for 22.1184 MHz*/
80 void delayus(uchar delayvalue)
81 {
82 1 uchar idata i;
83 1 for(i=0;i<delayvalue;i++)
84 1 {
85 2 _nop_();
86 2 _nop_();
87 2 _nop_();
88 2 _nop_();
89 2 _nop_();
90 2 _nop_();
91 2 _nop_();
92 2 _nop_();
93 2 _nop_();
94 2 _nop_();
95 2 _nop_();
96 2 _nop_();
97 2 _nop_();
98 2 _nop_();
99 2 _nop_();
100 2 _nop_();
101 2 _nop_();
102 2 _nop_();
103 2 _nop_();
104 2 _nop_();
105 2 _nop_();
106 2 _nop_();
107 2 }
108 1 }
109
110 /**** timer3 for 1 second control ****/
111 void timer3_int(void) interrupt 14 using 0
112 {
113 1 TMR3CN &= 0x7F;
114 1 }
115
116
C51 COMPILER V7.10 MAIN 06/04/2006 14:49:16 PAGE 3
117 void serial0_int(void) interrupt 4 using 1
118 {
119 1 if(RI0)
120 1 {
121 2 RI0 = 0;
122 2 if(Com0SaveEn)
123 2 {
124 3 Com0RecBuf[Com0RecBufIdx++] = SBUF0;
125 3 if(Com0RecBufIdx==RecBufLen)
126 3 {
127 4 Com0SaveEn = 0;
128 4 Com0RecComplete = 1;
129 4 }
130 3 }
131 2 else
132 2 {
133 3 Com0RecBuf[0] = Com0RecBuf[1];
134 3 Com0RecBuf[1] = SBUF0;
135 3 if(Com0RecBuf[0]==0xEB&&Com0RecBuf[1]==0x90)
136 3 {
137 4 Com0SaveEn = 1;
138 4 Com0RecBufIdx = 2;
139 4 }
140 3 }
141 2 }
142 1 if(TI0)
143 1 {
144 2 TI0=0;
145 2 /* if (PacketIdx < TxPacketLen) // Downlink Packet is unique to 32 Bytes.
146 2 {
147 2 IsTxBusy = TRUE;
148 2 SBUF = *(BYTE *)(pTX_Buf + PacketIdx);
149 2 PacketIdx ++;
150 2 }
151 2 else
152 2 {
153 2 IsTxBusy = FALSE;
154 2 SBUF0 = 0x55;
155 2 }*/
156 2 }
157 1 }
158
159 void serial1_int(void) interrupt 20 using 2
160 {
161 1 if((SCON1&0x01)==1)
162 1 {
163 2 SCON1 &= 0xFE;
164 2 if(Com1SaveEn)
165 2 {
166 3 Com1RecBuf[Com1RecBufIdx++] = SBUF1;
167 3 if(Com1RecBufIdx==RecBufLen)
168 3 {
169 4 Com1SaveEn = 0;
170 4 Com1RecComplete = 1;
171 4 }
172 3 }
173 2 else
174 2 {
175 3 Com1RecBuf[0] = Com1RecBuf[1];
176 3 Com1RecBuf[1] = SBUF1;
177 3 if(Com1RecBuf[0]==0xEB&&Com1RecBuf[1]==0x90)
178 3 {
C51 COMPILER V7.10 MAIN 06/04/2006 14:49:16 PAGE 4
179 4 Com1SaveEn = 1;
180 4 Com1RecBufIdx = 2;
181 4 }
182 3 }
183 2 }
184 1 if((SCON1&0x02)==1)
185 1 {
186 2 SCON1 &= 0xFD;
187 2 /* if (PacketIdx < TxPacketLen) // Downlink Packet is unique to 32 Bytes.
188 2 {
189 2 IsTxBusy = TRUE;
190 2 SBUF = *(BYTE *)(pTX_Buf + PacketIdx);
191 2 PacketIdx ++;
192 2 }
193 2 else
194 2 {
195 2 IsTxBusy = FALSE;
196 2 SBUF1 = 0x55;
197 2 }*/
198 2 }
199 1 }
200
201
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1291 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 386 ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 12
IDATA SIZE = ---- 12
BIT SIZE = 6 2
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -