数字示波器-电子设计大赛报告.pdf

上传人:飞****9 文档编号:137596959 上传时间:2020-07-09 格式:PDF 页数:15 大小:158.89KB
返回 下载 相关 举报
数字示波器-电子设计大赛报告.pdf_第1页
第1页 / 共15页
数字示波器-电子设计大赛报告.pdf_第2页
第2页 / 共15页
数字示波器-电子设计大赛报告.pdf_第3页
第3页 / 共15页
数字示波器-电子设计大赛报告.pdf_第4页
第4页 / 共15页
数字示波器-电子设计大赛报告.pdf_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《数字示波器-电子设计大赛报告.pdf》由会员分享,可在线阅读,更多相关《数字示波器-电子设计大赛报告.pdf(15页珍藏版)》请在金锄头文库上搜索。

1、数字示波器 摘要 本文的设计方案是以单片机 89S52 和模数转换器为核心, 给出了其硬件和 软件设计的结构及实现思路。系统分为四部分:输人电路部分、触发电路部分、 取样保持电路、控制电路部分。输入电路采用电压跟随器;触发电路由高速比较 器构成,用于采集信号的同步;控制电路应用单片机来控制。单片机提供了很好 的人机界面。整个系统模块化程度高,接口明确,易于扩展,可靠性高。 一总体方案设计: 总体方框图已由题目给出如图 1-1 所示,现就具体论证方案进行分析。 方案一:纯单片机方式。即由单片机、AD 转换和存储器等组成系统。这 种方案要求单片机除了完成基本处理分析外,还需要完成信号的采集、存储、

2、 显 示等控制与变换工作。其优点在与系统规模较小,灵活性较高。 方案二:FPGACPLD 或带有 IP 核的 FPGACPLD 方式。即用 FPGACPLD 完 成采集、存储、显示及 AD、DA 等功能,由 IP 核实现人机交互及信号测量分 析等功能。这种方案的优点在于系统结构紧凑、可以实现复杂测量与控制、操作 方便;缺点是调试过程繁琐。 方案三:单片机与 CPLD 结合方式。即用单片机完成人机界面、系统控制、 信号分析、处理、变换,用 CPLD 完成采集控制逻辑及显示控制逻辑。 基于所用系统板的局限性,本设计只实现了题目的部分要求。本系统采用方 案一纯单片机方式,采用单片机作为数据处理及控制

3、核心。 二理论分析与参数计算: 1通道调理电路增益 输入调理电路的作用是将输入信号调整到适合 AD 转换的范围。取 ADC 的基准 为 5V,则示波器幅度轴上的格对应。既 0.625V/div. 、存储深度 根据报告要求实现存储深度为 200 个点,本设计由于 128-64 液晶的局限性,我 们的存储深度为 128 个点。 、A/D 的选择 报告要求 A/D 转换器最高采样速率限定为 1MSa/s,高速 A/D7822 能够达到M/s 的采样速率,由于市场货源短缺,本设计利用 A/D0809 进行数据的采集,存储到 系统板上的 6264. 三单元模块设计: 、 输入电路: 根据题目要求垂直灵敏

4、要求含 1V/div、0、1V/div、2mV/div。 方案一:采用 OP07 对电压电流信号进行放大,见下图所示: 利用开关选择不同的端口可得到不同的放大倍数, 满足对不同的垂直灵敏度的放 大要求。这种方案简单易行。 方案二:采用 DA 芯片 DAC0830 和精密低噪运放 OP07 组成程控运放模块,由单 片机控制其放大倍数。它可以实现以 10 倍为 1 挡的灵敏度调节。这种方法适合 在输出电压幅度较低,对于大信号来说噪声和零漂可能会造成误差。 本系统采用方案一。 、取样与保持电路: 方案一:采用高速宽屏的 AD781,实现信号的取样与保持。见下图所示:通过控 制 7 端口的高低电位,进

5、行数据的处理。 方案二:采用如下电路,利用两个缓冲放大器实现,当开关闭合时,信号输入 A1,通过开关对电容进行充放电。而当开关断开时保持在电容上的电压就不在变 化,缓冲放大器 A2 进行输出。 本系统采用方案一: 、触发电路: 如下图所示,触发电路采用内触发方式。电路实现将正弦信号转换成脉冲信号, 利用定时器上升沿触发,测量出所得信号的频率。同相端有电位器实现触发电 路可调。 四、软件设计: 程序全部由 C 语言编程,可实现液晶显示功能。在 keil7.0 环境下编译, 用 伟福 E6000/S 仿真器调试。 主程序外部中断程序外部中断程序 五、系统测试: 结束 开始 关闭外部中断 启动定时器

6、 测量频率 开外部中断 开始 取样保持 频率测量 初始化 转换 图形显示 结束 开始 关闭外部中断 测量电压峰值 开外部中断 存储数据 启动转换 、测试仪器:DF1642B1 信号发生器、VC9801A+数字万用表、通用模拟发生器、 DS1062C 数字示波器。 、电路输入阻抗达到。 、数据测试: 信号峰峰值/v1.722.122.563.20 垂直灵敏度div 测试值1.662.072.453.52 误差3.52.36%7.55%10.0% 频率测量值/HZ1298989156 垂直灵敏度1div 测试值1308990155 误差0.78%01.12%0.64% 、本测量的低频小信号液晶显示

7、无明显失真。 六、设计总结: 本次设计不仅提高了我们解决实际问题和突发事件的能力, 而且使我们深刻 体会到团队精神的重要性,让我们受益匪浅。通过大赛不仅掌握了有关的电子电 路设计基本技术,同时也锻炼了自身的动手能力。 本设计实现了报告的一些基本要求, 对于频率高的部分由于受到系统板的局 限和所用芯片的精度的限制,高频部分没有实现。低频的液晶显示能够很好的完 成,本设计的不足之处在于,没有考虑到电路本身对输入信号的干扰,也没有考 虑不同放大系数所引起的误差。 附录:系统控制总程序 #include #include #include sbit RS=P14; sbit RW=P15; sbit

8、E=P16; sbit PSB=P17; #define PA8255 XBYTE0 x3FFC /8255 A 口地址 #define COM8255 XBYTE0 x3FFF /8255 控制口地址 #define PB8255 XBYTE0 x3FFD/8255 B 口地址 #define PC8255 XBYTE0 x3FFE/8255 C 口地址 unsigned char COM,DAT; int MAX,time; sbit F_in=P10;/测量频率管脚 bit int_flag; unsigned int frequency; unsigned char t1,t2; un

9、signed char COUNT;/记录采样数据为 0 x80-0 x83 范围的次数 char xdata *p; char xdata *px; char xdata *p1; char xdata *p2; unsigned char code DAB1=0 x81,0 x7C,0 x7C,0 x00, 0 x81,0 x44,0 x44,0 x10, 0 x42,0 x44,0 x44,0 x00, 0 x42,0 x7C,0 x7C,0 x00, 0 x24,0 x40,0 x40,0 x00, 0 x24,0 x40,0 x40,0 x00, 0 x18,0 x40,0 x40,

10、0 x10, 0 x08,0 x40,0 x40,0 x00; /显示VPP: unsigned char code TAB0128= 0 x3C,0 x24,0 x24,0 x24,0 x24,0 x24,0 x3C,0 x00, 0 x10,0 x30,0 x10,0 x10,0 x10,0 x10,0 x7C,0 x00, 0 x7C,0 x44,0 x04,0 x3C,0 x20,0 x20,0 x3C,0 x00, 0 x7C,0 x44,0 x04,0 x3C,0 x04,0 x04,0 x7C,0 x00, 0 x08,0 x18,0 x18,0 x28,0 x28,0 x48,

11、0 x7E,0 x08, 0 x38,0 x20,0 x3C,0 x02,0 x02,0 x24,0 x18,0 x00, 0 x3E,0 x20,0 x20,0 x3E,0 x22,0 x22,0 x3E,0 x00, 0 x3C,0 x24,0 x04,0 x04,0 x04,0 x04,0 x04,0 x00, 0 x3C,0 x24,0 x24,0 x3C,0 x24,0 x24,0 x3C,0 x00, 0 x7C,0 x44,0 x44,0 x7C,0 x04,0 x04,0 x3C,0 x00, 0 x24,0 x24,0 x24,0 x3C,0 x24,0 x24,0 x24,

12、0 x00, 0 x00,0 x00,0 x7C,0 x08,0 x10,0 x20,0 x7C,0 x00, ; /0,1,2,3,4,5,6,7,8,9,H,z unsigned char code POINT=0 x00,0 x00,0 x00,0 x00,0 x00,0 x20,0 x20,0 x00;/显示. unsigned char xdata NUM128_at_ 0 x0000; unsigned char xdata DAB1024_at_ 0 x0100; void clearmemIO(void);/初始化子程序 void clean(void); void displ

13、ay(unsigned char code *P,unsigned char M); / 显示汉子程序 void display2(unsigned char xdata *pt,unsigned char n,unsigned char X);/ 显示图形子程序 void AD(void);/AD 转换子程序 void ZHUANHUAN(void);/把 AD 采集的数据转换为液晶能够显示的数据 void delay (unsigned char n);/延时程序 void delay1(unsigned char n);/长延时子程序 void Measure_T(void); void

14、 WRI(void); / 写指令子程序 void WRD(void); / 写数据子程序 void main() unsigned char i,l,DAT1,DAT2,DAT3,DAT4; unsigned char N1,N2,N3,N4,N5; int j,time2,time3,time4; MAX=0 x0000; /存储采样的最大值 COUNT=0 xFF; px=0 x0000; delay1(5); DAT1=0 x00; p=0 x0100; for(j=0;j1024;j+) /将液晶能够显示的数据预先全部清零 *p=DAT1; delay(50); p+; clean(

15、); AD(); EX1=1; while(1) Measure_T(); /*以上为周期转化为频率 if(px=0 x0080) COM=0 x01; WRI(); delay(200); ZHUANHUAN();/把128个数据装换成液晶能够显示的1024个数据, 并存储 for(l=0;l8;l+) p=0 x0100+16*l; for(i=4*l;i4+4*l;i+) *p=DAB1i; p+; MAX*=5; DAT2=MAX/255;/存放整数位 DAT3=MAX%255; MAX=DAT3*10; DAT3=MAX/255; /存放第 1 个小数位 DAT4=MAX%255;

16、MAX=DAT4*10; DAT4=MAX/255; /存放第 2 个小数位 MAX=0 x0000; for(l=0;l8;l+)/把峰值电压数据转换成液晶能够显示的数 据 p=0 x0104+16*l; *p=TAB0DAT2l; p+; *p=POINTl; p+; *p=TAB0DAT3l; p+; *p=TAB0DAT4l; /* time=frequency; N1=time/10000; time2=time%10000; N2=time2/1000; time3=time2%1000; N3=time3/100; time4=time3%100; N4=time4/10; N5=time4%10; for(l=0;l8;l+)/把频率数据转换成液晶能够显示的数据 p=0 x0480+16*l; *p=TAB0N1l; p+; *

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 管理论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号