基于数据采集卡的定时高速采集数据问题

hmyhsm 2003-10-15 09:41:07
即将做一个数据采集系统,使用高速数据采集卡采集,数据采集卡的 采样频率是1M,带缓冲,采集两个模拟量,因为是动态数据,现在有一个很重要的问题就是在采集这两个模拟量的同时,要精确确定这两个量的采集时刻,也就是把采集的时间也同时采集下来,以备时间量和两个模拟量数据一一对应进行处理。有什么好的方法?可以利用系统时钟吗?如何实现?多谢了
...全文
168 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
nuaawenlin 2003-10-18
  • 打赏
  • 举报
回复
unsigned int timeconst;
timeconst=(unsigned int)(1193180.0*seconds);//时间由你定
nCount=(int)(seconds/0.0549);
oldmask=inportb(0x21);//保存原来的中断位
disable();
outportb(0x21, oldmask | 0x01);//设置新的中断位
outportb(0x43,0x36);
if(nCount==0)
{
outportb(0x40,(char)(timeconst & 0x00ff));
outportb(0x40,(char)((timeconst & 0xff00)/256));
}
else
{
outportb(0x40,0x00);
outportb(0x40,0x00);
}
fun=getvect(0x08);//保存原来的中断向量
setvect(0x08,InterruptProc);//设置新的中断向量
enable();//开中断
outportb(0x21,oldmask & 0xfe);//允许IRQ0
hmyhsm 2003-10-18
  • 打赏
  • 举报
回复
nuaawenlin(飘人) :在dos下用c语言又怎么实现,你可以说说吗?或者有什么例子能给我一个吗?多谢了
nuaawenlin 2003-10-16
  • 打赏
  • 举报
回复
定时精度那么高,我用vc可没做过,都是在dos下用c语言,采用中断的方法来做。如果你在 vc上有方法解决这个工程,也给我发一分源程序。
nuaapiao@hotmail.com
hmyhsm 2003-10-16
  • 打赏
  • 举报
回复
是这样的,我做的这个系统要用采集卡采集两个数据,位移模拟量和电流模拟量,两个数据都是定时采集,采集频率是100kHz,在采集位移模拟量和电流模拟量的同时,要把此刻的时间记录下来,以备后面通过位移值求导等方法计算,把对应物体的速度和加速度计算出来,所以精确的对应时间就很重要,所以时间的采集也要大于100kHz,精确度高于10微秒,98440622(民工++) :您说的运行环境是什么意思?我计划用VC编,在Windows系统下
还有问一下:能否用采集卡上的时钟来定时吗?
98440622 2003-10-16
  • 打赏
  • 举报
回复
没法回答,什么运行环境都不知道
wuxfBrave 2003-10-16
  • 打赏
  • 举报
回复
不知道你要精确到什么程度
用SYSTEMTIME可以精确到Millisecond
inanition 2003-10-16
  • 打赏
  • 举报
回复
能不能说说你的应用,具体问题可能好理解点。
bb123456789 2003-10-16
  • 打赏
  • 举报
回复
高深,帮你顶!
单片机多路数据采集控制系统课程设计报告 叶醒 Xb09610118 余希 Xb09610120 一、设计目的 运用单片机原理及其应用等课程知识,根据题目要求进行软硬件系统的设计和调试, 从而加深对本课程知识的理解,把学过的比较零碎的知识系统化,比较系统的学习开发 单片机应用系统的基本步骤和基本方法,使学生应用知识能力、设计能力、调试能力以 及报告撰写能力等有一定的提高。 二、设计要求 用8051单片机设计数据采集控制系统,基本要求如下: 基本部分: 1.可实现8路数据采集,假设8路信号均为0~5V的电压信号。 2.采集数据可通过LCD显示,显示格式为[通道号] 电压值,如[01] 4.5。 3.可通过键盘设置采集方式:单点采集、多路巡测、采集时间间隔。 4.具有异常数据声音爆晶功能:对第一路数据可设置正常数据的上限值和下限值,当采 集的数据出现异常,发出报警信号。 选作功能: 1.异常数据音乐报警。 2.可输出8路顺序控制信号,设每路顺序控制信号为一位,顺序控制的流程为: 三、总体设计 我们选择单片机与A/D转换芯片结合的方法实现本设计。使用的基本元器件是:AT89 C52单片机,ADC0809模数转换芯片,LCD显示器,按键,电容,电阻,晶振等。 数字电压测量电路由A/D转换、数据处理及显示控制等组成。A/D转换由集成电路ADC 0809完成。ADC0809具有8路拟输入端口,地址线(23~- 25脚)可决定对哪一路模拟输入作A/D换。22脚为地址锁存控制,当输入为高电平时,对 地址信号进行锁存。6脚为测试控制,当输入一个2uS宽高电平脉冲时,就开始A/D转换。 7脚为A/D转换结束标志,当A/D转换结束时,7脚输出高电平。9脚为A/D转换数据输出允 许控制,当OE脚为高电平时,A/D转换数据从该端口输出。10脚为0809的时钟输入端。单 片机的P1.5~P1.7、P3端口作1602液晶显示控制。P2端口作A/D转换数据读入用,P0端口 用作0809的A/D转换控制。 通过对单片机p3.5口置低电平控制LED亮灯,p3.4口置高电平时蜂鸣器报警。 流程图: 主要程序介绍: CLR P1.7 MOV A,R0 MOV DPTR,#1FFFH RL A RL A RL A RL A RL A MOV P0,A MOV P2,#0 CLR P3.6 SETB P3.6 AD2: JNB P3.2,AD2 MOVX A,@DPTR MOV R1,A RET 是选择ADC0808的哪个口读电压,然后手动开启ADC0808工作,再将读到的代表电压的 二进制送入单片机内部 MOV A,R1 MOV DPTR,#ADTAB_1 MOVC A,@A+DPTR MOV R2,A MOV A,R1 MOV DPTR,#ADTAB_2 MOVC A,@A+DPTR MOV R3,A RET 将读到的二进制数进行查表转化,转化为可识别的电压,再处理,然后通过数码管输 出 四、硬件设计 1.原理图 2.PCB图 3.80C52 80C52是INTEL公司MCS- 51系列单片机中基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单 片机,属于标准的MCS- 51的HCMOS产品。它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它基于标准 的MCS- 51单片机体系结构和指令系统,属于80C51增强型单片机版本,集成了时钟输出和向上或 向下计数器等更多的功能,适合于类似马达控制等应用场合。 80C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM) 、32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串 行通信口,片内时钟振荡电路。 此外,80C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲 模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据 ,时钟振荡停止,同时停止芯片内其它功能。80C52有PDIP(40pin)和PLCC(44pin)两种封 装形式。 4.ADC0809 ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器 。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟 输入信号中的一个进行A/D转换。是目前国内应用最广泛的8位通用A/D芯片。 本数据采集系统采用单片机作为处理器。单片机所处理和传输的都是不连续的数字信 号,而实际中遇到的大都是连续变化的模拟量,模拟量经传感器转换成电信号后,需要 模/数转换将其变成数字信号才可以输入到数字系统中进行处理和控制,因此,把模拟量 转换成数字量输出的接口电路,即A/D转换器就是

16,467

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧