📄 cc1100.lst
字号:
C51 COMPILER V7.50 CC1100 05/01/2009 21:14:21 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE CC1100
OBJECT MODULE PLACED IN cc1100.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE cc1100.c BROWSE DEBUG OBJECTEXTEND
line level source
1
2
3 #include<reg51.h>
4 #include "config.h"
5 #include <intrins.h>
6 #include <io.h>
7
8 char flag;
9
10 /*发送数据************************************************/
11 unsigned char Tx_data[] =
12 {0x02 ,0x59, 0xD6, 0x29, 0x0E, 0x0E, 0x77, 0x88};
13
14 /*接收数据************************************************/
15 unsigned char Rx_data[10];
16
17 /*功率配置************************************************/
18
19 unsigned char PaTabel[] =
20 {0xC0, 0xC8, 0x85, 0x51, 0x3A, 0x06, 0x1C, 0x6C};
21
22
23 static void delay(unsigned int s)
24 {
25 1 unsigned int i;
26 1 for(i=0; i<s; i++);
27 1 for(i=0; i<s; i++);
28 1 }
29
30 void halWait(unsigned int timeout) {
31 1 do {
32 2 _nop_();
33 2 _nop_();
34 2 _nop_();
35 2 _nop_();
36 2 _nop_();
37 2 _nop_();
38 2 _nop_();
39 2 _nop_();
40 2 _nop_();
41 2 _nop_();
42 2 _nop_();
43 2 _nop_();
44 2 _nop_();
45 2 _nop_();
46 2 _nop_();
47 2 } while (--timeout);
48 1 }
49
50 void delay_ns(unsigned char n) //纳秒延时
51 {
52 1 while (n--);
53 1 }
54
55 /*********************************************************/
C51 COMPILER V7.50 CC1100 05/01/2009 21:14:21 PAGE 2
56 /*函数名字:delay_ms */
57 /*输入参数:无 */
58 /*输出参数:无 */
59 /*功能描述:延时1 毫秒 */
60 /* */
61 /*********************************************************/
62 void delay_ms(void) //毫秒延时
63 {
64 1 unsigned int i;
65 1
66 1 for (i=0; i<1500; i++)
67 1 {
68 2 _nop_();
69 2 }
70 1 }
71
72 /*********************************************************/
73 /*函数名字:delay_nms */
74 /*输入参数:延时周期参数据 */
75 /*输出参数:无 */
76 /*功能描述:延时程序 */
77 /* */
78 /*********************************************************/
79 void delay_nms(unsigned int n) //延时周期
80 {
81 1 unsigned int i;
82 1
83 1 for (i=0; i<n; i++)
84 1 {
85 2 delay_ms();
86 2 }
87 1 }
88
89
90 void Send_char(unsigned char sdata)
91 {
92 1 SBUF=sdata;
93 1 while(!TI);
94 1 TI =0;
95 1 }
96
97 /*********************************************************/
98 /*函数名字:PORT_Init */
99 /*输入参数:无 */
100 /*输出参数:无 */
101 /*功能描述:单片机端口初始化 */
102 /* */
103 /*********************************************************/
104
105 void PORT_Init(void)
106 {
107 1
108 1 CSN=0;
109 1 SCK=0;
110 1 CSN=1;
111 1 delay(5000);
112 1 }
113
114 /*********************************************************/
115 /*函数名字:Led_Light */
116 /*输入参数:无 */
117 /*输出参数:无 */
C51 COMPILER V7.50 CC1100 05/01/2009 21:14:21 PAGE 3
118 /*功能描述:LED1闪烁三次 */
119 /* */
120 /*********************************************************/
121 void Led_Light(void)
122 {
123 1 unsigned char i;
124 1
125 1 for (i=0;i<3;i++) //闪烁三次
126 1 {
127 2 // LED1_ON; //输出指示
128 2 LED2_ON;
129 2 delay_nms(50); //
130 2 // LED1_OFF; //关闭指示
131 2 LED2_OFF;
132 2 delay_nms(50); //
133 2 }
134 1 }
135
136 /*********************************************************/
137 /*函数名字:SpiTxRx_Byte */
138 /*输入参数:写入寄存器的数据 */
139 /*输出参数:读取寄存器的数据 */
140 /*功能描述:通过SPI 串口读写一字节数据 */
141 /* */
142 /*********************************************************/
143 unsigned char SpiTxRx_Byte(unsigned char dat)
144 {
145 1 unsigned char i, temp = 0;
146 1
147 1 for (i=0; i<8; i++) //读写八位
148 1 {
149 2 if (dat & 0x80)
150 2 {
151 3 MOSI_H; //写出高位
152 3 }
153 2 else
154 2 {
155 3 MOSI_L; //写出低位
156 3 }
157 2
158 2 SCLK_H; //发出时钟
159 2 _nop_();
160 2 _nop_();
161 2
162 2 dat <<= 1;
163 2 temp <<= 1; //数据左移
164 2
165 2 if (MISO_H)
166 2 {
167 3 temp += 1 ; //记录高位
168 3 }
169 2 else
170 2 {
171 3 temp += 0; //记录低位
172 3 }
173 2
174 2 SCLK_L; //结束时钟
175 2 _nop_();
176 2 _nop_();
177 2 }
178 1 return temp; //返回数据
179 1 }
C51 COMPILER V7.50 CC1100 05/01/2009 21:14:21 PAGE 4
180
181
182
183
184
185 /*********************************************************/
186 /*函数名字:Spi_Write_Strobe */
187 /*输入参数:滤波命令 */
188 /*输出参数:无 */
189 /*功能描述:写入滤波命令 */
190 /* */
191 /*********************************************************/
192 void Spi_Write_Strobe(unsigned char strobe)
193 {
194 1 CSN_L; //片选使能
195 1 while (MISO_H); //等待响应
196 1 SpiTxRx_Byte(strobe); //写入命令
197 1 CSN_H; //结束使能
198 1 }
199
200 /*********************************************************/
201 /*函数名字:Spi_Read_Byte */
202 /*输入参数:寄存器地址 */
203 /*输出参数:寄存器配置 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -