




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用DDS AD9854产生各种波形程序集本程序集包含以下波形的程序:正弦波,三角波,AM调制,FM调制,ASK调制,PSK调制,FSK调制最后还有一个包含 12864 液晶显示、 7290 键盘控制的可以输出 正弦波,三角波,方波(由单片机产生),AM调制,FM调制,ASK调 制和PSK调制的一个DDS函数发生器的综合系统。这些程序都是本人写的,单片机用的是TI的msp430f247,这些程序都经过精心调试,并都已调试成功。希望这些程序能给需要的朋友一定的帮助。头文件【】:#define PAR1_H 0x00send_data('5');elseif(pow_10>=1
2、00)send_data(0x30+p2);send_data(0x30+p1);send_data('.');send_data(0x30+p0);send_data('d');send_data('B');send_data('m');send_data(0x20);send_data('5');elseif(pow_10>=100)send_data(0x30+p2);send_data(0x30+p1);send_data('.');send_data(0x30+p0);send_da
3、ta('d');send_data('B');send_data('m');send_data(0x20);set_xy(0,4);send_data(0xb2); /send_data(0xbd);send_data(0xbd); /send_data(0xf8);send_data(0xa3); /send_data(0xba);set_xy(7,2);send_data(0x11);set_xy(3,2);#pragma vector=PORT1_VECTOR _interrupt void key_int(void)if(!(P1IFG
4、& BIT7)P1IFG = 0;return;ap=0;P1IFG = 0;key_press = 1;#pragma vector = USCIAB0TX_VECTOR_interrupt void I2C_RX(void)if(IFG2 & UCB0RXIFG)key_code = UCB0RXBUF; / 接收中断#pragma vector=TIMERA0_VECTOR _interrupt void Timer_A (void)if(M=3)if(ap)P3OUT &= BIT0;/ Toggleap=0;send_byte(OSKI_2,0X00);sen
5、d_byte(OSKI_1,0X00);elseP3OUT |= BIT0;ap=1;send_byte(OSKI_2,0XFF);send_byte(OSKI_1,0X0F);if(M=4)if(ap)ctr_out&=FBH;ap=0;elsectr_out|=FBH;ap=1;#pragma vector=ADC12_VECTOR _interrupt void adc12()if(M=1)samp=ADC12MEM0;dc=(1-A)*0XFFF/(1+A);ac=2*A*samp/(1+A);ATW=dc+ac;send_byte(OSKI_2,ATW/0x100);send
6、_byte(OSKI_1,ATW%0x100);else if(M=2)samp=ADC12MEM0;if(samp>0x7ff)am=samp-0x7ff;per=am*0x10000/0x7ff; /per-long int;scal=0x10000;&&while(pp3>0x0f && per>=0x600)per/=0x10;scal/=0x10;while(pp3<0x10 per>=0x1000)per/=0x10;scal/=0x10;MPY=pp1;OP2=per;_NOP();_NOP();spp1=RESLO;
7、c=RESHI;MPY=pp2;OP2=per;_NOP();_NOP();spp2=RESLO;spp2=spp2+c;c=RESHI;MPY=pp3;OP2=per;_NOP();_NOP();spp3=RESLO;spp3=spp3+c;switch(scal)case 0x10000:spp1=spp2;spp2=spp3;spp3=0x0000;break;case 0x1000:spp1=spp1/0x1000+(spp2%0x1000)*0x10;spp2=spp2/0x1000 +(spp3%0x1000)*0x10;spp3=spp3/0x1000;break;case 0x
8、100:spp1=spp1/0x100+(spp2%0x100)*0x100;spp2=spp2/0x100+(spp3%0x100)*0x100;spp3=spp3/0x100;break;case0x10:spp1=spp1/0x10+(spp2%0x10)*0x1000;spp2=spp2/0x10+(spp3%0x10)*0x1000;spp3=spp3/0x10;send_byte(FTW1_1,ftw_1+spp1%0x100);send_byte(FTW1_2,ftw_2+spp1/0x100);send_byte(FTW1_3,ftw_3+spp2%0x100);send_by
9、te(FTW1_4,ftw_4+spp2/0x100);send_byte(FTW1_5,ftw_5+spp3%0x100);send_byte(FTW1_6,ftw_6+spp3/0x100);elseam=0x7ff-samp;per=am*0x10000/0x7ff; /per-long int;scal=0x10000;&&while(pp3>0x0f && per>=0x600)per/=0x10;scal/=0x10;while(pp3<0x10 per>=0x1000)per/=0x10;scal/=0x10;MPY=pp1
10、;OP2=per;_NOP();_NOP();spp1=RESLO;c=RESHI;MPY=pp2;OP2=per;_NOP();_NOP();spp2=RESLO;spp2=spp2+c;c=RESHI;MPY=pp3;OP2=per;_NOP();_NOP();spp3=RESLO;spp3=spp3+c;switch(scal)case 0x10000:spp1=spp2;spp2=spp3;spp3=0;break;case 0x1000:spp1=spp1/0x1000+(spp2%0x1000)*0x10;spp2=spp2/0x1000+(spp3%0x1000)*0x10;sp
11、p3=spp3/0x1000;break;case 0x100:spp1=spp1/0x100+(spp2%0x100)*0x100;spp2=spp2/0x100+(s pp3%0x100)*0x100;spp3=spp3/0x100;break;case 0x10:spp1=spp1/0x10+(spp2%0x10)*0x1000;spp2=spp2/0x10+(spp3 %0x10)*0x1000;spp3=spp3/0x10;ftw11=0x100+ftw_1-spp1%0x100;ftw12=0x100+ftw_2-(0x01-ftw11/0x100)-spp1/0x100;ftw1
12、3=0x100+ftw_3-(0x01-ftw12/0x100)-spp2%0x100;ftw14=0x100+ftw_4-(0x01-ftw13/0x100)-spp2/0x100;ftw15=0x100+ftw_5-(0x01-ftw14/0x100)-spp3%0x100;ftw16=ftw_6-(0x01-ftw15/0x100)-spp3/0x100;send_byte(FTW1_1,(uchar)ftw11);send_byte(FTW1_2,(uchar)ftw12);send_byte(FTW1_3,(uchar)ftw13);send_byte(FTW1_4,(uchar)f
13、tw14);send_byte(FTW1_5,(uchar)ftw15);send_byte(FTW1_6,(uchar)ftw16);ADC12CTL0 &= ENC;/* 发送 1 字节数据 */ void send_byte(uchar add,uchar data)data_dir=0xff;ctr_out|=WR;add_out=add;/送地址_NOP();ctr_out&=WR;/拉低 WRdata_out=data;/送数据_NOP();ctr_out|=WR;/拉高 WRif(fclk)ctr_out|=UDCLK;ctr_out&=UDCLK;els
14、e delayus(5);fclk=1;/*/ /* 读取一个字节的数据 */ uchar read_byte(uchar add)uchar dat;data_dir=0x00;ctr_out|=RD;add_out=add;ctr_out&=RD;_NOP();dat=data_in;ctr_out|=RD;return dat;/*/ void send_command(unsigned char command)Data_dir = 0x00;RS_0;RW_1;E_1;while (Data_in & 0x80);Data_dir = 0xFF;E_0;RS_0;RW
15、_0;Data_out = command;E_1;_NOP();E_0;void send_data(unsigned char data)Data_dir = 0x00;RS_0;RW_1;E_1;while (Data_in & 0x80);Data_dir = 0xFF;E_0;RS_1;RW_0;Data_out = data;E_1;_NOP();E_0;/ lcd_cou nt 八二 0x01;/ if(lcd_count=1)lcd_con1con+=data;/ else lcd_x+;/* */ / 设置显示位置 xpos(116),tpos(14)*/ void
16、set_xy(unsigned char xpos,unsigned char ypos) switch(ypos) case 1: send_command(0X80|xpos);break;case 2: send_command(0X90|xpos);break;case 3: send_command(0X88|xpos);break;case 4: send_command(0X98|xpos);break;default:break;*/ / 在指定位置显示字符串/* */ void print(unsigned char x,unsigned char y,unsigned ch
17、ar* str) unsigned char lcd_temp;set_xy(x,y);lcd_temp=*str;while(lcd_temp != 0x00) send_data(lcd_temp);lcd_temp=*(+str);*写字符串 */ 写字符串子程序/xpos1取07共八列,ypos1取1 4共四行。/*/ void printstr(unsigned char xpos,unsigned char ypos,unsigned char str,unsigned char k) unsigned char n;switch (ypos) case 1: xpos |= 0x
18、80;break;/第一行case 2: xpos |= 0x90;break;/第二行case 3: xpos |= 0x88;break;/第三行case 4: xpos |= 0x98;break;/第四行default: break;send_command(xpos);/此处的Xpos已转换为LCM的显示寄存器实际地址for(n=0;n < k;n+)send_data(strn); /显示汉字时注意码值,连续两个码表示一个汉字*清屏 */ 清屏/*/ void clr_lcd(void) send_command(0x01);/send_command(0x34);/send_command(0x30);/* 数字退格键 */ void backspace()if(lcd_count=0)if(lcd_x!=0)lcd_x-;set_xy(lcd_x,lcd_y);lcd_count=0;send_data(lcd_con1-con);send_data(0x20);lcd_x-;set_xy(lcd_x,lcd_y);lcd_count=0;send_data(lcd_con1-con);elselcd_x=7;lcd_y-;set_xy(lcd_x,lcd_y);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 滑板DIY课件教学课件
- 滑坡灾害知识培训内容课件
- 疏散知识培训教案小班课件
- 滑动窗口机制课件
- 针对青少年网络成瘾行为矫正指南
- 2025年六安市人民医院护理人员招聘10人模拟试卷及答案详解1套
- 硬笔竖画课件
- 2025包头市白云鄂博矿区招聘区属国有企业工作人员模拟试卷及参考答案详解
- 历史巢湖中考试题及答案
- 南京教师编制真题及答案
- 2024年山东济南轨道交通集团有限公司招聘笔试参考题库含答案解析
- 仿生机器鱼行业规模分析
- DZ-T 0270-2014地下水监测井建设规范
- 中英文员工评估表
- β内酰胺类抗菌药物皮肤试验指导原则(2021版)
- 小学语文论文:浅谈小学六年级语文有效教学
- 学生资助政策宣传主题班会PPT
- 大一统专题复习-高中历史教学资料
- YS/T 1018-2015铼粒
- 【高等数学练习题】沈阳大学专升本自考真题汇总(附答案解析)
- 合作项目管理办法
评论
0/150
提交评论