一种数字存储示波器

著录项
  • CN201610618595.6
  • 20160802
  • CN107677865A
  • 20180209
  • 湖南百里目科技有限责任公司
  • 不公告发明人
  • G01R13/02
  • G01R13/02

  • 湖南省长沙市天心区湘府西路229号文苑(保利花园)三期11栋606房
  • 湖南(43)
摘要
本发明专利涉及一种数字存储示波器,本发明以80C51为核心,由信号采集、数据处理、波形显示、控制面板等功能模块组成;本发明分成A/D转换部分、D/A转换部分、波形存储部分、键盘输入控制四大部分组成;本发明具有实时采样实时显示的功能,又可以对某段波形进行即时存储和连续回放显示,输出波形可以在示波器X轴上放大2倍或4倍输出显示。
权利要求

1.一种数字存储示波器,其特征在于,本发明专利涉及一种数字存储示波器,本发明以 80C51为核心,由信号采集、数据处理、波形显示、控制面板等功能模块组成。

2.根据权利要求1所述的一种数字存储示波器,其特征在于,本发明分成A/D转换部分、 D/A转换部分、波形存储部分、键盘输入控制四大部分组成。

3.根据权利要求1所述的一种数字存储示波器,其特征在于,本发明具有实时采样实时 显示的功能,又可以对某段波形进行即时存储和连续回放显示,输出波形可以在示波器X轴 上放大2倍或4倍输出显示。

4.根据权利要求1所述的一种数字存储示波器,其特征在于,本发明采用AT80C51单片 机控制系统的运行。

说明书

一种数字存储示波器

技术领域

本发明专利涉及单片机技术领域,尤其涉及一种数字存储示波器。

背景技术

大部分数字存储示波器采用DMA(直接数据存取 )方式控制采样、储存和显示数 据,解决了单片机运行速度上限造成的数据带宽瓶颈 ,同时兼作锯齿波发生器的输入数 据,简化了电路。本次设计采用单片机控制采样、存储和显示数据,采用二进制计数器产生 数据存储地址。具有示波功能,可随时锁存当前波形 。

每隔一段时间对输入的模拟信号进行采样,然后经过A/D转换,把这些数字化后的 信息按一定的顺序存入RAM中,当采样频率足够高时,就可以实现信号的不失真存储。当需 要观察这些信息时,只要以合适的频率把这些信息从存储器RAM按原顺序取出,经D/A转换 和LPF滤波后送至示波器就可以观察到稳定的还原后的波形 。

发明专利内容

本发明专利涉及一种数字存储示波器,本发明以80C51为核心,由信号采集、数据处理、 波形显示、控制面板等功能模块组成;本发明分成A/D转换部分、D/A转换部分、波形存储部 分、键盘输入控制四大部分组成;本发明具有实时采样实时显示的功能,又可以对某段波形 进行即时存储和连续回放显示,输出波形可以在示波器X轴上放大2倍或4倍输出显示。

附图说明

图1:简易DSO方框图。

具体实施方式

为了使本发明专利的目的、技术方案及优点更加清楚明白,以下结合附图及实施 例,对本发明专利进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释 本发明专利,并不用于限定本发明专利。

本发明专利涉及一种数字存储示波器,本发明以80C51为核心,由信号采集、数据 处理、波形显示、控制面板等功能模块组成;本发明分成A/D转换部分、D/A转换部分、波形存 储部分、键盘输入控制四大部分组成;本发明具有实时采样实时显示的功能,又可以对某段 波形进行即时存储和连续回放显示,输出波形可以在示波器X轴上放大2倍或4倍输出显示。

进一步的,本发明采用AT80C51单片机控制系统的运行。

进一步的,本发明的存储模块由单片机启动A/D转换,读入采集到的数据,然后转 存到RAM内,期间可以把数据送到D/A转换芯片输出。此方案设计简单,易于实现。但是在一 个采样周期内单片机要完成多个读写外部数据的操作,严重制约了数据的采样速度。考虑 到数据传输不是很快,而且是单向传输(数据存到 RAM),在没有专用DMA控制器的情况下, 单纯用单片机控制系统的数据采集和存储。

进一步的,本发明的器件清单包括:

(1)ADC0809 一片

(2)DAC0832 一片

(3)AT80C51单片机

(4)拨码开关

进一步的,按工作原理分,A/D转换器的主要种类有:逐次逼近式、双计分式、计数比较 式和并行式。ADC0809为8位逐次式、单片CMOS集成A/D转换器。主要性能:

(1)分辨率8位;

(2)精度:小于±1LSB;

(3)单+5V供电,模拟输入电压范围为0~+5V;

(4)具有锁存控制的8路输入模拟开关;

(5)可锁存三态输出,输出与TTL电平兼容;

(6)功耗为15mW;

(7)不必进行零点和满度调整;

(8)转换速度取决于芯片外接的时钟频率。时钟频率范围:10~1280kHz。

进一步的,ADC0809与单片机的接口可以采用查询方式和中断方式。在查询方式 中,由于ADC0809片内没有时钟,故利用80C51提供的地址锁存允许信号ALE经过D触发器二 分频后获得。 ALE引脚的频率是单片机的1/6,我们所用的单片机时钟频率为12MHz,则ALE 引脚的频率为2MHz。在经过二分频后为1MHz,所以ADC0809能可靠工作。采用中断方式可大 大节省CPU时间。当转换结束时,EOC向单片机发出中断申请信号。响应中断请求后,由中段 服务子程序读取A/D转换结果并存储到RAM中,然后启动ADC0809的下一次转换。

进一步的,本次设计的简易数字存储示波器的方框图如图1所示: 因为本设计中, 数据采集和存储采用了单片机控制,所以软件主要功能是控制采样,存储和输出以及对系 统各部分工作进行协调。在系统初始化时,由CPU控制总线,在需要进行数据采集时,先设定 好采样点数和采样速率,然后让出总线,由ADC0809进行数据采集,并直接送到80C51储存单 元,采集数据完成后,存储在存储单元的数据送入DAC0832,然后通过示波器显示出来。软件 关键部分为按键控制部分,数据采集部分和D/A转换部分。按键控制部分主要控制存储波 形,输出存储波形,波形在时间轴上的放大。把存储在内存中的数据按照设定的时间送给D/ A转换器,改变送出数据时间间隔从而改变波形的延伸倍数。数据采集部分进行数据采集, 并通过单片机控制存储在片内或片外RAM中。D/A转换部分包括读取片内RAM或片外RAM判断 间隔时间然后输出波形送给示波器显示,实现存储波形的显示、实时显示、在时间轴上的延 伸等子功能。程序清单如下:

START: ORG 0000H

MOV SP,60H

CLR 0D0H.1

CLR 0D0H.2

KEYOP:

CLR F0; 清标志F0=1时有键盘输入;

MOV R2,#00H; R2键值(00~1BH);

MOV R3,#00H;

MOV R4,#02H;

MOV R5,#01111111B; 扫描D7列;

K_AGAIN: MOV A,R5; 输出扫描列;

MOV DPTR,#0002H;

MOVX @DPTR,A;

NOP;

NOP;

MOVX A,@DPTR; 输入行值;

ORL A,#0FH; 将输入的值变为XXXX1111,

CPL A; 求反,输入的值变为XXXX0000,

JNZ K_OPRAT;求反后,如果不是全"0",表示有键按下;

MOV A,R5

RR A

MOV R5,A

MOV A,R2

ADD A,#04H

MOV R2,A

DJNZ R4,K_AGAIN

CLR F0; 没有键值按下,强调F=0

LJMP XX;

K_OPRAT: CPL A; 恢复键值;

SWAP A; 4位键值置换到低4位;

SETB C;

K_NEXT: RRC A;

JNC K_OP1; 移位行位值=0,由R5得到行值;

INC R3;

CJNE R3,#04H,K_NEXT; 行值为00~03,当R5=4, 4行查表结束;

MOV R3,#00H;

LJMP K_AGAIN;;

有键按下,到行值后出来,进入键处理子程序;

K_OP1: SETB F0

MOV A,R3;

ADD A,R2

JZ K_1; 转K_1;

CJNE A,#01H,X2;

LJMP K_2; 转K_2;

X2: CJNE A,#02H,X3;

LJMP K_3; 转K_3;

X3: CJNE A,#03H,X4;

LJMP K_4; 转K_4;

X4: CJNE A,#04H,X5

LJMP K_5; 转K_5

X5: CJNE A,#05H,X6

LJMP K_6; 转K_6

X6: CJNE A,#06H,XX

CJNE A,#07H,XX;

进入AD转换

XX: ADNUMB EQU 30H;

MOV DPTR,#0003H;锁存通道号“0~7”,启动AD0809进行转换

MOV A,ADNUMB; 取通道号,通道号在内存“ADNUMB”单元;

MOVX @DPTR,A

ADEOC1:

MOV DPTR,#0007H; 循环读取EOC信号

JNB ACC.4,ADEOC1; 据EOC信号,AD转换是否结束

MOV DPTR,#0003H; 读取转换结果

MOV r7,#0

MOV r0,#32H; 设置存储启始地址

MOVX A,@DPTR

MOV @R0,A

INC R0

INC DPTR

INC R7

CJNE R7,#20,ADEOC1;判断20个数据是否转换完毕;

进入DA转换

DASTART0:

MOV R1,32H; 从片内存储地址首地址开始读取

MOV R6,#0

MOV DPTR,#0004H;

DALOOP0: MOV A,R1;

INC R1

MOVX @DPTR,A 向DAC0832送数据;

设置X轴输出间隔时间

TIMESET: JB 0D0H.1,LX;

JNB 0D0H.2,LY;

LCALL TIME1; 读取间隔时间

LCALL TIME1;

LX: LCALL TIME1;

LY: LCALL TIME1;

INC R6

CJNE R6,#20,XY; 是否存储单元读取结束,结束则循环执行

LJMP DALOOP0

XY: LJMP KEYOP

K_1:

MOV DPTR,#0003H

MOV A,ADNUMB

MOVX @DPTR,A

ADEOC:

MOV DPTR,#0007H; 循环读取EOC信号

JNB ACC.4,ADEOC; 根据EOC信号,AD转换是否结束

MOV DPTR,#0003H; 读取转换结果

MOV R7,#0

MOV R0,#0032H; 设置片外存储起始地址

MOVX A,@DPTR

MOVX @R0,A

INC R0

INC DPTR

INC R7

CJNE R7,#100,ADEOC; 判断100个数据是否转换完毕

JMP KEYOP

K_2:

DASTART2:

MOV R0,#0032H; 从片外存储地址首地址开始读取

MOV R6,#0

MOV DPTR,#0004H; 向DAC0832送数据

DALOOP2:

MOVX A,@R0;

INC R0

MOVX @DPTR,A;

LCALL TIME1; 读取间隔时间

INC R6

CJNE R6,#100,DASTART2; 是否存储单元读取结束,结束则循环执行

LJMP DALOOP2; 循环读取数据

K_3:

DASTART3:

MOV R0,#0032H

MOV R6,#0

MOV DPTR,#0004H;

DALOOP3:

MOVX A,@R0;

INC R0

MOVX @DPTR,A;

LCALL TIME1;

LCALL TIME1

INC R6

CJNE R6,#100,DASTART3

JB P2.7,MN

LJMP DALOOP3

MN: LJMP START

K_4:

DASTART4:

MOV R0,#0032H

MOV R6,#0

MOV DPTR,#0004H;

DALOOP4:

MOVX A,@R0;

INC R0

MOVX @DPTR,A;

LCALL TIME1;

LCALL TIME1;

LCALL TIME1;

LCALL TIME1;

INC R6

CJNE R6,#100,DASTART4

JB P2.7,MN

LJMP DALOOP4

K_5: SETB 0D0H.1; 为实时输出波形周期为2倍,置位0D0H.1

LJMP XX;

K_6: SETB 0D0H.2; 为实时输出波形周期为4倍,置位0D0H.2

LJMP XX;

TIME1:

MOV R7,#04H

TIME_1:

NOP

NOP

DJNZ R7,TIME_1;

RET

以上所述仅为本发明专利的较佳实施例而已,并不用以限制本发明专利,凡在本发明 专利的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明专利的保 护范围之内。

本文发布于:2024-09-24 11:21:52,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/81097.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议