基于AT89S52单片机的简易数字示波器设计

随着电子技术的发展和电路结构的变化,对电路测量的要求也变得更高。对广大理工科学生和从事电子等相关行业的普通工作者在电子制作、产品维修等中,很多电路参数需要测量分析,经常需要使用数字示波器。但目前我国使用的高性能数字示波器普遍价格昂贵,所以研究简易数字示波器具有重要意义。
E2PROM是数据存储电路的关键器件,本文选用Atmel公司新近推出的具有I2C总线容量达512 Kb(64 K×8 b)的AT24C512。该芯片的主要特性如下:存储容量为65 536 B;与100 kHz,400 kHz,1 MHzI2C总线兼容;100 000次编程/擦写周期;单电源、读/写电压为1.8~5.5 V;ESD保护电压大于4 kV;写保护功能,当WP为高电平时,进入写保护状态;CMOS低功耗技术,最大写入电流为3 mA;128 B页写入缓存器;自动定时的写周期。SDA线和SCL分别与单片机的P2.4和P2.5口相连。数据存储电路如图4所示。

  2.5 其他硬件电路

  A/D转换模块:A/D转换器选用ADC0809,ADC0809是CMOS单片型逐次逼近式A/D转换器,可处理8路模拟量的输入,且有三态输出能力,即可与各种微处理器相连,也可单独工作。输入/输出与TTL兼容,转换时间约为100μs。

  键盘控制模块:该系统选用5个独立键盘做功能键,作用分别为运行与停止,波形的放大,波形的减小,波形的上移,波形的下移。

  LCD液晶显示电路:该设计采用MGL(S)-240128T液晶显示器。单片机P1口与LCD的数据口连接,用于数字信号的读取,P3.6,P3.7作为液晶显示模块的读/写控制信号端口,P2.5作为LCD的片选端口。

  3 软件设计

  软件设计部分主要包括主程序模块、A/D转换模块、LCD显示模块、按键处理模块,其流程图如图5所示。

  3.1 A/D转换部分

  当定时器产生中断时,ADC0809将输入的模拟量转换成数字量。ADC0809的转换速率最大可达640 kHz,程序设定了定时器时间间隔为2μs,所以采样频率达到了500 kHz。

  3.2 键盘扫描部分

  设定了1个按键实现波形的运行与停止,4个独立按键用于改变波形的尺寸。amp和time两个参数分别用于调整幅值和时间轴的大小,当MCU检测到按键被按下时,两个参数的值相应地发生改变,从而改变了波形的大小。

  3.3 LCD显示部分

  A/D产生的第一个数据,其对应的点排在第一列,这样就确定了该点的横轴位置,纵轴的位置由数字信号大小按比例换算而来。由于采样频率一定,所以每2个点之间的时间间隔相同,下一个点排第二列,以此类推。

  3.4 数字存储部分

  数字存储芯片选择了Atmel公司推出的AT24C512,其作用是存储不同时刻的信号大小,克服了模拟示波器只能显示当前波形的缺点。由于该芯片采用I2C总线传输数据,所以需要单片机的I/O口用来模拟该总线。

  4 结语

  本文设计的以AT89S52单片机为控制核心的数字示波器,在软硬件有机结合下,可以达到所要求的性能指标,运行稳定可靠。测试表明该数字示波器具有较高的实时采样率,可以将采集到的数据经过硬件电路、软件程序转换成相应的波形很好的显示在液晶显示屏上。该数字示波器能够实现波形的采集、调理、存储、显示等功能,通过键盘对波形进行相应的功能设置,具有体积小、操作简单、方便、设备廉价等特点。在后续的改进中,可以利用分频合成技术进行采样频率合成,提高其采样频率,同时该数字示波器还具有一定的扩展能力,具有广阔的应用前景和实用价值。
.
  1 系统结构和工作原理

  1.1 系统结构

  该设计以AT89S52单片机为控制核心,由预处理电路(包括阻抗变换、程控放大、信号调理电路)、A/D数据采集电路、E2PROM存储电路、功能键盘、LCD显示电路以及电源等部分组成。系统结构框图如图1所示。

  1.2 工作原理

  数字示波器有二个输入通道。预处理电路由阻抗变换、程控放大、信号调理电路组成。输入信号先经阻抗变换电路后进入程控放大电路,根据需要对信号进行放大(衰减)处理,然后信号再进入信号调理电路进行电平调整成为符合A/D转换要求的0~5 V电压。之后输出的模拟信号经过高速A/D转换器AD0809实时采样变成数字信号,经过AT89S52单片机后储存在半导体存储器E2PROM中。单片机从存储器中读出信号

  进行运算处理,将波形显示在LCD液晶屏上。所有功能可由键盘操作完成。

  2 硬件设计

  2.1 单片机

  AT89S52是一个低功耗,高性能CMOS8位单片机,具有8 192个在系统可编程FLASH存储器。采用Atmel公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构。

  系统采用AT89S52单片机作为主控芯片。单片机首先通过控制A/D转换器把模拟信号转换成数字信号,之后将数字信号存储在E2PROM存储器中,最后在LCD液晶上显示出模拟信号的波形。

  2.2 程控放大电路

  程控放大电路的作用是对大信号进行衰减,对小信号进行放大,保证输入到A/D转换器的信号幅度在要求的输入电压范围内,以达到最好的测量与观察效果。采用模拟开关CD4051,运算放大器为OPA842,配合精密电位器实现多挡垂直分辨率。在AT89S52单片机中使用寄存器模块设置通道号,通过写入通道号控制模拟开关选通不同的反馈电阻,从而实现不同的放大倍数,具体的电路如图2所示。

  2.3 信号调理

  由于示波器观察信号大多是正负电压信号,而A/D转换器AD0809是单极性参考电压。为了采样到信号的负电压,就需要给该信号叠加直流量,将负电压部分信号抬高至零电平以上,因此采用信号调理电路,将信号调理在满足A130809的0~5 V范围内。R1,R2,R3,U1即为程控放大电路的简化模块,电路如图3所示。

 


【上一个】 基于单片机的自适应电开水机设计 【下一个】 示波器有效辅助开关电源实现Q/A


 ^ 基于AT89S52单片机的简易数字示波器设计