📄 main.lst
字号:
C51 COMPILER V7.50 MAIN 04/29/2006 22:59:04 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Program Files\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg9e5.h>
2
3
4 #define int8u unsigned char
5 #define int16u unsigned int
6 #define INT8U unsigned char
7 #define INT16U unsigned int
8
9
10
11 #define WRC 0x00 //W_RF_CONFIG
12 #define RRC 0x10 //R_RF_CONFIG
13 #define WTP 0x20 //W_TX_PAYLOAD
14 #define RTP 0x21 //R_TX_PAYLOAD
15 #define WTA 0x22 //W_TX_ADDRESS
16 #define RTA 0x23 //R_TX_ADDRESS
17 #define RRP 0x24 //R_RX_PAYLOAD
18 #define RAD 0x40 //R_ADC_DATA
19 #define WAC 0x44 //W_ADC_CONFIG
20 #define RAC 0x46 //R_ADC_CONFIG
21 #define WTU 0x50 //W_TEST_UNLOCK (use with data A5)
22 #define WTR 0x52 //W_TEST_REGISTER
23 #define RTR 0x53 //R_TEST_REGISTER
24 #define CC 0x80 //CHANNEL_CONFIG
25 #define SAV 0xC0 //START_ADC_CONV
26 #define HFREQ 1 // 0=433MHz, 1=868/915MHz 19/08/2004 set 915mhz
27 #define POWER 3 // 0=min power...3 = max power
28
29 #define TurnBY() TRX_CE = 0;TXEN = 0
30
31
32 sbit LEDG =P0^6;
33 sbit LEDR =P0^5;
34
35
36 int8u Nrf9e5Config[10] = {
37 0x28, //频道设置
38
39 0x0e, //自动重发关,发送节电模式关,输出功率10dB,915MHZ
40
41 0x44, //收发地址都为4字节
42
43 0x0a, //接收数据长度,10字节
44
45 0x0a, //发送数据长度,10字节
46
47 0xe7,
48 0xe7,
49 0xe7,
50 0xe7, //地址
51
52 0xdf //CRC开,16位校验,16M晶振,外部时钟使能500KHZ输出
53 };
54
55
C51 COMPILER V7.50 MAIN 04/29/2006 22:59:04 PAGE 2
56 int8u Rxbuf[37];
57
58
59 int8u timer[2];
60 int8u T0LREL, T0HREL;
61
62
63
64 /*****************************************************************************************
65 //函数名:void delay(int16u s)
66 //输入:时间
67 //输出:无
68 //功能描述:普通廷时
69 /*****************************************************************************************/
70 void delay(int16u s)
71 {
72 1 int16u i;
73 1 for(i = 0; i < s; i++);
74 1 for(i = 0; i < s; i++);
75 1 }
76
77 /*****************************************************************************************
78 //函数名:int8u SpiReadWrite(int8u b)
79 //输入:发送的数据
80 //输出:收到的数据
81 //功能描述:SPI发送接收一个字节
82 /*****************************************************************************************/
83 int8u SpiReadWrite(int8u b)
84 {
85 1 EXIF &= ~0x20; // Clear SPI interrupt
86 1 SPI_DATA = b; // Move byte to send to SPI data register
87 1 while((EXIF & 0x20) == 0x00); // Wait until SPI hs finished transmitting
88 1 return SPI_DATA;
89 1 }
90
91
92
93 /*****************************************************************************************
94 //函数名:InitTimer(void)
95 //输入:无
96 //输出:无
97 //功能描述:定时器0初始化
98 /*****************************************************************************************/
99 void InitTimer(void)
100 {
101 1 timer[0] = timer[1] = 0;
102 1
103 1 TR0 = 0;
104 1 TMOD &= ~0x03;
105 1 TMOD |= 0x01; // mode 1
106 1 CKCON |= 0x00; // T0M = 1 (/4 timer clock)
107 1
108 1 T0LREL = 0x60; // 1KHz tick...
109 1 T0HREL = 0xF0; // ... = 65536-16e6/(4*1e3) = F060h
110 1 TF0 = 0; // Clear any pending Timer0 interrupts
111 1 TR0 = 1; // Start Timer0
112 1 ET0 = 1; // Enable Timer0 interrupt
113 1 }
114
115
116
117
C51 COMPILER V7.50 MAIN 04/29/2006 22:59:04 PAGE 3
118 /*****************************************************************************************
119 //函数名:ResetTimer(int8u n)
120 //输入:要复位的计时器
121 //输出:无
122 //功能描述:复位计时器
123 /*****************************************************************************************/
124 void ResetTimer(int8u n)
125 {
126 1 ET0 = 0; // Disable Timer0 interrupt
127 1 timer[n & 0x01] = 0; // Clear timer[n]
128 1 ET0 = 1; // Enable Timer0 interrupt
129 1 }
130
131
132 /*****************************************************************************************
133 //函数名:int16u GetTimer(int8u n)
134 //输入:要读的计时器
135 //输出:读出值
136 //功能描述:读计时器
137 /*****************************************************************************************/
138 int16u GetTimer(int8u n)
139 {
140 1 int16u tmp;
141 1 ET0 = 0; // Disable Timer0 interrupt
142 1 tmp = timer[n]; // Clear timer[n]
143 1 ET0 = 1; // Enable Timer0 interrupt
144 1 return tmp;
145 1 }
146
147
148
149 /*****************************************************************************************
150 //函数名:void InitCpu(void)
151 //输入:无
152 //输出:无
153 //功能描述:Cpu初始化
154 /*****************************************************************************************/
155 void InitCpu(void)
156 {
157 1 int8u cklf;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -