📄 mypro.lst
字号:
127 uint CMD; // CMD= 指令 | 功能1 | 功能2|……
128 uint DATA; // DATA= 指令 | 地址 | 数据
129
130 /*=========================================================================
131 函数声明
132 =========================================================================*/
133 void Delay(uint n);
134 void WriteChar(uint ch); //向AD9835写一个字节
135 void SelDataSrc(uint selfr,uint selph); //选择相位寄存器,频率寄存器
136 void Init_9835(void);
137
138
139 /*=========================================================================
140 函数定义
141 =========================================================================*/
142 void Delay (uint n){
143 1 uint i;
144 1 while(n--)for(i=0;i<TIME_1S;i++);
145 1 }
146
147
148 void WriteChar(uint ch) //向AD9835写一个字节 下降沿发一个BIT,先发MSB
149 {
150 1 uchar i;
151 1 uint t;
152 1 t = ch;
153 1 FSYNC = 0;
154 1 for(i=0;i<15;i++)
155 1 {
156 2 SCLK = 1;
157 2 if(t&0x8000!=0)
158 2 {
159 3 SDATA = 1;
160 3 }
161 2 else
162 2 {
163 3 SDATA = 0;
164 3 }
165 2 SCLK = 0;
166 2 t = t << 1;
167 2 }
168 1 FSYNC=1;
169 1 }
170
171 void SelDataSrc(uint selfr,uint selph)
172 {
173 1 if(SELSRC){
174 2 CMD=Sel_Fre_Pha|selfr|selph; //选择相位寄存器,频率寄存器
175 2 WriteChar(CMD);
176 2 }
177 1 }
178
179 void Init_9835(void)
C51 COMPILER V8.02 MYPRO 11/30/2007 13:29:07 PAGE 4
180 {
181 1 // CMD= 指令 |功能1|功能2|功能3
182 1 CMD=CmdResClr|SLEEP|RESET|CLEAR; //复位、清零
183 1 WriteChar(CMD);
184 1
185 1 // CMD= 指令 |功能1 |功能2
186 1 CMD=CmdSynSel|SynChrTion|SelBinPin; //同步、数据源选择
187 1 WriteChar(CMD);
188 1
189 1 // DATA= 指令 | 地址 | 数据
190 1 DATA=Wrt_8_Fre|Adr_Fr0_LL|FRE0LL; //写FR0
191 1 WriteChar(DATA);
192 1 DATA=Wrt_16_Fre|Adr_Fr0_LH|FRE0LH;
193 1 WriteChar(DATA);
194 1 DATA=Wrt_8_Fre|Adr_Fr0_HL|FRE0HL;
195 1 WriteChar(DATA);
196 1 DATA=Wrt_16_Fre|Adr_Fr0_HH|FRE0HH;
197 1 WriteChar(DATA);
198 1
199 1 DATA=Wrt_8_Fre|Adr_Fr1_LL|FRE1LL; //写FR1
200 1 WriteChar(DATA);
201 1 DATA=Wrt_16_Fre|Adr_Fr1_LH|FRE1LH;
202 1 WriteChar(DATA);
203 1 DATA=Wrt_8_Fre|Adr_Fr1_HL|FRE1HL;
204 1 WriteChar(DATA);
205 1 DATA=Wrt_16_Fre|Adr_Fr1_HH|FRE1HH;
206 1 WriteChar(DATA);
207 1
208 1 DATA=Wrt_8_Pha|Adr_Ph0_L|PHA0L; //写PH0
209 1 WriteChar(DATA);
210 1 DATA=Wrt_16_Pha|Adr_Ph0_H|PHA0H;
211 1 WriteChar(DATA);
212 1
213 1 DATA=Wrt_8_Pha|Adr_Ph1_L|PHA1L; //写PH1
214 1 WriteChar(DATA);
215 1 DATA=Wrt_16_Pha|Adr_Ph1_H|PHA1H;
216 1 WriteChar(DATA);
217 1
218 1 DATA=Wrt_8_Pha|Adr_Ph2_L|PHA2L; //写PH2
219 1 WriteChar(DATA);
220 1 DATA=Wrt_16_Pha|Adr_Ph2_H|PHA2H;
221 1 WriteChar(DATA);
222 1
223 1 DATA=Wrt_8_Pha|Adr_Ph3_L|PHA3L; //写PH3
224 1 WriteChar(DATA);
225 1 DATA=Wrt_16_Pha|Adr_Ph3_H|PHA3H;
226 1 WriteChar(DATA);
227 1
228 1
229 1 SelDataSrc(SelFr0,SelPh0); //选择数据源
230 1
231 1 CMD=CmdResClr|NOSLEEP|NORESET|NOCLEAR; // 开始执行
232 1 WriteChar(CMD);
233 1
234 1 }
235
236 /*===================================================================
237 主程序
238 ===================================================================*/
239 main(){
240 1 Delay(1); //开机延时
241 1 Init_9835(); //初始化9835
C51 COMPILER V8.02 MYPRO 11/30/2007 13:29:07 PAGE 5
242 1 while(1);
243 1 }
244
245
246
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 283 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 4 2
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 + -