📄 cc1100_tx.lst
字号:
C51 COMPILER V7.06 CC1100_TX 03/30/2006 10:59:06 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE CC1100_TX
OBJECT MODULE PLACED IN CC1100_TX.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE CC1100_TX.c DEBUG OBJECTEXTEND PAG
-EWIDTH(79) PAGELENGTH(66)
stmt level source
1 #include <reg52.h>
2 #include <intrins.h>
3 #include "CC1100.h"
4
5
6 #define INT8U unsigned char
7 #define INT16U unsigned int
8
9 #define time0h (65535-1000)/256
10 #define time0l (65535-1000)%256 //定时1MS
11 #define WRITE_BURST 0x40 //连续写入
12 #define READ_SINGLE 0x80 //读
13 #define READ_BURST 0xC0 //连续读
14 #define BYTES_IN_RXFIFO 0x7F //接收缓冲区的有效字节数
15 #define CRC_OK 0x80 //CRC校验通过位标志
16
17
18
19 #define INT8U unsigned char
20 #define INT16U unsigned int
21
22 #define FOSC 11059200
23 #define BAUD 9600
24 #define TIMER1 0XFD //256-(110592/(12*32*96))
25 #define TIMER0H (65535-3*FOSC/12/1000)/256
26 #define TIMER0L (65535-3*FOSC/12/1000)%256 //定时3MSVR
27
28 //---------------------------------------------------------------
--------------------------------------------
29 //内部寄存器定义
30 //---------------------------------------------------------------
--------------------------------------------
31 //sfr P4 = 0xc0;
32 //sfr ADC_CONTR = 0xC5;
33 //sfr AUXR = 0x8E;
34 //sfr ADC_DATA = 0xC6;
35 //sfr P1_ADC_EN = 0x97;
36 /*
37 sbit DAT1 = P3^5;
38 sbit DAT2 = P3^4;
39 sbit DAT3 = P3^3;
40 sbit DAT4 = P3^2;
41 sbit DAT5 = P4^3;
42 sbit DAT6 = P1^7;
43 sbit DAT7 = P1^6;
44 sbit DAT8 = P1^5;
45 sbit DAT9 = P1^4;
46 sbit DAT10 = P4^2;
47 */
48 //定义CC1100模块接口
49 /*
50 #define GDO1 DAT1
51 #define GDO2 DAT2
52 #define CSN DAT4
53 #define MOSI DAT5
54 #define MISO DAT6
C51 COMPILER V7.06 CC1100_TX 03/30/2006 10:59:06 PAGE 2
55 #define SCK DAT7
56
57 sbit LED1 = P4^1;
58 sbit LED2 = P4^0;
59 */
60 sbit DAT1 = P2^0;
61 sbit DAT2 = P2^1;
62 sbit DAT3 = P2^2;
63 sbit DAT4 = P2^3;
64 sbit DAT5 = P2^4;
65 sbit DAT6 = P2^5;
66
67 #define GDO1 DAT1
68 #define GDO2 DAT2
69 #define CSN DAT3
70 #define MOSI DAT4
71 #define MISO DAT5
72 #define SCK DAT6
73
74 sbit LED1 = P1^6;
75 sbit LED2 = P1^7;
76
77 /****************************************************************
-************************
78 //全局变量定义
79 /****************************************************************
-************************/
80 INT16U TimeOutCount[2]={0,0}; //超时计数器
81 INT8U PaTabel[8] = {0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC0 ,0xC
-0};
82
83
84 //***************************************************************
-**************************
85 //函数名:delay(unsigned int s)
86 //输入:时间
87 //输出:无
88 //功能描述:普通廷时
89 //***************************************************************
-**************************
90 delay(unsigned int s)
91 {
92 1 unsigned int i;
93 1 for(i=0; i<s; i++);
94 1 for(i=0; i<s; i++);
95 1 }
96
97
98 void halWait(INT16U timeout) {
99 1 do {
100 2 _nop_();
101 2 _nop_();
102 2 _nop_();
103 2 _nop_();
104 2 _nop_();
105 2 _nop_();
106 2 _nop_();
107 2 _nop_();
108 2 _nop_();
109 2 _nop_();
110 2 _nop_();
111 2 _nop_();
112 2 _nop_();
113 2 _nop_();
C51 COMPILER V7.06 CC1100_TX 03/30/2006 10:59:06 PAGE 3
114 2 _nop_();
115 2 } while (--timeout);
116 1 }
117
118 /****************************************************************
-*************************
119 //函数名:UartInit()
120 //输入:无
121 //输出:无
122 //功能描述:串口初始化程序
123 /****************************************************************
-*************************/
124 void UartInit(void)
125 {
126 1 SCON = 0x50; //串口方式1,允许接收
127 1 TMOD = 0x21; //定时器1工作方式2,定时器0工作方式1
128 1 TH1 = TIMER1;
129 1 TL1 = TIMER1;
130 1 TR1 = 1; //启动定时器1
131 1 }
132
133
134 /****************************************************************
-*************************
135 //函数名:void TimerInit(void)
136 //输入:无
137 //输出:无
138 //功能描述:定时器0初始化程序
139 /****************************************************************
-*************************/
140 void TimerInit(void)
141 {
142 1 TH0 = TIMER0H;
143 1 TL0 = TIMER0L;
144 1 ET0 = 1; //定时器0中断允许
145 1 TF0 = 0;
146 1 TR0 = 1; //启动定时器0
147 1 EA = 1; //开全局中断
148 1 }
149
150 void SpiInit(void)
151 {
152 1 CSN=0;
153 1 SCK=0;
154 1 CSN=1;
155 1 }
156
157 /****************************************************************
-*************************
158 //函数名:CpuInit()
159 //输入:无
160 //输出:无
161 //功能描述:SPI初始化程序
162 /****************************************************************
-*************************/
163 CpuInit(void)
164 {
165 1 UartInit();
166 1 // TimerInit();
167 1 SpiInit();
168 1 delay(5000);
169 1 }
170
171 /*
C51 COMPILER V7.06 CC1100_TX 03/30/2006 10:59:06 PAGE 4
172 //***************************************************************
-**************************
173 //函数名:ResetTimer(INT8U n)
174 //输入:要复位的计时器
175 //输出:无
176 //功能描述:复位计时器
177 //***************************************************************
-**************************
178 void ResetTimer(INT8U n)
179 {
180 ET0 = 0; // Disable Timer0 in
-terrupt
181 timer[n & 0x01] = 0; // Clear timer[n]
182 ET0 = 1; // Enable Timer0 int
-errupt
183 }
184
185
186 //***************************************************************
-**************************
187 //函数名:INT16U ReadTimer(INT8U n)
188 //输入:要读的计时器
189 //输出:读出值
190 //功能描述:读计时器
191 //***************************************************************
-**************************
192 INT16U ReadTimer(INT8U n)
193 {
194 INT16U tmp;
195 ET0 = 0; // Disable Timer0 in
-terrupt
196 tmp = timer[n]; // Clear timer[n]
197 ET0 = 1; // Enable Timer0 int
-errupt
198 return tmp;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -