📄 nrf905.lst
字号:
C51 COMPILER V8.05a NRF905 06/08/2008 20:18:03 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE NRF905
OBJECT MODULE PLACED IN nrf905.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE nrf905.C LARGE BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<string.h>
2 #include"def.h"
3 #include"AT24C04.h"
4 #include"DS18B20.h"
5 //#include"Led.h"
6
7 #define uchar unsigned char
8 #define uint unsigned int
9
10
11 #define WC 0x00 // Write configuration register command
12 #define RC 0x10 // Read configuration register command
13 #define WTP 0x20 // Write TX Payload command
14 #define RTP 0x21 // Read TX Payload command
15 #define WTA 0x22 // Write TX Address command
16 #define RTA 0x23 // Read TX Address command
17 #define RRP 0x24 // Read RX Payload command
18 /*******************************************************************************************/
19 typedef struct RFConfig
20 {
21 uchar n;
22 uchar buf[10];
23 }RFConfig;
24
25 code RFConfig RxTxConf =
26 {
27 10,
28 0x01, 0x0c, 0x44, 0x20, 0x20, 0xcc, 0xcc, 0xcc,0xcc, 0x58
29 };
30
31
32 // The content of this struct is nRF905's initialize data.初始化数据
33 // CH_NO=1;433MHZ;Normal Opration,No Retrans;RX,TX Address is 4 Bytes
34 // RX TX Payload Width is 32 Bytes;Disable Extern Clock;Fosc=16MHZ
35 // 8 Bits CRC And enable
36 /*******************************************************************************************/
37 uchar TxBuf[6];
38 uchar RxBuf[32];
39 /*******************************************************************************************/
40 //uchar rsbrf,delayf,tf,Key;
41 /*******************************************************************************************/
42 uchar bdata DATA_BUF;
43 sbit flag =DATA_BUF^7;
44 sbit flag1 =DATA_BUF^0;
45 /*******************************************************************************************/
46
47 sbit Key = P0^7;
48
49
50
51
52 /*******************************************************************************************/
53 void InitIO(void); // Initialize IO port
54 void Inituart(void); // initialize 232 uart
55 void Config905(void); // Config nRF905 module配置NRF905模式
C51 COMPILER V8.05a NRF905 06/08/2008 20:18:03 PAGE 2
56 void SetTxMode(void); // Set nRF905 in Tx mode
57 void SetRxMode(void); // Set nRF905 in Rx mode
58 void TxPacket(void); // Send data by nRF905
59 void RxPacket(void); // Recive data by nRF905
60 void SpiWrite(uchar); // Write data to nRF905
61 uchar SpiRead(void); // Read data to nRF905
62 void Delay(uchar n); // Delay 100us
63 //void Scankey(void); // Scan key
64 void TxData (uchar x); // Send key_value to CRT display
65 void comdebug(void);
66 void delays_key();
67
68
69 void Write_24c04_32bit(unsigned char count);
70 void Read_24c04_32bit(unsigned char keycount);
71
72 /*
73 void delay_1ms(void)
74 {
75 unsigned int i;
76
77 for (i=1; i<(unsigned int)(11*143-2)/12; ++i); //xtal为晶振频率,单位MHz
78 }
79
80 void delay_ms(unsigned int n)
81 {
82 unsigned int i;
83
84 for (i=0; i<n; ++i)
85 delay_1ms();
86 }*/
87
88 /*
89 uchar *pUART; //字符串指针
90 void print_Char(unsigned char c)
91 {
92 SBUF = c;
93 c = '\0';
94 pUART=&c;
95 while (pUART!=0);
96 }
97 */
98 /*******************************************************************************************/
99 //function Delay100us();Delay 100us
100 /*******************************************************************************************/
101 void Delay(uchar n)
102 {
103 1 uint i;
104 1 while(n--)
105 1 for(i=0;i<80;i++);
106 1 }
107 /*******************************************************************************************/
108
109
110 /*
111
112 unsigned char RxWriteIndex = 0;
113
114 void UART_INT(void) interrupt 4
115 {
116 if (RI)
117 {
C51 COMPILER V8.05a NRF905 06/08/2008 20:18:03 PAGE 3
118
119
120 TxBuf[RxWriteIndex++] = SBUF;
121 TxBuf[RxWriteIndex] = '\0';
122
123 RI = 0;
124 }
125 else //TI
126 {
127 TI=0; //发送中断标志位(SCON)
128 if (*pUART != '\0')
129 {
130 SBUF = *pUART;
131 pUART++;
132 }
133 else pUART=0; //不会启动下一次发送
134
135 }
136 }
137 void print_Str(const uchar*p)
138 {
139 pUART=p;
140 TI=1;
141 while (pUART!=0); //遇到 '\0',输出完毕
142 }
143 */
144
145 //unsigned char TXBuffer[32];
146 unsigned char data RXBuffer[32];
147 unsigned char count = 0; //24c04写入
148 unsigned char keycount = 0; //功能按键次数
149 bit flg = 0;
150
151
152
153
154
155
156 sbit P14=P1^4; //
157
158 sbit P15=P1^5;//154
159
160 unsigned char Digital[] =
161 {
162 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x02,0x40,0x04,0x20,0x04,0x20,0x04,0x20,
163 0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x02,0x40,0x01,0x80,0x00,0x00,0x00,0x00, //"0"
164
165 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x07,0x00,0x01,0x00,0x01,0x00,0x01,0x00,
166 0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x07,0xC0,0x00,0x00,0x00,0x00, //"1"
167
168 0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x04,0x20,0x04,0x20,0x04,0x20,0x00,0x40,
169 0x00,0x40,0x00,0x80,0x01,0x00,0x02,0x00,0x04,0x20,0x07,0xe0,0x00,0x00,0x00,0x00, //"2"
170
171 0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x04,0x20,0x04,0x20,0x00,0x40,0x01,0x80,
172 0x00,0x40,0x00,0x20,0x00,0x20,0x04,0x20,0x04,0x40,0x03,0x80,0x00,0x00,0x00,0x00, //"3"
173
174 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0xc0,0x01,0x40,0x02,0x40,0x02,0x40,
175 0x04,0x40,0x04,0x40,0x07,0xe0,0x00,0x40,0x00,0x40,0x01,0xe0,0x00,0x00,0x00,0x00, //"4"
176
177 0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xe0,0x04,0x00,0x04,0x00,0x04,0x00,0x05,0x80,
178 0x06,0x40,0x00,0x20,0x00,0x20,0x04,0x20,0x04,0x40,0x03,0x80,0x00,0x00,0x00,0x00, //"5"
179
C51 COMPILER V8.05a NRF905 06/08/2008 20:18:03 PAGE 4
180 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xc0,0x02,0x40,0x04,0x00,0x04,0x00,0x05,0x80,
181 0x06,0x40,0x04,0x20,0x04,0x20,0x04,0x20,0x02,0x40,0x01,0x80,0x00,0x00,0x00,0x00, //"6"
182
183 0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xe0,0x04,0x40,0x04,0x40,0x00,0x80,0x00,0x80,
184 0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x00,0x00, //"7"
185
186 0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x04,0x20,0x04,0x20,0x04,0x20,0x02,0x40,
187 0x01,0x80,0x02,0x40,0x04,0x20,0x04,0x20,0x04,0x20,0x03,0xc0,0x00,0x00,0x00,0x00, //"8"
188
189 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x02,0x40,0x04,0x20,0x04,0x20,0x04,0x20,
190 0x02,0x60,0x01,0xa0,0x00,0x20,0x00,0x20,0x02,0x40,0x03,0x80,0x00,0x00,0x00,0x00, //"9"
191 };
192
193 unsigned char Int[] =
194 {
195 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
196 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
197
198 0x02,0x00,0x02,0x00,0x02,0x10,0x7F,0xF8,
199 0x42,0x10,0x42,0x10,0x7F,0xF0,0x42,0x10,
200 0x42,0x10,0x7F,0xF0,0x42,0x10,0x02,0x00,
201 0x02,0x04,0x02,0x04,0x01,0xFC,0x00,0x00,//电
202 0x00,0x00,0x3F,0xF0,0x00,0x10,0x00,0x20,
203 0x00,0x40,0x01,0x80,0x01,0x04,0xFF,0xFE,
204 0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,
205 0x01,0x00,0x01,0x00,0x05,0x00,0x02,0x00,//子
206 0x08,0x80,0x08,0x44,0x0F,0xFE,0x10,0x00,
207 0x10,0x08,0x37,0xFC,0x50,0x00,0x90,0x08,
208 0x17,0xFC,0x10,0x00,0x13,0xF8,0x12,0x08,
209 0x12,0x08,0x12,0x08,0x13,0xF8,0x12,0x08,//信
210 0x02,0x00,0x04,0x10,0x1F,0xF8,0x10,0x10,
211 0x10,0x10,0x1F,0xF0,0x10,0x10,0x1F,0xF0,
212 0x10,0x10,0x10,0x10,0x1F,0xF0,0x02,0x00,
213 0x51,0x84,0x50,0x92,0x90,0x12,0x0F,0xF0,//息
214 0x22,0x08,0x11,0x08,0x11,0x10,0x00,0x20,
215 0x7F,0xFE,0x40,0x02,0x80,0x04,0x1F,0xE0,
216 0x00,0x40,0x01,0x84,0xFF,0xFE,0x01,0x00,
217 0x01,0x00,0x01,0x00,0x05,0x00,0x02,0x00,//学
218 0x00,0x80,0x78,0x40,0x4F,0xFE,0x54,0x02,
219 0x58,0x14,0x63,0xF8,0x50,0x00,0x48,0x08,
220 0x4F,0xFC,0x48,0xA0,0x68,0xA0,0x50,0xA0,
221 0x41,0x22,0x41,0x22,0x42,0x1E,0x4C,0x00, //院
222 //0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
223 //0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
224 };
225
226 unsigned char text[]=
227 {
228
229 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
230 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
231 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
232 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
233
234 };
235
236 unsigned char xiaoshudian[] =
237 {
238 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
239 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x00,0x00,0x00,0x00 //"."
240 };
241 unsigned char sheshidu[] =
C51 COMPILER V8.05a NRF905 06/08/2008 20:18:03 PAGE 5
242 {
243 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x0c,0x44,0x12,0x42,0x12,0x80,0x0c,0x80,
244 0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x42,0x00,0x44,0x00,0x38,0x00,0x00,0x00,0x00 //`C
245 };
246
247
248
249
250 void Delayled(unsigned char i)
251 {
252 1 unsigned char j;
253 1 for(;i>0;i--)
254 1 for(j=0;j<80;j++)
255 1 {;}
256 1 }
257
258 void Display()
259 {
260 1 unsigned int a,e;
261 1 unsigned char b,c,d=0;
262 1 SCON=0;
263 1
264 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -