?? c8051f340.lst
字號(hào):
C51 COMPILER V8.02 C8051F340 09/12/2007 10:54:10 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE C8051F340
OBJECT MODULE PLACED IN C8051F340.OBJ
COMPILER INVOKED BY: f:\Keil\C51\BIN\C51.EXE C8051F340.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*****************************************************************************/
2 //----------------------------------------------------------------------------
3 /////////////////////////// BEGAIN ////////////////////////////////////
4 //----------------------------------------------------------------------------
5 #include <c8051F340.h>
6 #include <INTRINS.H>
7 #include <STDIO.H>
8 //#define ResetWdg() PCA0CPH4 += 0xFF//向PCA0CPH4寫(xiě)入任意值將復(fù)位看門(mén)狗
9 //----------------------------------------------------------------------------
10 //----------------------------------------------------------------------------
11 #define uchar unsigned char
12 #define uint unsigned int
13 #define byte unsigned char
14 //----------------------------------------------------------------------------
15 //----------------------------------------------------------------------------
16 sbit SDA=P0^0;
17 sbit SCL=P0^1;
18 //sbit TX1=P0^2;
19 //sbit RX1=P0^3;
20 //sbit TX0=P0^4;
21 //sbit RX0=P0^5;
22 sbit TTQH6_RST0=P0^6;
23 sbit MCU_LED=P1^1;
24 //---------------------------------------------------------------------------
25 void Init_Device(void);
26 //---------------------------------------------------------------------------
27 //---------------------------------------------------------------------------
28 typedef struct
29 {
30 uint Parameter_ID; //
31 uint Min_Value; //允許的最小值
32 uint Max_Value; //允許的最大值
33 uint Init_Value; //出廠默認(rèn)值,當(dāng)讀用戶(hù)設(shè)置值錯(cuò)誤時(shí)應(yīng)用該值
34 signed char *s; //字符串指針
35 } TTQH6_PARAMETER;
36 //----------------------------------------------------------------------------
37 //包含結(jié)構(gòu)體的數(shù)組,存儲(chǔ)可更改參數(shù)【參數(shù)id,最小值,最大值,初始值,注釋字符串】
38 //----------------------------------------------------------------------------
39 TTQH6_PARAMETER code CmdListReg[] =
40 {
41 {0x00,0x00,0xFF,0x10, "Chip ID &SW ID\n "}, //
42 {0x01,0x00,0xFF,0xD4, "General,D7-Xtal select1 : 16M 0 : 4M\n D2:0-GPO select 000 :0001 : 1 "},
-//
43 {0x02,0x00,0xFF,0x00, "Global Power Management (Vaild at Time Slicing Mode)\n "}, //
44 {0x03,0x00,0xFF,0x80, "General Purpose\n "}, //
45 {0x04,0x00,0xFF,0x0D, "Band Assignment\n "}, //
46 {0x05,0x00,0xFF,0x7F, "Local Power Management I\n "}, //
47 {0x06,0x00,0xFF,0x00, "Local Power Management II\n "}, //
48 {0x07,0x00,0xFF,0x00, "Local Power Management III\n "}, //
49 {0x08,0x00,0xFF,0x02, "Signal Chain Configure I\n "}, //
50 {0x09,0x00,0xFF,0x4E, "Signal Chain Configure II\n "}, //
51 {0x0A,0x00,0xFF,0x59, "Signal Chain Configure III\n "}, //
52 {0x0B,0x00,0xFF,0x8D, "Signal Chain Configure IV\n "}, //
53 // {0x0C,0x00,0xFF,? "Signal Chain Configure V\n "}, //
54 // {0x0D,0x00,0xFF, ? ""}, //
C51 COMPILER V8.02 C8051F340 09/12/2007 10:54:10 PAGE 2
55 // {0x0E,0x00,0xFF, ? ""}, //
56 {0x0F,0x00,0xFF,0x01, "PLL Frequency I\n "}, //
57 {0x10,0x00,0xFF,0x17, "PLL Frequency II\n "}, //
58 {0x11,0x00,0xFF,0x04, "PLL Frequency III\n "}, //
59 {0x12,0x00,0xFF,0x40, "PLL Frequency IV\n "}, //
60 {0x13,0x00,0xFF,0x48, "PLL Frequency V\n "}, //
61 {0x14,0x00,0xFF,0x00, "PLL Frequency VI\n "}, //
62 {0x15,0x00,0xFF,0x2A, "PLL Frequency VII\n "}, //
63 {0x16,0x00,0xFF,0xA0, "PLL Test\n "}, //
64 {0x17,0x00,0xFF,0x39, "PLL & SAR Configuration II\n "}, //
65 {0x18,0x00,0xFF,0x1F, "PLL Configuration III\n Atune code-00000000: min gain ;11111111: max gain\n
- "}, //
66
67 };
68 //----------------------------------------------------------------------------
69 //---------------------------------------------------------------------------
70
71 void Delay(unsigned int x)
72 {
73 1 uint i, j;
74 1
75 1 for (i=0; i<x; i++)
76 1 {
77 2 for (j=0; j<0xff; j++)
78 2 {;}
79 2 }
80 1 }
81 //----------------------------------------------------------------------------
82 //---------------------------------------------------------------------------
83
84 void I2C_Delay(void)
85 {
86 1 uchar i;
87 1
88 1 for (i=0; i<10; i++)
89 1 {;}
90 1 }
91 //---------------------------------------------------------------------------
92 /*
93 **start
94 ** ________
95 **SCL \______
96 ** ____
97 **SDA \__________
98 **
99 */
100 void I2C_Start(void)
101 {
102 1 SCL = 0;
103 1 I2C_Delay();
104 1 I2C_Delay();
105 1 SDA = 1;
106 1 I2C_Delay();
107 1 SCL = 1;
108 1 I2C_Delay();
109 1 SDA = 0;
110 1 I2C_Delay();
111 1 SCL = 0;
112 1 }
113 //----------------------------------------------------------------------------
114 /*
115 **stop
C51 COMPILER V8.02 C8051F340 09/12/2007 10:54:10 PAGE 3
116 ** _______
117 **SCL ____/ -------
118 ** ____
119 **SDA _______/ ----
120 **
121 */
122 void I2C_Stop(void)
123 {
124 1 SCL = 0;
125 1 I2C_Delay();
126 1 SDA = 0;
127 1 I2C_Delay();
128 1 SCL = 1;
129 1 I2C_Delay();
130 1 while(SCL != 1) SCL = 1;
131 1 SDA = 1;
132 1 I2C_Delay();
133 1 }
134 //----------------------------------------------------------------------------
135 void I2C_Write_Byte(uchar dat)
136 {
137 1 uchar i;
138 1
139 1 for (i=0; i<8; i++)
140 1 {
141 2 SDA = (bit)(dat & 0x80);
142 2 I2C_Delay();
143 2 SCL = 1;
144 2 dat <<= 1;
145 2 I2C_Delay();
146 2 SCL = 0;
147 2 }
148 1 SDA = 1;
149 1 I2C_Delay();
150 1 }
151 //----------------------------------------------------------------------------
152 uchar I2C_Read_Ack(void)
153 {
154 1 SCL = 1;
155 1 do
156 1 {
157 2 SDA = 1;
158 2 }while (SDA != 0);
159 1 SCL = 0;
160 1
161 1 return(0);
162 1 }
163 //----------------------------------------------------------------------------
164 uchar I2C_Read_Byte(void)
165 {
166 1 uchar i, dat;
167 1
168 1 SDA = 1;
169 1 SCL = 1;
170 1 while(SCL != 1)
171 1 {
172 2 SCL = 1;
173 2 }
174 1
175 1 for (i=0; i<8; i++)
176 1 {
177 2 SCL = 1;
C51 COMPILER V8.02 C8051F340 09/12/2007 10:54:10 PAGE 4
178 2 I2C_Delay();
179 2 dat <<= 1;
180 2 dat |= (char)SDA;
181 2 SCL = 0;
182 2 }
183 1 SDA = 1;
184 1 I2C_Delay();
185 1 SCL = 1;
186 1 I2C_Delay();
187 1 SCL = 0;
188 1 return(dat);
189 1 }
190 //----------------------------------------------------------------------------
191 //---------------------------------------------------------------------------
192
193 uchar Read_TTQH6(uchar register_address)
194 {
195 1 uchar dat;
196 1
197 1 //I2C_Stop();
198 1 I2C_Start();
199 1 I2C_Write_Byte(0xC4); // 器件寫(xiě)地址
200 1 I2C_Read_Ack();
201 1 I2C_Write_Byte(register_address); // 寄存器地址
202 1 I2C_Read_Ack();
203 1 I2C_Stop();
204 1
205 1 I2C_Start();
206 1 I2C_Write_Byte(0xC5); //器件讀地址
207 1 I2C_Read_Ack();
208 1 dat = I2C_Read_Byte();
209 1 //I2C_Write_Ack(); //數(shù)據(jù)已從TTQH6中讀出不用再理會(huì)回傳應(yīng)答
210 1 I2C_Stop();
211 1
212 1 return(dat);
213 1 }
214 //----------------------------------------------------------------------------
215 void Write_TTQH6(uchar register_address,uchar value)
216 {
217 1
218 1 //I2C_Stop();
219 1 I2C_Start();
220 1 I2C_Write_Byte(0xC4); // 器件寫(xiě)地址
221 1 I2C_Read_Ack();
222 1 I2C_Write_Byte(register_address); // 寄存器地址
223 1 I2C_Read_Ack();
224 1 I2C_Write_Byte(value); // 寫(xiě)數(shù)據(jù)
225 1 I2C_Stop();
226 1
227 1 }
228 //----------------------------------------------------------------------------
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -