9127|8

3

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

急切需要您的帮助 [复制链接]

能产生三角波、锯齿波、正弦波、阶梯波、方波5种波形图 的信号发生器的  程序需要怎么编写啊!
   那位大虾 帮忙小弟啊    谢谢啦  
我的信箱是guoyong315@163.com

此帖出自单片机论坛

最新回复

查表法是最好的。 把一个周期的波形点数据保存成表,然后根据时间查表。 输出这个数据,外界da,实现波形。 这就是dds的原理。  详情 回复 发表于 2007-4-12 13:48
点赞 关注
 

回复
举报

449

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

Re: 急切需要您的帮助

目前水平还写不了,别处copy过来的哦,见凉啊^_^ 只有三种波的@_@ #include #define DA0832 XBYTE[0Xa000] #define uchar unsigned char #define S1 XBYTE[0X0000] #define S2 XBYTE[0X2000] #define S3 XBYTE[0X4000] uchar code tab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar code tosin[256]={0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5 ,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5 ,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd ,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda ,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99 ,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51 ,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16 ,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02 ,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15 ,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e ,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80 }; uchar fun=0,b=0,c=0,d=0,tl,th; void key1(void); void key2(void); void key3(void); void key4(void); void judge(void); void main(void) { TMOD=0X01; TR0=1; th=0xff; tl=0xd0; TH0=th; TL0=tl; ET0=1; EA=1; while(1) { judge(); } } void judge(void) { uchar line,row,de1,de2,keym; P1=0x0f; keym=P1; if(keym==0x0f)return; for(de1=0;de1<200;de1++) for(de2=0;de2<125;de2++){;} P1=0x0f; keym=P1; if(keym==0x0f)return; P1=0x0f; line=P1; P1=0xf0; row=P1; line=line+row;/*存放特征键值*/ if(line==0xde)key1(); if(line==0x7e)key2(); if(line==0xbd)key3(); if(line==0x7d)key4(); } void key1(void) //1键选择发波类型,1为正弦波,2为三角波,3为方波 { fun++; if(fun==4)fun=0x00; } void key2(void) //2键加大频率 { tl++; if(tl==0x1f)th++; } void key3(void) //3键减小频率 { tl--; if(tl==0x00)th--; } void key4(void) //4键显示频率 { double t; int f; TR0=0;//ET0的区别 t=(65535-th*256-tl)*0.4; f=(int)(1000/t); S3=tab[f%10]; f=f/10; S2=tab[f%10]; f=f/10; if(f==0)S1=0; else S1=tab[f]; TR0=1; } void time0_int(void) interrupt 1 //中断服务程序 { TR0=0; if(fun==1) { DA0832=tosin; //正弦波 b++; } else if(fun==2) //三角波 { if(c<128)DA0832=c; else DA0832=255-c; c++; } else if(fun==3) // 方波 { d++; if(d<=128)DA0832=0x00; else DA0832=0xff; } TH0=th; TL0=tl; TR0=1; }
此帖出自单片机论坛
 
个人签名世界是个圈,人生也是个圈。
 

回复

1759

帖子

0

TA的资源

裸片初长成(高级)

板凳
 

Re: 急切需要您的帮助

三角波、锯齿波、正弦波、阶梯波、方波 使用单片机+DA(选型可根据具体的精度要求就可以了) 使用查表的形式 可分别根据电压的波形计算出相应的数据 里用查表的形式输出就可以了
此帖出自单片机论坛
 
个人签名南京璞晓电子   www.cpx0.com需要
msn:njlianjian@hotmail.com
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

4
 

Re: 急切需要您的帮助

我是楼主。。。 有没有汇编的程序? C#的我看的不大懂 或者QC的 目前我只能看懂汇编的 抱歉啊
此帖出自单片机论坛
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

5
 

Re: 急切需要您的帮助

感谢滨头的大力支持啊!!
此帖出自单片机论坛
 
 
 

回复

1284

帖子

0

TA的资源

五彩晶圆(中级)

6
 

Re: 急切需要您的帮助

有专门的芯片啊。。。
此帖出自单片机论坛
 
个人签名呼呼...在校应届大四学生,代做电子类毕业设计(测量类、仪器类、控制类、无线通信类、电子产品类、界面设计类、纯论文类等等,一一俱全)。涉及各种单片机软硬件设计、电路模拟分析、FPGA、CPLD、ARM7/ARM9、LINUX、VB/VC++/QT界面等等。包过。。。欢迎咨询。Tel:13957160506。QQ:273437087
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

7
 

Re: 急切需要您的帮助

芯片?我想要程序的 芯片对我来说没用啊 恳请大峡们在次出手
此帖出自单片机论坛
 
 
 

回复

1284

帖子

0

TA的资源

五彩晶圆(中级)

8
 

Re: 急切需要您的帮助

程序直接给你是不可能的,这程序比较庞大。。。全做完的就是一种专业技术了肯定没人给的,呵呵
此帖出自单片机论坛
 
个人签名呼呼...在校应届大四学生,代做电子类毕业设计(测量类、仪器类、控制类、无线通信类、电子产品类、界面设计类、纯论文类等等,一一俱全)。涉及各种单片机软硬件设计、电路模拟分析、FPGA、CPLD、ARM7/ARM9、LINUX、VB/VC++/QT界面等等。包过。。。欢迎咨询。Tel:13957160506。QQ:273437087
 
 

回复

141

帖子

0

TA的资源

一粒金砂(初级)

9
 

Re: 急切需要您的帮助

查表法是最好的。 把一个周期的波形点数据保存成表,然后根据时间查表。 输出这个数据,外界da,实现波形。 这就是dds的原理。
此帖出自单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表