欢迎您来到明辉峰尚!     
[我的收藏夹]    [我的询价记录]
VIKING贴片高精密电阻,高精度贴片电阻,大功率电阻,直插电阻,插件电阻器,高压电阻,贴片排阻,片状电阻器-明辉峰尚 VIKING(光颉)代理全系列电阻电容    VIKING VIKING VIKING
 
 
 
 
 

动 态 搜 索
 
 
动 态 排 行
 
首页 >
行业动态

单片机边沿触发中断响应时刻的测量

发布时间:2017/4/11 9:12:08  访问量:200  


 MCS51单片机系列属于8位单片机,它是Intel公司继MCS48系列的成功设计之后,于1980年推出的产品。由于MCS51系列具有很强的片内功能和指令系统,因而使单片机的应用发生了一个飞跃,这个系列的产品也很快成为世界上第二代的标准控制器。51系列单片机有5个中断源,其中有2个是外部输入中断源INT0和INT1。可由中断控制寄存器TCON的IT1(TCON.2)和IT0(TCON.1)分别控制外部输入中断1和中断0的中断触发方式。若为0,则外部输入中断控制为电平触发方式;若为1,则控制为边沿触发方式。这里是下降沿触发中断。

1 问题的引出

  几乎国内所有的单片机资料对单片机边沿触发中断的响应时刻方面的定义都是不明确的或者是错误的。例如文献[1]中关于边沿触发中断响应时刻的描述为“对于脉冲触发方式(即边沿触发方式)要检测两次电平,若前一次为高电平,后一次为低电平,则表示检测到了负跳变的有效中断请求信号”,但实际情况却并非如此。

  我们知道,单片机外部输入的中断触发电平是TTL电平。对于TTL电平,TTL逻辑门输出高电平的允许范围为2.4~5 V,其标称值为3.6 V;输出低电平的允许范围为0~0.7 V,其标称值为0.3 V[2],在0.7 V与2.4 V之间的是非高非低的中间电平。

  这样,在实际应用中,假设单片机外部中断引脚INT0输入一路由+5 V下降到0 V的下降沿信号,单片机在某个时钟周期采样INT0引脚得到2.4 V的高电平;而在下一个时钟周期到来进行采样时,由于实际的外部输入中断触发信号由高电平变为低电平往往需要一定的时间,因此,检测到的可能并非真正的低电平(小于0.7 V),而是处于低电平与高电平之间的某一中间电平,即0.7~2.4 V的某一电平。对于这种情况,单片机是否会依然置位中断触发标志从而引发中断呢?关于这一点,国内的绝大部分教材以及单片机生产商提供的器件资料都没有给予准确的定义,但在实际应用中这种情况确实会碰到。

  以美国Analog公司生产的运算放大器芯片AD708为例,其转换速率(slew rate)为0.3 V/μs,在由AD708芯片组成的比较器电路中,其输出方波的下降沿由2.4 V下降到0.7 V,所需时间约为: (2.4 V-0.7 V)/0.3V·μs-1=4.67 μs。即需要约4.67 μs的过渡时间,下降沿才真正地由高电平下降为低电平,在实际应用电路中,这个下降时间往往可达10 μs以上。对于精密的测量系统,这么长的不确定时间是无法接受的,因此,有必要对单片机边沿中断触发时刻进行精确的测定。

2 测试波形的设计与分析

  为了测定MCS51单片机下降沿触发的实际时刻,使用Agilent公司生产的型号为33250A的80 MHz函数/任意波形发生器(function/arbitrary waveform generator),产生出如图1所示的周期为20 ms的周期波形。

  在使用单片机对中断时刻进行测量时,使用两个计数器,均设为方式1(16位计数方式)。其中,第一个计数器用于记录从程序开始执行到第一个下降沿到来所经历的时间,第二个计数器用来记录程序开始执行到第二个下降沿到来所经历的时间,将两个计数器的计数值相减便可以得到两个下降沿之间的时间间隔。由前面的分析可知,该时间间隔可能有两种情况: 一种是T1时间,即t1′与t2′之间的时间间隔;另一种是T2时间,即t2′与t3′之间的时间间隔。其中,T1+T2=T,T1时间要小于T2时间。通过测量得到T1或者T2时间,利用式(4)便可求得下降沿触发中断时刻的实际电平。

3 测试流程和相应的单片机程序

 中断服务程序流程

  相应的中断服务程序为:

    INCR1

    MOVA,R1

    CJNEA,#01H,SEC

    CLRTR0

    MOV20H,TL0

    MOV21H,TH0

    CLRIE0

    RETI

  SEC:CLRTR1

    MOV22H,TL1

    MOV23H,TH1

    CLREX1

    CLREX0

    RETI

  由于程序执行有一定的延时,在中断返回后,还需对两个计数器的输出值进行校正。本实验采用伟福公司生产的H51/L仿真器为单片机测量系统,测得T1值为6.514 ms,由式(4)可得:y′=0.729 V,即当y′约为0.73 V时,单片机下降沿触发中断。

 
热线电话:13718868699 / 010-82967213 / 82967083 /52887598   MSN:xhd@vk-dz.com  QQ:543866743 Emal:xhd@vk-dz.cn
公司地址:北京市海淀区西三旗上奥世纪大厦B-1015                 
COPYRIGHT@2003-2011 www.vk-dz.com 京ICP备11040779号-5 
有事Q我吧