用PC机RT/CMOS周期中断实现定时间隔数据采集
用PC机RT,CMOS周期中断实现定时间
隔数据采集
荦30卷第3期内蒙古师太自燕科学(汉文)版v30No3
20019月JournalolInnerMongoliaNormalUn~vers{ty(NaturalScienceEdition)Se1)2001
用PC机RT/CMOS周期中断
实现定时间隔数据采集
田振清,李改梅
f内蒙古师范太学电化教育系,内蒙古呼和浩特010022) 摘要:介绍了利用Pc机RT/CMOS实时时钟周期中断实现定时间隔数据采集的种方
法,给出了采集接FI电路的逻辑结构和相应的算法
关键词:RT/CMOS实时时钟;接口电路;算法流程
中图分类号:TN91173文献标识码:A文章编号:10018735(2001)03022805
文献[1]介绍了用PC机实测电路过渡过程波形曲线的一种实用方法,这种方法有利于
撮大限度地利用A/D芯片的数据转换速率在一定的时间片内,数据的采集次数主要受限
于所采用的A/D芯片的转换时间.而在实际工作中,经常需要接确定的时间间隔对数据加
以采集(例如定时巡回检测1本文介绍一种利用Pc机RT/CMOS芯片周期中断实现定时
间隔数据采集的一种方法.
1RT/CMOS实时钟运行原理
lI
lI1AH
\2—6H能调用
r毒旺.珂置
罔1实时时钟中盱电路不意陌
图1给出了PC机中RTcMOs内部实时钟的逻辑结构它所采用的是M.tor.la公司 的MC146818芯片,在允许周期中断的条件下,32级分频器输出有效,作为苞信号经反
啦稿日期:20f10l118
基盒嘎阿:蒙古师范大学事}研基台资肪项R(JS9908) 作者荀『r田振清<1956.男f蒙古般.蒙古开鲁县^,内蒙古师范学剐教授 窜一
一,
L—占卜=r
第3期田振清等:用PC机RT/CMOS周期中断实现定时间隔数据采集?229 相器送到PC机中断系统8259A从片的IR0,即实时钟中断请求,中断类型码为7OH,当产
生实时钟中断时,70H型中断服务程序处理流程见图2
保护理骑 一断.
—————————,
』塑?堑!,———]
———一一
1
l兰兰三!竺苎!:!
,--
者_,:.I够l馘二—————_J
,;:兰!.
jIf用户等待标志置为鳓H
fY
I一—F二——
I
—
J
IsTI
P0S,HDS
L.....''....一
事件等待标志=07>————一
2实时时钟中断处理流秸.罔3INT15H的83H号了二功能执行流样 实时时钟中断处理程序主要做两件事:
?读取CMOS状态寄存器,判断是否是周期中断,若是.刑"事件等待计数器"减去 976s,不够减
明等待时间已到,随即禁止周期中断(cMOs从下一个976g-s开始,就不再
提周期中断了),并将"事件等待标志"置0,"用户等待标志"置为80H 正是周期中断的这种功能为用户提供了定时操作的控制手段. ?判断是否报警中断,若是,则执行INT4AH,转入报警中断处理程序(本文不拟讨论
报警中断的应用问题)
2挂接用户周期中断
在CMOS编程允许周期中断的前提下,每976562s产生一次中断欲开发周期中断 应做两项准备工作:
?对CMOS重新编程,使允许周期中断;
?预置等待时间.
这两项工作只需调用INT15H的83H于功能即可完成,执行流程见图3 2.1INT15H的83H子功能的人口参数
?置AL=0,表明是预置等待时间;
?置CX:DX=等待时问的微秒数.其中CX和DX分别为高16位和低16位二进制数;
?置ES:BX=用户等待标志的物理地址
鑫一
一
230?内蒙占师大学扦j自然列学c汉文)版第30卷
22INT15H的83H子功能的出口参数
C标志置1,表示预置失败,c标志置0,表示预置成功
说明:用户等待标志是一个字节型单元,该单元要求设置在用户程序的附加段,偏移地
址(或有效地址)要求写八BX寄存器
23关于圈3中有关数据的说明
?系统RAM4O:A0H单元为"事件等待标志",它和"用户等待标志"无关,是为了BIOS
程序
的方便而设置的工作单元该单元由[NT15H的83H号子功能置1,宴时时钟中
断处理程序置0,只有当"事件等待标志"为0时,用户才可以成功地预置等待时间但是,用
户程序不必查询"事件等待标志";
?系统R;a~M40:98,40:9BH存放"用户等待标志"的物理地址; ?系统RAM40:9C--40:9FH存放用户预置的等待时间,这4个字节就是"事件等待 计数器".
若成功地执行INT15H的83H号子功能,就意味着BIOS已经对CMOS重新编程,允
许周期中断从这后,CMOS才能每隔976,us提出一次周期中断请求CPU响应后转入实
时时钟中断处理,对事件等待计数器减976s,不够臧时,置"用户等待标志"为8OH,通报等
待时间到用户程序查询"用户等待标志"为80H时,转而执行预定操作. 3实现定时间隔数据采奠的方法
.
,
?一一,.
.?jv,
『_一j…,..}『I
,一…)(..『Ilil) 一
:….f[l._
_l,
一
Il
…
sj…...j1)?1'1
一一
宣
?二二二一一一
一
一一
j'一
Hi一
j一jll1}二.
第3期fn振清荨:lHPCRr/CMO~H1崩中断史剐定时鞴数据采集一231-
图4给出了定时河隔数据采集电路的逻辑结构,A,D芯片每次完成数据转换后,通
过
EOC引脚输出的正脉}中将状态标志触发器Q输出端置位,PC机通过8255芯片
送往系统麴
据总线的D位查询,实现定时数据采集功能,程序流程如图5所示
4几点说明
tL…'jft,I-lli '
一]啦.IL出1一
吐_I控"求u}?
ll?.?敖{,拊1l-.盯数."
,1]\…/
?本文给出的方法,已在PC机定时温度,压力等检测中实际应用取碍较好的效果
?定时检测的时间间隔可根据具体检测任务的需要灵活设定,这比使用日时钟中
断处
理程序中的1CH型中断要方恒的多
?应该注意到,实时时钟中断处理流程中关于"用户等待标志"的置位是一次}生的
当
等待时同到时,BIOS重新对CMOS编程使其禁止周期中断.要实现周期性地定时
问隔数据
采集,必须在用户程序中周期性地预置等待时间并复位"用户等待标志"
,
一一
厂
一
,,
昕_v,一
__一
一一
,一
,
一
.一"
一
一
i",I
一
一
一
._
232?内蒙古师大自然科学(汉文)版
?限于篇幅,文中未给出源程序清单.
弟30卷
参考文献:
[I]田振清,边琦用PC机实测RC电路充电过程(f)曲线[JJ内蒙古师大(臼然科学汉文版)
2000,29(4):270272.
[2刘德贵.扬宝琦DOS/BIOS使用详解[Mj北京:电子工业出版社,1994 :3]杨路明微型}卜算机系统及应用[M长沙:中南工业大学出版社.1994 [4]邹逢兴微型计算机接口原理与技术[M]长沙:国防科技大学出版社.1993 [5J戴梅萼微型计算机技术及应用:M]北京:清华大学出版社.1991 [6j王让定宴现TttrboC与汇编语言接El的新方法[J]截机发展.1995.(4):59—61 【7JF'C—BUSTechnicalReference[M].Prentice—Ha11INC.1993 [8]叶丽娜利用PC机代替低频示披器[J]电子技术应用.1996,(8):31—33. [9J仇玉章微型计算机系统与接口技术【M]南京江苏科学技术出版社.1998 ANAPPR0ACHF0RTHETIMEINTERVALDATAC0LLEC T10NBYUSINGTHEPCRT/CMOSCYCLICINTERRUPT TL&NZhen—qing,LIGai—mei
(DepartmentofEducationalTechnoLogy,Inner*'VIongcqlaNormalUniversit,Huhh.f010
022,Chl&)
Abstract:AnapproachforthetimeintervaldatacollectionbyusingthePCRT/CMOS
cyclicinterruptisintroduced.Thelogicstructureofthedatacollectioncircuitandtheprogram
algorithmflowconcernedaregiven
Keywords:RT/CMOSrealtimeclock;interfacecircuit;programalgorithmflow
【责任编辑陈汉忠】