位置:51电子网 » 技术资料 » 其它综合

基于STC12C5408AD的记忆示波器

发布时间:2008/6/3 0:00:00 访问次数:355

1 引言

  示波器是电子测量的基本仪器。由于其具有图形显示实时、直观和形象等特性,在一般的物理实验室中它也是常用仪器之一。众所周知,示波器是依据输入电压调制的电子束扫描、荧屏余辉以及人眼的暂留效应等原理制成的;它要求输入周期信号;对于非周期性的信号,普通示波器是无能为力的,必须使用具有记忆功能的专用示波器,但这种示波器价格高昂,一般的物理实验室无法大量配置。

  信息时代,个人计算机大量普及。普通物理实验室以及一般的中学都已配备了大量的计算机(以下称pc)。但这些pc大都用于文字信息处理和计算工作,其内在的功能还远远没有发挥,实际上造成了巨大的浪费。

  我们知道,pc具有很强的图像显示功能。如果能够开发、利用这一功能,配上外部接口电路,将一些物理过程,如温度、湿度、压力等等,经过相应的传感器,将非电量转换成电压量,再经调理电路处理后送入stc单片机进行a/d转换,转换成数字量后再由串口发送到pc机,由pc机进行存储和图形显示,从而构成了记忆示波器。

2 stc12c5408ad简介

  stc12c5408ad是新一代增强型8051单片机,速度快,集成度高,电压范围宽(3.8 v~5.5 v),指令系统和mcs-51系列完全兼容。其内部还有8 kbflash程序存储器,512字节ram、2 kb eeprom、8通道10位adc、4路pwm以及硬件看门狗(wdt)等宝贵资源,性价比极高。它的23个i/o口、内部电源供电系统、时钟电路、复位电路以及看门狗电路都经过特殊处理,具有超强的抗干扰能力。stc12c5408ad具有isp功能,用户在自己的目标系统上,经串口和pc连接,就可直接由pc对其进行isp下载编程,时间仅几秒钟,使用非常方便。又由于编程方便和快捷,因而可在用户程序的任意位置插入“sjmp$”死循环指令作“断点”(测试后删除),重新汇编、下载和运行;程序运行到此便停住,用户可方便地检查当前的硬件真实状态;如需检测某些寄存器的状态。可在“断点”指令前插入读寄存器并串发到pc的指令段,便可在pc上显示当前的寄存器状态供检测,可节省专用编程器和仿真机的昂贵开支。

3 a/d转换

  本系统中主要应用了该单片机的10位a/d功能。stc12c5408ad的8路10位a/d转换口位于p1.0~p1.7,速度可达100 khz,其a/d功能由有关寄存器来设置。

  上电复位后,p1口为弱上拉型i/o状态。选用p1.3脚作a/d通道,必须先将其设置为开漏(或高阻输入)状态。p13kl子程序就是完成这个设置。

3.1 转换控制寄存器

(1) a/d电源控制位d7

  d7=1时,打开a/d电源;初次打开时,延时1ms,待a/d电路供电稳定后,再启动a/d,以保证a/d精度。adc_on子程序如下:

(2) 转换速度控制位d6d5

  d6d5=00时,转换速度最慢(840个时钟)

  d6d5=11时,转换速度最快(210个时钟),本例用11。

(3) 模拟输入通道选择位d2d1d0

  其位值为i(i=0,1,2,…,7)时,选中p1.i为a/d输入通道;本例选p1.3,i=3。

(4) 转换启动位d3

  d3=1,启动a/d转换;启动后硬件自动清零。

(5) 转换结束标志位d4

  a/d转换完毕,d4=1;必须由软件清0。

3.2 转换结果寄存器

  a/d结果高8位寄存器adc_data,地址oc6h(d7~d0);

  a/d结果低2位寄存器adc_lw02,地址obeh(d1d0);

3.3 a/d转换子程序rdad

  本例由于用pc机屏幕显示a/d波形,pc机y轴方向只能由8位数据控制,故只用高8位。每次读毕再发给pc机处理。

3.4 基本程序清单

4 pc软件设计

  pc软件由串行通讯和图形显示两部分组成。为提高运行速度,用pc汇编语言进行程序设计。

  串行通讯主要是通讯协议和对异步串行通讯接口

1 引言

  示波器是电子测量的基本仪器。由于其具有图形显示实时、直观和形象等特性,在一般的物理实验室中它也是常用仪器之一。众所周知,示波器是依据输入电压调制的电子束扫描、荧屏余辉以及人眼的暂留效应等原理制成的;它要求输入周期信号;对于非周期性的信号,普通示波器是无能为力的,必须使用具有记忆功能的专用示波器,但这种示波器价格高昂,一般的物理实验室无法大量配置。

  信息时代,个人计算机大量普及。普通物理实验室以及一般的中学都已配备了大量的计算机(以下称pc)。但这些pc大都用于文字信息处理和计算工作,其内在的功能还远远没有发挥,实际上造成了巨大的浪费。

  我们知道,pc具有很强的图像显示功能。如果能够开发、利用这一功能,配上外部接口电路,将一些物理过程,如温度、湿度、压力等等,经过相应的传感器,将非电量转换成电压量,再经调理电路处理后送入stc单片机进行a/d转换,转换成数字量后再由串口发送到pc机,由pc机进行存储和图形显示,从而构成了记忆示波器。

2 stc12c5408ad简介

  stc12c5408ad是新一代增强型8051单片机,速度快,集成度高,电压范围宽(3.8 v~5.5 v),指令系统和mcs-51系列完全兼容。其内部还有8 kbflash程序存储器,512字节ram、2 kb eeprom、8通道10位adc、4路pwm以及硬件看门狗(wdt)等宝贵资源,性价比极高。它的23个i/o口、内部电源供电系统、时钟电路、复位电路以及看门狗电路都经过特殊处理,具有超强的抗干扰能力。stc12c5408ad具有isp功能,用户在自己的目标系统上,经串口和pc连接,就可直接由pc对其进行isp下载编程,时间仅几秒钟,使用非常方便。又由于编程方便和快捷,因而可在用户程序的任意位置插入“sjmp$”死循环指令作“断点”(测试后删除),重新汇编、下载和运行;程序运行到此便停住,用户可方便地检查当前的硬件真实状态;如需检测某些寄存器的状态。可在“断点”指令前插入读寄存器并串发到pc的指令段,便可在pc上显示当前的寄存器状态供检测,可节省专用编程器和仿真机的昂贵开支。

3 a/d转换

  本系统中主要应用了该单片机的10位a/d功能。stc12c5408ad的8路10位a/d转换口位于p1.0~p1.7,速度可达100 khz,其a/d功能由有关寄存器来设置。

  上电复位后,p1口为弱上拉型i/o状态。选用p1.3脚作a/d通道,必须先将其设置为开漏(或高阻输入)状态。p13kl子程序就是完成这个设置。

3.1 转换控制寄存器

(1) a/d电源控制位d7

  d7=1时,打开a/d电源;初次打开时,延时1ms,待a/d电路供电稳定后,再启动a/d,以保证a/d精度。adc_on子程序如下:

(2) 转换速度控制位d6d5

  d6d5=00时,转换速度最慢(840个时钟)

  d6d5=11时,转换速度最快(210个时钟),本例用11。

(3) 模拟输入通道选择位d2d1d0

  其位值为i(i=0,1,2,…,7)时,选中p1.i为a/d输入通道;本例选p1.3,i=3。

(4) 转换启动位d3

  d3=1,启动a/d转换;启动后硬件自动清零。

(5) 转换结束标志位d4

  a/d转换完毕,d4=1;必须由软件清0。

3.2 转换结果寄存器

  a/d结果高8位寄存器adc_data,地址oc6h(d7~d0);

  a/d结果低2位寄存器adc_lw02,地址obeh(d1d0);

3.3 a/d转换子程序rdad

  本例由于用pc机屏幕显示a/d波形,pc机y轴方向只能由8位数据控制,故只用高8位。每次读毕再发给pc机处理。

3.4 基本程序清单

4 pc软件设计

  pc软件由串行通讯和图形显示两部分组成。为提高运行速度,用pc汇编语言进行程序设计。

  串行通讯主要是通讯协议和对异步串行通讯接口

相关IC型号

热门点击

 

推荐技术资料

罗盘误差及补偿
    造成罗盘误差的主要因素有传感器误差、其他磁材料干扰等。... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!