


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用DDS AD9854产生各种波形程序集本程序集包含以下波形的程序:正弦波,三角波,AM调制,FM调制,ASK调制,PSK调制,FSK调制最后还有一个包含 12864 液晶显示、 7290 键盘控制的可以输出 正弦波,三角波,方波(由单片机产生),AM调制,FM调制,ASK调 制和PSK调制的一个DDS函数发生器的综合系统。这些程序都是本人写的,单片机用的是 TI的msp430f247,这些 程序都经过精心调试,并都已调试成功。希望这些程序能给需要的朋友一定的帮助。头文件【】:#define PAR1_H 0x00;send_data('5');elseif(pow_10>
2、;=100)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);5send_data('5');elseif(pow_10>=100)send_data(0x30+p2); send_data(0x30+p1);send_data('.');send_data(0x30+p0);s
3、end_data('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(voi
4、d)if(!(P1IFG & 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; / Toggle ap=0;send_byte(O
5、SKI_2,0X00);send_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,
6、ATW/0x100);send_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<0x10per>=0x1000)per/=0x10;scal/=0x10;MPY=pp1;OP2=per;_NOP();_NOP
7、();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=0x0000;break;case0x1000:spp1=spp1/0x1000+(spp2%0x1000)*0x10;spp2=spp2/0x1000 +(spp3%0x1000)*0x10;spp3=spp3/0x1000;
8、break;case0x100:spp1=spp1/0x100+(spp2%0x100)*0x100;spp2=spp2/0x100+(s pp3%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%
9、0x100);send_byte(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
10、/=0x10;MPY=pp1;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;case0x1000:spp1=spp1/0x1000+(spp2%0x1000)*0x10;spp2=spp2/0x1000 +(spp3%0
11、x1000)*0x10;spp3=spp3/0x1000;break;case0x100:spp1=spp1/0x100+(spp2%0x100)*0x100;spp2=spp2/0x100+(s pp3%0x100)*0x100;spp3=spp3/0x100;break;case0x10: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)-spp
12、1/0x100;ftw13=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(FTW
13、1_4,(uchar)ftw14);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&=UDCL
14、K;else 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 A= 0x01;/ if(lcd_count=1)lcd_con1con+=data;/ else lcd_x+;/*/ 设置显示位置 xpos(116),tpos(14)/*/void set_x
16、y(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 char* str) un
17、signed char lcd_temp; set_xy(x,y);lcd_temp=*str;while(lcd_temp != 0x00) send_data(lcd_temp);lcd_temp=*(+str);写字符串*/*/ 写字符串子程序/xposl取07共八列,yposl取1 4共四行/*/ void printstr(unsigned char xpos,unsigned char ypos,unsigned char str,unsigned char k) unsigned char n;switch (ypos) case 1: xpos |= 0x80;break; /
18、 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);lc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 年产540套矿用除杂筛项目可行性研究报告
- 电梯售后服务改进项目可行性研究报告
- 防暑降温急救知识培训课件
- 食品配送行业市场需求分析
- 智慧城市建设对房地产市场的影响
- 消瘀药物临床应用现状-洞察及研究
- 浙江省名校协作体2026届高三上学期开学考试(一模)语文试卷(含答案)
- 山东省济南市2024-2025学年高一上学期期末学习质量检测历史试卷(含答案)
- 绿色工厂概念在皮革制品行业的应用研究-洞察及研究
- 第十三章 三角形 单元测试(含答案)2025-2026学年人教版数学八年级上册
- 建筑外观设计设计理念
- 部编人教版一年级上册道德与法治全册教案
- 乳牙根管治疗的护理配合
- 掘进支护安全培训课件
- 新概念二单词表
- 突发性耳聋演示课件
- 《雅思阅读技巧》课件
- 中医基础理论9病机课件
- 2023年全国出版专业技术人员职业资格考试出版专业基础知识(中级)试题及参考答案
- 工程结构检测与加固-3-砌体结构检测与加固
- 《影视美学教学》课件
评论
0/150
提交评论