📄 nrf_transmit.lst
字号:
C51 COMPILER V7.20 NRF_TRANSMIT 02/26/2009 18:53:35 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE NRF_TRANSMIT
OBJECT MODULE PLACED IN NRF_transmit.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE NRF_transmit.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2 #include <intrins.h>
3 #include "api.h"
4 /***************************************************/
5 #define uchar unsigned char
6 #define TX_ADR_WIDTH 5 // 地址字节数为5 BYTE
7 #define TX_PLOAD_WIDTH 20 // 数据量为20 BYTE
8
9 uchar const TX_ADDRESS[TX_ADR_WIDTH] = {0x34,0x43,0x10,0x10,0x01}; // 接收发送数据的地址.
10 uchar rx_buf[TX_PLOAD_WIDTH];
11 uchar tx_buf[TX_PLOAD_WIDTH];
12 uchar flag;
13 uchar stx_en=1;
14 uchar srx_en=1;
15 int rxtx_time;
16 uchar rx_data;
17 uchar tx_data;
18 /**************************************************/
19 sbit CE = P1^3;
20 sbit CSN= P1^4;
21 sbit SCK= P1^7;
22 sbit MOSI= P1^5;
23 sbit MISO= P1^6;
24 sbit IRQ = P3^2;
25 sbit rece_led = P1^0;
26 sbit test_led = P3^7;
27
28 /**************************************************/
29 uchar bdata sta;
30 sbit RX_DR =sta^6;
31 sbit TX_DS =sta^5;
32 sbit MAX_RT =sta^4;
33
34 /**************************************************/
35
36 void init_io(void)
37 {
38 1 CE=0; // chip enable
39 1 CSN=1; // Spi disable
40 1 SCK=0; // Spi clock line init high
41 1 }
42
43 /**************************************************/
44 void init_int0(void)
45 {
46 1 EA=1;
47 1 EX0=1;
48 1 }
49
50 /**************************************************/
51
52 void delay100(void)
53 { uchar x;
54 1 uchar y;
55 1 for(x=0;x<10;x++)
C51 COMPILER V7.20 NRF_TRANSMIT 02/26/2009 18:53:35 PAGE 2
56 1 { for(y=0;y<100;y++)
57 2 _nop_();
58 2 }
59 1 }
60
61 /**************************************************/
62 void delay_ms(unsigned int x)
63 { unsigned int i,j;
64 1 i=0;
65 1 for(i=0;i<x;i++)
66 1 { j=108;
67 2 while(j--);
68 2 }
69 1 }
70
71 /**************************************************/
72
73 uchar SPI_RW(uchar byte)
74 { uchar bit_ctr;
75 1 for(bit_ctr=0;bit_ctr<8;bit_ctr++) // 输出 8 位
76 1 { MOSI = (byte & 0x80); // 从MOSI脚输出,从高位到低位.当BYTE 最高位为1时逻辑运算为1,输出1.运算
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -