📄 f211.lst
字号:
C51 COMPILER V6.02 F211 12/12/2003 17:42:46 PAGE 1
C51 COMPILER V6.02, COMPILATION OF MODULE F211
OBJECT MODULE PLACED IN F211.OBJ
COMPILER INVOKED BY: C:\Cygnal\othc51\Bin\C51.exe F211.c DB OE
stmt level source
*** WARNING C500 IN LINE 1 OF F211.C: MISSING DEVICE (SECURITY KEY NOT FOUND)
1 /*
2 //=========================================================================//
3 // //
4 // F O R E N T E K P R O P R I E T A R Y //
5 // //
6 // COPYRIGHT (c) 2003 BY FORENTEK CHONGQING //
7 // -- ALL RIGHTS RESERVED -- //
8 // //
9 // File Name: ATF211.H //
10 // Created: 20 Nov 2003 //
11 // AUTHOR: //
12 // Revision: V1.0 //
13 // //
14 //=========================================================================//
15 */
16
17 #include <c8051f000.h> // SFR 定义
18 #include <atf211.h>
19 #include <stdio.h>
20 #include <INTRINS.H>
21
22 unsigned int xdata WDT_Reset_Counts=0;
23 bit SCK_FLAG=0;
24 unsigned int xdata nRX_INDEX=0; // 接收缓冲区索引
25 unsigned int xdata nTx_Index=0; // 发送缓冲区索引
26
27 unsigned char xdata INPUT_BUF[nLEN_INPUT]; // 接收缓冲区
28 unsigned char xdata OUTPUT_BUF[100]; // 发送缓冲区
29
30 unsigned char nFlag_RXSUCCESS=0; // 接收数据完毕标志
31 unsigned int xdata nLen_Rx_Data=0; // 接收数据的长度
32 unsigned int xdata nLen_Tx_Data=0; // 发送数据的长度
33
34 unsigned char level_count=0;
35
36 bit RFLAG=0; //开始接收数据标志
37 bit SendEndflag=0; //传输结束标志
38 unsigned int timer0_count=0; //定时器0计数
39 unsigned int timer2_count=0; //定时器2计数
40
41 void port_init();
42 void SYSCLK_INIT();
43 void rf211_init();
44 void rf211Trx_Register_Wr(unsigned char trx_addr,unsigned long trx_code,unsigned char trx_bits);
45 void rf211Send_Trx_Addr(unsigned char trx_addr);
46
47 void rf211Send_Trx_Data(unsigned long trx_code,unsigned char trx_bits);
48 void rf211Send_Trx_High();
49 void rf211Send_Trx_Low();
50 unsigned long rf211Read_Trx_Data(unsigned char trx_bits);
51 unsigned long rf211Trx_Register_Rd(unsigned char trx_addr,unsigned char trx_bits);
52
53 void systems_init();
54 void Uart_init();
C51 COMPILER V6.02 F211 12/12/2003 17:42:46 PAGE 2
55 void timer2_init();
56 void Make_Transmit_Mode();
57 void Make_Receive_Mode();
58 void Make_Wakeup_Mode();
59 void Transmit_Data_Dispose(char *In_Buf,unsigned int nLen);
60 bit Receive_Data_CheckProcess();
61 void Receiver_data_Process();
62 void Transmit_data_Process();
63 bit Wait_Answer_Message();
64 void Read_Wakeup_Data();
65 void bit_delay();
66 void timer0_init();
67 void wait_time_millisecond();
68 void Transmit_Information_Package();
69 void Transmit_Information_Process();
70 unsigned char Receive_Information_Package();
71 void Transmit_Direct_Message(unsigned int msg_code,unsigned char msg_bits);
72 void wait_time_100us();
73
74 void main()
75 {
76 1 unsigned int inde=0xffff;
77 1 WDTCN = 0xDE; //禁止看门狗定时器
78 1 WDTCN = 0xAD;
79 1 SYSCLK_INIT();
80 1 port_init(); //分配端口
81 1 timer2_init();
82 1 Uart_init();
83 1 systems_init();
84 1 while(inde--);
85 1 inde=0xffff;
86 1 while(inde--);
87 1 inde=0xffff;
88 1
89 1 rf211_init(); //配置rf211各控制寄存器
90 1 timer0_init();
91 1
92 1 Make_Receive_Mode(); //进入接收模式
93 1 Read_Wakeup_Data(); //读wakeup数据寄存器
94 1 Make_Wakeup_Mode(); //进入唤醒模式
95 1 //while(inde--);
96 1 //inde=0xffff;
97 1 //Transmit_Data_Dispose(Tx_Data,10);
98 1 while(1)
99 1 {
100 2
101 2 // Transmit_Information_Process();
102 2
103 2 if(RFLAG) Receive_Information_Package();
104 2
105 2 //while(inde--);
106 2 //inde=0xffff;
107 2
108 2 while(inde--);
109 2 inde=0xffff;
110 2 for(inde=0;inde<100;inde++)
111 2 INPUT_BUF[inde]=0;
112 2 }
113 1 }
114
115 //-----------------------------------------------------------------------------//
116 // Receiver_data_Process接收数据过程 //
C51 COMPILER V6.02 F211 12/12/2003 17:42:46 PAGE 3
117 //-----------------------------------------------------------------------------//
118 void Receiver_data_Process()
119 {
120 1 Read_Wakeup_Data(); //读wakeup数据寄存器
121 1 if(RFLAG)
122 1 {
123 2 Make_Receive_Mode(); //进入接收模式
124 2 RFLAG=0; //清准备接收标志
125 2 RI=1; //UART接收标志
126 2 }
127 1 if (nFlag_RXSUCCESS==0x55) //表示接收数据正确
128 1 {
129 2 nFlag_RXSUCCESS=0; //清接收正确标志,为下一次接收
-数据做好准备
130 2 if (Receive_Data_CheckProcess()) //接收数据校验和正确,这回执
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -