KH-9300板卡硬中断数据采集系统设计
版权申诉
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`函数类型,自动处理这些保存和恢复的过程。
这个系统设计通过精确的硬件控制和中断处理,实现了高效、定时的数据采集功能,为实时监测和分析提供了可靠的硬件基础。
2022-07-14 上传
2022-07-01 上传
2022-07-08 上传
ziyoudianzi15
- 粉丝: 0
- 资源: 2万+
最新资源
- Angular实现MarcHayek简历展示应用教程
- Crossbow Spot最新更新 - 获取Chrome扩展新闻
- 量子管道网络优化与Python实现
- Debian系统中APT缓存维护工具的使用方法与实践
- Python模块AccessControl的Windows64位安装文件介绍
- 掌握最新*** Fisher资讯,使用Google Chrome扩展
- Ember应用程序开发流程与环境配置指南
- EZPCOpenSDK_v5.1.2_build***版本更新详情
- Postcode-Finder:利用JavaScript和Google Geocode API实现
- AWS商业交易监控器:航线行为分析与营销策略制定
- AccessControl-4.0b6压缩包详细使用教程
- Python编程实践与技巧汇总
- 使用Sikuli和Python打造颜色求解器项目
- .Net基础视频教程:掌握GDI绘图技术
- 深入理解数据结构与JavaScript实践项目
- 双子座在线裁判系统:提高编程竞赛效率