C51 COMPILER V6.23a AD9833 03/31/2011 10:38:43 PAGE 1 C51 COMPILER V6.23a, COMPILATION OF MODULE AD9833 OBJECT MODULE PLACED IN ad9833.OBJ COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ad9833.c BROWSE DEBUG OBJECTEXTEND stmt level source 1 //---------------------------------------------------// 2 //AD9833模块测试程序 3 //功能:循环输出1KHz方波,正弦波。三角波 4 //版本:V2.0 5 //日期:2011-3-25 6 //作者:无风电子 7 //博客:http://blog.ednchina.com/wufeng_dz/ 8 //邮箱:wufeng_dz@163.com 9 //接口:DAT --> P1.0 10 // CLK --> P1.1 11 // FNC --> P1.2 12 //---------------------------------------------------// 13 //定义头文件 14 # include 15 # include 16 # include 17 //---------------------------------------------------// 18 sbit ad9833_sdata =P1^0; 19 sbit ad9833_sclk =P1^1; 20 sbit ad9833_fsync =P1^2; 21 //---------------------------------------------------// 22 //延时程序 23 //---------------------------------------------------// 24 void delay(unsigned int m) 25 { 26 1 unsigned int n; 27 1 for (n=0;n<=m;n++) 28 1 { 29 2 } 30 1 } 31 //---------------------------------------------------// 32 //向AD9833写16位数据 33 //---------------------------------------------------// 34 void write_ad9833_d16(unsigned int x) 35 { 36 1 int i,w; 37 1 ad9833_sclk=1; 38 1 ad9833_fsync=1; 39 1 ad9833_fsync=0; 40 1 //写16位数据 41 1 w=x; 42 1 for(i=0;i<16;i++) 43 1 { 44 2 ad9833_sdata=w&0x8000; 45 2 ad9833_sclk=0; 46 2 ad9833_sclk=1; 47 2 w=w<<1; 48 2 } 49 1 ad9833_fsync=1; 50 1 ad9833_sclk=0; 51 1 } 52 //---------------------------------------------------// 53 // 主程序 // 54 //---------------------------------------------------// 55 main() C51 COMPILER V6.23a AD9833 03/31/2011 10:38:43 PAGE 2 56 { 57 1 P0=0XFF; 58 1 P1=0XFF; 59 1 P2=0XFF; 60 1 P3=0XFF; 61 1 while(1) 62 1 { 63 2 delay(100000); 64 2 delay(100000); 65 2 delay(100000); 66 2 delay(100000); 67 2 delay(100000); 68 2 delay(100000); 69 2 delay(100000); 70 2 delay(100000); 71 2 //寄存器频率0输出1KHz波形 72 2 write_ad9833_d16(0x0100); //复位AD9833 73 2 write_ad9833_d16(0x2100); //选择数据一次写入 74 2 write_ad9833_d16(0x69F1); //L14 75 2 write_ad9833_d16(0x4000); //H14 频率寄存器0为1KHz 76 2 write_ad9833_d16(0x93E3); //L14 77 2 write_ad9833_d16(0x8001); //H14 频率寄存器1为2KHz 78 2 write_ad9833_d16(0x2000); //芯片进入工作状态,寄存器频率0输出1KHz波形 79 2 //寄存器频率1输出2KHz波形 80 2 delay(100000); 81 2 delay(100000); 82 2 delay(100000); 83 2 delay(100000); 84 2 delay(100000); 85 2 delay(100000); 86 2 delay(100000); 87 2 delay(100000); 88 2 write_ad9833_d16(0x2800); 89 2 //寄存器频率0输出1KHz三角波波形 90 2 delay(100000); 91 2 delay(100000); 92 2 delay(100000); 93 2 delay(100000); 94 2 delay(100000); 95 2 delay(100000); 96 2 delay(100000); 97 2 delay(100000); 98 2 write_ad9833_d16(0x2002); 99 2 //寄存器频率0输出1KHz方波波形 100 2 delay(100000); 101 2 delay(100000); 102 2 delay(100000); 103 2 delay(100000); 104 2 delay(100000); 105 2 delay(100000); 106 2 delay(100000); 107 2 delay(100000); 108 2 write_ad9833_d16(0x2020); 109 2 110 2 } 111 1 } MODULE INFORMATION: STATIC OVERLAYABLE CODE SIZE = 172 ---- CONSTANT SIZE = ---- ---- XDATA SIZE = ---- ---- C51 COMPILER V6.23a AD9833 03/31/2011 10:38:43 PAGE 3 PDATA SIZE = ---- ---- DATA SIZE = ---- ---- IDATA SIZE = ---- ---- BIT SIZE = ---- ---- END OF MODULE INFORMATION. C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)