- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于VC和AD7545波形发生器设计
基于VC和AD7545波形发生器设计
[摘 要]本文主要介绍的是基于AD7545的波形发生器的上层软件的策划,开发,构思以及程序的设计,调试等工作。本软件是通过用户输入所需要的波形的振幅周期、振幅、偏移量,以及波形类型和与该波形相关等数据进行处理,实现波形在计算机屏幕上的显示,并且在对波形进行数据采集后,通过RS-232-C向下层单片机/测试设备进行发送。
[关键词]AD7545,波形发生器,数据采集,RS-232-C
中图分类号:TM935 文献标识码:A 文章编号:1009-914X(2016)09-0002-01
1 引言
随着电子技术的发展,在通信、测量、仪器仪表和控制等领域的信号处理系统中,经常要使用到正弦波以及其他波形发生器。但在很多地方,如测试测量领域,需要输出的波形能够精确地定位在某一整数值上,通常由于ADC参考电平的限制,使之很难达到所需的精度,给系统的调试及软件设计带来诸多不便。为此就要求设计出一种精度较高的波形发生器来满足工作发展的需求。
2 程序的设计和构思
2.1设计的总体思路
基于Windosw9X/NT/2000/XP 平台用VC 编写可视化人机交互界面的软件,完成的功能包括:(1)允许用户编辑、绘制所需波形;(2)设置输出信号的幅度、频率;(3)通过RS232 口将数据送给单片机/测试设备。
2.2程序流程图
3 源程序的设计
3.1 GDI坐标系的映射
在绘图时需要一个参照坐标,以便确定图形的位置或文本的绘制位置。Windows的坐标系分为逻辑坐标和设备坐标两种,GDI支持这两种坐标系。一般而言,GDI的文本和图形输出函数使用逻辑坐标,而在客户区移动或按下鼠标所得到的鼠标位置设备坐标。逻辑坐标系是面向环境的坐标系,这种坐标不考虑具体的设备类型,而在实验绘图是,Windows会根据当前映射模式将逻辑坐标系转换为设备坐标。
逻辑坐标映射关系:设备(视口)坐标=逻辑坐标-窗口原点坐标+视口原点坐标
3.2图形设备的初始化
CRect rectClient;
GetClientRect(rectClient); //得到客户区
pDC-SetMapMode(MM_ANISOTROPIC);//映射模式设顶为MM_ANISOTROPIC
pDC-SetWindowExt(1000,1000);//定义逻辑窗口
pDC-SetViewportExt(rectClient.right,-rectClient.bottom);
//定义输出视口
pDC-SetViewportOrg(rectClient.left,rectClient.bottom/2);
//设置视口原点
3.3坐标系的绘制
pDC-MoveTo(0,0);
pDC-LineTo(1000,0);//X轴坐标
pDC-MoveTo(500,500);
pDC-LineTo(500,-500);//Y轴坐标
3.4波的绘制(以正弦波为例)
正弦波的绘制是比较简单的,因为C++的MATH库函数.中已经有了SIN这个函数的定义所以相对方波和三角波要简单的多。要做的只需将振幅,周期以及偏移量三个数值加入就好。然后再逐段画出波形就好。
Xpoint=0; //X轴的初始化
Ypoint=0; //Y轴的初始化
Xpoint1=0;
Ypoint1=0;
while(jishuqi=1000)
{
jishuqi++;
Xpoint=(int)jishuqi; //当前X轴的计算
Ypoint=(int)(sin(jishuqi/pinlv)*zhenfu); //当前Y轴的计算
pDC-MoveTo(Xpoint1,Ypoint1+(int)piancha);
pDC-LineTo(Xpoint,Ypoint+(int)piancha); //画出当前线段
Xpoint1=Xpoint;
Ypoint1=Ypoint;
由于篇幅原因,至于三角波、方波等不这一一的介绍。
3.5数据的传输
使用MSComm控件属性:(1).CommPort:设置或传回通信连接端口代号;(2)Settings:设置初始化参数。以字符串的形式设置或传回连接速度、奇偶校验、数据位、停止位等4个参数;(3)PortOpen:设置或传回通信连接端口的状态?;(4)Input:从输入寄存器传回并移除字符;(5)Output:将一个字符串写入输出寄存器;(6)InputLen:指定由串行端口读入的字符串长度;?(7)
您可能关注的文档
最近下载
- 2006-2020 年全国地震重点监视防御区基本情况统计.pdf VIP
- 英国药典.PDF VIP
- 第4章 光机系统结构设计04.pdf VIP
- 2025年广西电网公司广西送变电建设有限责任公司第二批社会招聘5人笔试模拟试题及答案解析.docx VIP
- 桉树种植施工方案模板.docx VIP
- 生物工程生物技术专英语翻译(一).doc VIP
- 2024-2025学年广东省深圳中学高二(上)期中数学试卷(A卷)(含答案).pdf VIP
- 《逻辑学》(第二版) 第11章 - 逻辑基本规律思维的.pptx VIP
- 测绘地理信息安全保障措施和管理制度.docx VIP
- 第4章 光机系统结构设计05.pdf VIP
文档评论(0)