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