No.52353 作者:mcuer 邮件:mmddreg@163.com ID:19911 登陆:2次 文章数:9篇 最后登陆IP:220.170.214.94 最后登陆:2004/4/18 17:12:25 注册:2004/4/7 13:41:06 财富:131 发帖时间:2004/4/11 0:56:47 发贴者IP:220.170.212.97 标题:mcuer:还是那个2051正脉冲采集的问题 摘要:No.52353还是那个2051正脉冲采集的问题 我改了一下计数方式 TCON=0H TMOD=00011001B 我在计数开始前置TL0=0FFH,TH0=0FFH 中断里是这样处理的: INT_T0: PUSH ACC PUSH PSW MOV TL0,#06H ;(4*3)uS/2 MOV TH0,#0H SETB OTHERFLAG.4 POP PSW POP ACC RETI TL0,TH0中累加的值就是脉冲的宽度。各位达人,这样用T0计数可以吗? 然后在频率模块里检查TL0,TH0里累计的值得到脉冲宽度。 FREQUENCY_CHK: JB OTHERFLAG.2,F_CHK JB OTHERFLAG.3,F_GET JB OTHERFLAG.5,F_WAIT CLR TIMEFLAG.0 MOV T14MS,#07H SETB OTHERFLAG.5 F_WAIT: JB TIMEFLAG.0,F_EXIT1 JB P3.2,F_EXIT_1 MOV TL0,#0FFH MOV TH0,#0FFH CLR OTHERFLAG.4 SETB TR0 SETB OTHERFLAG.3 CLR TIMEFLAG.0 MOV T14MS,#07H RET F_EXIT1: ANL OTHERFLAG,#11000011B CLR SYSSTATE.1 F_EXIT_1: RET F_GET: JB TIMEFLAG.0,F_EXIT1 JNB OTHERFLAG.4,F_EXIT_1 JB P3.2,F_EXIT_1 CLR TR0 SETB OTHERFLAG.2 ANL OTHERFLAG,#1100 ......
>>返回讨论的主题
|