📄 main.lst
字号:
C51 COMPILER V7.08 MAIN 01/05/2006 16:42:05 PAGE 1
C51 COMPILER V7.08, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c OPTIMIZE(9,SPEED) BROWSE DEBUG OBJECTEXTEND
line level source
1 /*= main.c (nRF9E5 DEMO) ===================================================================
2 *
3 * Copyright (C) 2005
4 *
5 * This file is distributed in the hope that it will be useful, but WITHOUT WARRANTY OF ANY KIND.
6 *
7 * Author(s): WL
8 *
9 * COMPILER:
10 *
11 * This program has been tested with Keil C51 V7.08 and 7.09
12 *
13 *
14 *
15 *==================================================================================================
16 */
17 //
18 // 01/06/2005 change to not hop, max power
19 //---------------------------------------------------------
20
21 #include <Nordic\reg9e5.h>
22 #include "util.h"
23 #include "uart.h"
24 #include "radio.h"
25 #include "lm35.h"
26 void TEST(void);
27 void ReceiveFile(void);
28 void send_data(unsigned char num);
29 void TransmitFile(void);
30 const char ID[] = "9E5DEMO1234567907654";
31 static unsigned char idata buf[25];
32 sbit LEDG =P0^6;
33 sbit LEDR =P0^5;
34 sbit PWM =P0^7;
35 sbit KEYR =P0^3;
36 sbit KEYT =P0^4;
37 unsigned char aaa,SQC;
38 unsigned char bbb;
39 unsigned char ccc;
40 unsigned char ddd,EEE;
41 unsigned char conter; //how many pack is have
42 unsigned int bh;
43
44 void Init(void)
45 {
46 1 unsigned char cklf;
47 1
48 1 SPICLK = 0; // Max SPI clock
49 1 SPI_CTRL = 0x02; // Connect internal SPI controller to Radio
50 1
51 1 // Switch to 16MHz clock:
52 1 RACSN = 0;
53 1 SpiReadWrite(RRC | 0x09);
54 1 cklf = SpiReadWrite(0) | 0x04;
55 1 RACSN = 1;
C51 COMPILER V7.08 MAIN 01/05/2006 16:42:05 PAGE 2
56 1 RACSN = 0;
57 1 SpiReadWrite(WRC | 0x09);
58 1 SpiReadWrite(cklf);
59 1 RACSN = 1;
60 1
61 1 P0_DIR=P0_DIR&0x1F; //led p0.6 p0.5 P0.7 output
62 1 LEDR=0;
63 1 LEDG=0;
64 1 P0_DIR |= 0x18; // P0.4 /3 is input
65 1
66 1 InitTimer();
67 1 EA = 1;
68 1 }
69
70
71
72 void main(void)
73 {
74 1
75 1 Init();
76 1 LEDR=0;
77 1 LEDG=0;
78 1 for (aaa=0;aaa<100;aaa++)
79 1 {Delay100us(50);}
80 1
81 1 LEDR=1;
82 1 LEDG=1;
83 1 for (aaa=0;aaa<100;aaa++)
84 1 {Delay100us(100);}
85 1 LEDR=0;
86 1 LEDG=0;
87 1 while(1)
88 1 {
89 2 // case 'R':
90 2 if (KEYR==0)
91 2 {
92 3 LEDR=1;
93 3 LEDG=0;
94 3 InitUart();
95 3 ReceiveFile();
96 3 }
97 2
98 2 //case 'T':
99 2 if (KEYT==0)
100 2 {
101 3 LEDR=0;
102 3 LEDG=1;
103 3 TransmitFile();
104 3 }
105 2 }
106 1 }
107
108
109
110 //----------------------------------UTAR OUT one byte-------------------
111 void send_data(unsigned char num)
112 {
113 1 int j;
114 1 TI=0;
115 1 SBUF=num;
116 1 for (j=0;j<10000;j++)
117 1 {if (TI)
C51 COMPILER V7.08 MAIN 01/05/2006 16:42:05 PAGE 3
118 2 {TI=0;
119 3 break;
120 3 }
121 2 }
122 1 }
123 //---------------------------------RECVIER-----------------------------
124 void ReceiveFile(void)
125 {
126 1 unsigned char i2, n,j1;
127 1
128 1 InitReceiver(20, 0); //TEST IS 20BYTE
129 1 while(1)
130 1 {
131 2 if (ReceivePacket(buf) != 0)
132 2 {
133 3
134 3 LEDG=0;
135 3 LEDR=1;
136 3
137 3 for (i2=0;i2<20;i2++)
138 3 { PutChar(buf[i2]);}
139 3 for (j1=0;j1<105;j1++)
140 3 {Delay100us(200);} //LEDG 400mS
141 3 LEDG=1;
142 3 LEDR=1;
143 3 }
144 2 else
145 2 {
146 3 LEDR=0;
147 3 LEDG=1; // Indicates an error
148 3 }
149 2
150 2 n = 1;
151 2
152 2 }
153 1 }
154 //----------------------------------------------------------------------------------------------
155 void TransmitFile(void)
156 {
157 1 unsigned int temp,j;
158 1 unsigned char n;
159 1 n=0;
160 1 InitTransmitter(20, 0);
161 1 while(1)
162 1 {
163 2 for (aaa=0;aaa<20;aaa++)
164 2 {buf[aaa]=ID[aaa];}
165 2 n=n+1;
166 2 buf[19]=n;
167 2
168 2 temp= ( TransmitPacket(buf));
169 2
170 2 if (temp==1)
171 2 { LEDR=0;
172 3
173 3 }
174 2 else {LEDG=0; //Y LED OFF
175 3
176 3 }
177 2 if (temp==1)
178 2 { for (j=0;j<25;j++)
179 3 {Delay100us(200);} //LEDG 20mS
C51 COMPILER V7.08 MAIN 01/05/2006 16:42:05 PAGE 4
180 3
181 3 LEDR=1;
182 3 }
183 2 else {
184 3 for (j=0;j<25;j++)
185 3 {Delay100us(200);} //LEDG 400mS
186 3
187 3 LEDG=1;
188 3 }
189 2 for (ccc=0;ccc<3;ccc++) //2s
190 2 {
191 3 for (ddd=0;ddd<100;ddd++) //delay 1s
192 3 {Delay100us(100);} //delay10ms
193 3 }
194 2 }
195 1 }
196
197
198 //-------------------------send all---------------------------------------
199
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 389 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 30 7
IDATA SIZE = 25 ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -