导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→硬件:用中断来测量脉冲周期[ZJF1999]

 *第2210篇: 硬件:用中断来测量脉冲周期

  
楼 主:ZJF1999 2002年1月30日15:49
 硬件:用中断来测量脉冲周期
我用INT0来测量波的周期,测量结果一直在变。方波是由信号发生器给的很稳定。
中断如下:
;INT00:    
;    CLR    EX0
;    CLR    TR0
;    MOV    37H,TL0
;    MOV    38H,TH0
;    MOV    TH0,#0H;
;    MOV    TL0,#0H;
;    SETB    TR0
;    CLR    IE0
;    SETB    EX0
;    RETI
  
2楼:GPSHI 2002年1月30日15:56
 你有什么问题?
  
3楼:ZJF1999 2002年1月30日16:16
 你有什么问题?
用的是12MHz晶振
待测频率大概为100Hz
INT0优先级最高
测量的结果老是在变,且变化太大了
  
4楼:ZBW001 2002年1月30日16:18
  这样做当然不行了,应该用计数器,然后定时
  
5楼:ZJF1999 2002年1月30日16:24
 这样做当然不行了,应该用计数器,然后定时
我是用第一次中断来启动定时
第二次中断来读出结果的
  
6楼:ZBW001 2002年1月30日16:27
 哦,可能信号源不准。
  
7楼:ZJF1999 2002年1月30日16:33
 信号源是用信号发生器产生,示波器上看很好
  
8楼:ZBW001 2002年1月30日16:38
 你测的频率有多大?
这样测量的话,在高频率时,如果时间太短,会造成较大的误差,如果你采用上面的方法,
可以在一定的时间内读一次,可以降低平均误差。                       
  
9楼:ZJF1999 2002年1月30日16:40
 大概在100Hz左右
  
10楼:ZBW001 2002年1月30日16:44
 我建议你用别的方法
  
11楼:ZJF1999 2002年1月30日17:15
 测量频率
我其它的程序都好了
现在只要能测量出频率就行了
只能用一个定时器了和一个INT0了管脚了
  
12楼:ZBW001 2002年1月30日17:23
 看这样行不行?
你如果对测量的反应时间要求不高的话,可以不再第二次中断时计算,如在第4次,当然,
要保证你的定时器部益处,如果溢出,可以用一个寄存器纪录溢出的次数就行了,我建议你
采用8位自装方式定时,这样比较准
确                                                            
  
13楼:新兵 2002年1月30日17:27
 我编一段程序你试试
          不过信号电平得由你来匹配,100HZ/0-5V方波----INX0
ORG 0000H
LJMP START
ORG 0003H
LJMP OPXO
START:MOV TMOD,#00011001B
MOV TCON,#15H
MOV IE,#10000001B
INC PCON
SJMP $-2
OPXO:MOV P2,TH0
MOV P1,TL0
CLR A
MOV TL0,A
MOV TH0,A
RETI
END 
监视P1口,读数??? 

  
14楼:ZJF1999 2002年1月30日17:57
 这个程序行不行
INT00:    
    CLR    EA
    
    PUSH    ACC
    MOV    A,TH0
    CJNE    A,TL0,IEND
    MOV    A,TL0
    CJNE    A,#00H,IEND
    SETB    TR0
ERROR:
    MOV    39H,#0
    POP    ACC
    CLR    IE0
    SETB    EA
    RETI
IEND:
    CLR    TR0
    INC    39H
    MOV    A,39H
    CJNE    A,#01H,ERROR
    MOV    A,TH0
    MOV    37H,TL0
    CJNE    A,TH0,IEND
    MOV    38H,A
    MOV    TH0,#0
    MOV    TL0,#0
    POP    ACC
    SETB    EA
    CLR    IE0
    RETI    
  
15楼:新兵 2002年2月2日16:01
 我故意把37H=P1,38H=P2,是另有目的,“当无仿真器甚至连显示都无时,光单片机如何看结果”P1口读数的稳定如何,已足够说明问题。仿真=拐杖 既帮助行走又防碍行走。
  
16楼:幽游梦蝶 2002年1月30日22:01
 我个人认为测频率最好用定时器,频率高就计数有多少个脉冲,频率低就测周期
  
17楼:videohome 2002年2月1日00:01
 高低怎分?1200HZ,2200HZ是高?低?这两个是FSK信号的频率用什么最好?
  
18楼:老陈 2002年2月1日18:53
 显波器的输出电压只有2.5V,你先将它变成5V,否则单片机不知道是1还是0 ^_^
  
19楼:老陈 2002年2月1日19:07
 我看错了相信你的信号发生器应该没有问题 ^_^

>>>>>>对该主题发表你的看法

本主题贴数19,分页: [第1页]


[上一篇主题]:初学者:MEP和AT89C51的问题

[下一篇主题]:C51编程:请问各位: 手机SIM卡中的短信内容汉字用的是什么码?与区位码的关系是什么?