历史上的今天
今天是:2025年03月02日(星期日)
2020年03月02日 | 基于STC12C5408AD的记忆示波器 (1)
2020-03-02 来源:eefocus
示波器是电子测量的基本仪器。由于其具有图形显示实时、直观和形象等特性,在一般的物理实验室中它也是常用仪器之一。众所周知,示波器是依据输入电压调制的电子束扫描、荧屏余辉以及人眼的暂留效应等原理制成的;它要求输入周期信号;对于非周期性的信号,普通示波器是无能为力的,必须使用具有记忆功能的专用示波器,但这种示波器价格高昂,一般的物理实验室无法大量配置。
信息时代,个人计算机大量普及。普通物理实验室以及一般的中学都已配备了大量的计算机(以下称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 转换控制寄存器
转换控制寄存器ADC_CONTR(地址0C5H)格式如图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汇编语言进行程序设计。
串行通讯主要是通讯协议和对异步串行通讯接口的有关寄存器如通讯线控制寄存器3FBH、通讯状态寄存器3FDH、数据发送保持/数据接收缓冲寄存器3F8H等进行相应的设置和处理。
图形显示部分主要有640×350彩色图形显示方式的设置,X、Y坐标轴的描绘及图像点的绘制和清除。鉴于PC汇编语言较繁杂,在此不具体介绍。
5 效果实例
图2、图3分别是RC充放电A/D电路和RC微分A/D电路,图4、5、6分别为电容充电(按下按钮1)、放电(按下按钮2)、微分(按下按钮3)过程的波形图;每调整一下电位器,曲线就相应变化;图形清晰、翔实、实时性好,真实、生动地描绘了上述过程电容电压的实际变化情况,使用非常方便。


在PC已经非常普及的情况下,花几百元配置这样一个系统,是非常值得的。如果再加上传感器和调理电路,其用途将会非常广泛。
史海拾趣
|
在3月份我们在论坛搞了一个按键专题活动的讨论(https://bbs.eeworld.com.cn/viewthread.php?tid=97931 ),这个活动获得了大家的广泛支持,讨论的很是热烈根据讨论内容,从大家的讨论中,我们学习和了解到了更多的按键方面的知识。 俗话说的好: ...… 查看全部问答> |
|
各位大侠,小弟刚接触嵌入式。有些基本的问题还没有搞清楚,请教一下 在一块板子上,有sdram,nor flash,nand flash 哪个是用来存储系统的, 这3个又有什么区别呢?… 查看全部问答> |
|
C:\\Program Files\\Microsoft eMbedded C++ 4.0\\Common\\EVC\\MyProjects\\2\\2.cpp(4) : fatal error C1083: Cannot open precompiled header file: \'emulatorDbg/2.pch\': No such file or directory 随便什么程序,都是报这个错误,这是为什 ...… 查看全部问答> |
|
keil编译时,提示入下错误:(我估计不应该是程序的错误,不知道哪里没有设置正确) Build target \'Target 1\'assembling STARTUP.A51...compiling Lcd.c...C51 FATAL-ERROR - ACTION: GOBAL OPTIMIZATION ...… 查看全部问答> |
|
我收到的就一个SD卡,但带了个SD大卡卡槽。并不是传说中的,两个SD卡。 我破不急等地插到USB口上,当然迷你SD卡也插上,发现硬件。我等着自动装硬件。但显示了一个虚拟的U盘。我又傻等一会儿,还是要驱动。 应是U转串的驱动。 我查型号是FT2232H ...… 查看全部问答> |
|
主要要求:1.本系统负责对主排水泵的电压、电流、轴瓦温油温、润滑油油压、水泵真空度等一系列参数进行测量并显示。2.系统能自动根据所测量得到的参数进行综合逻辑分析,判断是否出现异常情况,并在异常情况出现时自动启动继电器接口来控制相应的节 ...… 查看全部问答> |




