📄 车库发射.lst
字号:
C51 COMPILER V7.50 车库发射 06/15/2006 20:54:46 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE 车库发射
OBJECT MODULE PLACED IN 车库发射.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE 车库发射.c BROWSE DEBUG OBJECTEXTEND
line level source
1 //ptr8000: DR=P3.2; W8000: DR=P1.0;
2
3
4
5 #include <reg52.h>
6
7 #define NRF905_BUFFER=0x20;
8
9 sfr AUXR=0x8e;
10 sfr SPCTL=0x85;
11 sfr SPSTAT=0x84;
12 sfr SPDAT=0x86;
13 sfr P1M0=0x91;
14 sfr P1M1=0x92;
15
16
17 sbit TX_EN=P1^2;
18 sbit TRX_CE=P1^3;
19 sbit PWR_UP=P1^1;
20 sbit DR=P1^0;
21 sbit ESPI=IE^5;
22 sbit SCLK=P1^7;
23 sbit MISO=P1^6;
24 sbit MOSI=P1^5;
25 sbit CSN=P1^4;
26 sbit MCU_WORK_LED=P3^4;
27
28 void initial_SPI()
29 { P1M0=0x40;
30 1 P1M1=0xa0;
31 1 AUXR=0xf7;
32 1 SPCTL=0xd0;
33 1 SPSTAT=0xc0;
34 1 }
35
36
37 void spi_send_byte(byte_data)
38 {
39 1 SPDAT=byte_data;
40 1 while(!(SPSTAT&0x80));
41 1 SPSTAT=0xc0;
42 1 }
43
44 void initial_nrf905()
45 {
46 1 CSN=0;
47 1 spi_send_byte(0x00);
48 1 spi_send_byte(0x6E);//433.4MHz
49 1 spi_send_byte(0x0C);
50 1 spi_send_byte(0x44);
51 1 spi_send_byte(0x05);//发射有效数据长度5字节
52 1 spi_send_byte(0x05);//接收有效数据长度5字节
53 1 spi_send_byte(0xFE);
54 1 spi_send_byte(0xFE);
55 1 spi_send_byte(0xFE);
C51 COMPILER V7.50 车库发射 06/15/2006 20:54:46 PAGE 2
56 1 spi_send_byte(0xFE);
57 1 spi_send_byte(0xdb);
58 1 CSN=1;
59 1 }
60
61
62 void nrf905_tx_add(unsigned char address)
63 { unsigned char i;
64 1 CSN=0;
65 1 spi_send_byte(0x22);
66 1 for(i=4;i>0;i--)
67 1 spi_send_byte(address);
68 1 CSN=1;
69 1 }
70
71 void nrf905_data_send()
72 {unsigned char i,buffer;
73 1 CSN=0;
74 1 spi_send_byte(0x20);
75 1 buffer=0x55;
76 1 for(i=5;i>0;i--)
77 1 spi_send_byte(buffer--);
78 1 CSN=1;
79 1 }
80
81 void delay()
82 {unsigned char i,j;
83 1 for(i=10;i>0;i--)
84 1 for(j=50;j>0;j--);
85 1 }
86
87 void main()
88 { unsigned char i;
89 1 SP=0x7f;
90 1 TX_EN=1;
91 1 PWR_UP=1;
92 1 TRX_CE=0;
93 1 TX_EN=0;
94 1 delay();
95 1 initial_SPI();
96 1 initial_nrf905();
97 1 while(1)
98 1 { for(i=250;i>0;i--)
99 2 { nrf905_tx_add(i);
100 3 //MCU_WORK_LED=!MCU_WORK_LED;
101 3 nrf905_data_send();
102 3 TX_EN=1;
103 3 TRX_CE=1;
104 3 while(DR==0);
105 3 delay();
106 3 TX_EN=1;
107 3 TRX_CE=0;}
108 2 MCU_WORK_LED=!MCU_WORK_LED;
109 2
110 2 }
111 1 }
112
113
114
115
116
C51 COMPILER V7.50 车库发射 06/15/2006 20:54:46 PAGE 3
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 187 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -