KH-9300板卡硬中断数据采集系统设计

版权申诉
0 下载量 194 浏览量 更新于2024-09-03 收藏 125KB DOCX 举报
"基于KH-9300板卡采用硬中断方式实现数据采集系统的设计" 本文档详述了如何利用硬中断技术设计一个基于KH-9300板卡的数据采集系统。系统主要通过8254定时器和8259中断控制器来定时触发中断并对外部脉冲进行计数,从而实现数据的定期采集。 1. 系统设计概述 数据采集系统采用硬中断机制,每秒采集一次数据。KH-9300板卡的第0和1号通道以串行方式工作,利用板载时钟进行计时,而第2至5号通道则接收外部计数脉冲。当第0和1号通道的计数达到预设阈值时,会向8259中断控制器的IN1引脚发送中断请求,进而通过8259A向CPU的第5号中断引脚发送请求。CPU响应中断,执行中断服务程序,采集第2至5号通道的数据,并将结果存储到文件中。 2. 板卡及定时计数设置 - 时钟跳线配置:第0通道选择内部时钟并与第1通道级联,第2至5通道则使用外部时钟。 - 所有通道选择内部门控。 - 基地址设置为280H。 - 中断号设置为INT5,对应的中断向量号为13。 - 内部时钟频率设定为2MHz。 (1)定时常数计算: 定时系数 = 要求定时时间 / 时钟脉冲周期。例如,若要定时1秒,内部时钟频率为2MHz,定时系数为2×106。由于单个计数器的最大计数值为65535,因此第0和第1通道需串联,第0通道计数值设为2000,第1通道设为1000。 (2)计数通道初始化: 计数通道常数设置为最大值FFFFH,最大计数频率为65535Hz/s。 (3)计数脉冲量计算: 计数累计脉冲量 = FFFFH - 计数器当前读数。 3. 中断服务程序的编写与实现 在TurboC环境中,中断服务程序由三部分构成:编写中断服务程序、安装中断服务程序和激活中断服务程序。 (1)编写中断服务程序: 中断服务程序需要保存并恢复中断发生时的现场数据,包括寄存器中的值。TurboC提供了`interrupt`函数类型,自动处理这些保存和恢复的过程。 这个系统设计通过精确的硬件控制和中断处理,实现了高效、定时的数据采集功能,为实时监测和分析提供了可靠的硬件基础。