?? srt8300.lst
字號:
C51 COMPILER V7.09 SRT8300 07/05/2007 19:59:44 PAGE 1
C51 COMPILER V7.09, COMPILATION OF MODULE SRT8300
OBJECT MODULE PLACED IN SRT8300.obj
COMPILER INVOKED BY: D:\A\KEIL\C51\BIN\C51.EXE SRT8300\SRT8300.c BROWSE DEBUG OBJECTEXTEND PRINT(.\SRT8300.lst) OBJECT(S
-RT8300.obj)
line level source
1 #include "SRT8300.h"
2
3 //enum {R89, R91_8, R93, R95, R99_6, R103_2, R104_5, R105_4, R107} Radio_fre;
4 code unsigned char WriteReg_RadioFRE[] = {0x2a,0x55,0x5c,
5 0x2b,0xab,0x4c,
6 0x2c,0x3d,0x4c,
7 0x2d,0x31,0x3c,
8 0x2f,0x63,0x2c,
9 0x31,0x1a,0x1c,
10 0x31,0xb9,0x1c,
11 0x32,0x27,0x1c,
12 0x32,0xea,0x0c};
13
14
15
16 unsigned char WriteReg[32]={SRT8300_REGDATA_1,SRT8300_REGDATA_2,SRT8300_REGDATA_3,SRT8300_REGDATA_4,
17 SRT8300_REGDATA_5,SRT8300_REGDATA_6,SRT8300_REGDATA_7,SRT8300_REGDATA_8,
18 SRT8300_REGDATA_9,SRT8300_REGDATA_10,SRT8300_REGDATA_11,SRT8300_REGDATA_12,
19 SRT8300_REGDATA_13,SRT8300_REGDATA_14,SRT8300_REGDATA_15,SRT8300_REGDATA_16,
20 SRT8300_REGDATA_17,SRT8300_REGDATA_18,SRT8300_REGDATA_19,SRT8300_REGDATA_20,
21 SRT8300_REGDATA_21,SRT8300_REGDATA_22,SRT8300_REGDATA_23,SRT8300_REGDATA_24,
22 SRT8300_REGDATA_25,SRT8300_REGDATA_26,SRT8300_REGDATA_27,SRT8300_REGDATA_28,
23 };
24 unsigned char ReadReg[10];
25
26
27 ///////////////////////////////////////////////////////////////////
28 /// <summary>
29 /// 3wire模式寫入數據
30 /// </summary>
31 void SendData3Wire()
32 {
33 1 unsigned char i,j;
34 1 unsigned char _mask;
35 1 unsigned char _d;
36 1 /// 設置為3wire通信模式
37 1 BMOD = 1;
38 1 /// 時鐘置低
39 1 if( SCLK )
40 1 SCLK = 0;
41 1 /// 設置讀寫模式為低
42 1 if( SEN )
43 1 SEN = 0;
44 1
45 1 /// 使總線有效
46 1 BEN = 1;
47 1 /// 產生上升沿,設置為寫模式
48 1 /// 2006/11/14日修改為5767兼容模式
49 1 SEN = 1;
50 1 SEN = 0;
51 1 SEN = 1;
52 1
53 1 // 循環發送寄存器數據
54 1 for(i=0;i<4;i++)//32;i++)
C51 COMPILER V7.09 SRT8300 07/05/2007 19:59:44 PAGE 2
55 1 {
56 2 _mask = 0x80; // 0x1 << 1;
57 2 // 循環發送每位數據
58 2 for(j=0; j<8; j++)
59 2 {
60 3 // 發送數據
61 3 _d = ((_mask & WriteReg[i]) == _mask);
62 3 if( SDIO != _d)
63 3 SDIO = _d ;
64 3 // 產生時鐘上升沿
65 3 SCLK = 1;
66 3 // 復位時鐘
67 3 SCLK = 0;
68 3
69 3 _mask >>= 1;
70 3 }
71 2 }
72 1 SEN = 1;
73 1 // 使總線無效
74 1 BEN = 0;
75 1 SDIO = 1;
76 1 }
77
78
79 ///////////////////////////////////////////////////////////////////
80 /// <summary>
81 /// 3Wire 模式讀出數據
82 /// </summary>
83 void ReadData3Wire()
84 {
85 1 unsigned char i,j;
86 1 unsigned char _rec;
87 1 /// 設置為3wire通信模式
88 1 BMOD = 1;
89 1 /// 時鐘置低
90 1 if( SCLK )
91 1 SCLK = 0;
92 1 /// 設置為寫數據模式
93 1 if( !SEN )
94 1 SEN = 1;
95 1 /// 輸出數據線置高,以實現線與邏輯
96 1 if( !SDIO )
97 1 SDIO = 1;
98 1
99 1 /// 使總線有效
100 1 BEN = 1;
101 1 /// 產生下降沿設置為讀模式
102 1 SEN= 0;
103 1 SEN = 1;
104 1 SEN = 0;
105 1
106 1 // 循環發送寄存器數據
107 1 for(i=0; i<4; i++)
108 1 {
109 2 _rec = 0;
110 2 // 循環接收每位數據
111 2 for(j=0;j<8;j++)
112 2 {
113 3 _rec <<= 1;
114 3 // 產生時鐘上升沿
115 3 SCLK = 1;
116 3 // 讀入狀態字
C51 COMPILER V7.09 SRT8300 07/05/2007 19:59:44 PAGE 3
117 3 _rec |= SDIO? 1:0;
118 3 // 復位時鐘
119 3 SCLK = 0;
120 3
121 3 }
122 2 ReadReg[i] = _rec;
123 2 }
124 1
125 1 SEN = 1;
126 1 // 使總線無效
127 1 BEN = 0;
128 1 SDIO = 1;
129 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 147 ----
CONSTANT SIZE = 27 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 42 ----
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 + -