求一段51单片机程序。要求外部中断0触发后,定时器0开始计时,当外部中断检测到高电平了,计时停止。

来源:百度知道 编辑:UC知道 时间:2024/06/13 23:39:48

今天回复得太多的问题,头晕啊
你这个题目有点问题。
首先外部中断0出现低电平的时候,就产生一个中断0,可以通过中断0进行处理数据,而且必须外部中断0端子为高电平的时候才能恢复中断。那么当你按下触发时,定时器0开始工作,松开触发按键,外部中断0一直为高电平,那么就必须判定语句进行判定,电路应该是2个按键,其中一个接高电平,另外一个接低电平,但是如果低电平是中断,那么中断一结束就必须检查外部中断0引脚P3.2,既然P3.2又作为普通输入输出脚,又如何做外部中断,因此建议不用中断做,可以用2个I/O口做,例如用P1.0和P1.1
当P1.0出现低电平时,开始定时
当P1.1出现低电平时,定时结束。

;中断入口
go:
mov th0,#0
mov tl0,#0;清定时器0
setb tr0;开启T0
jnb int0,$;检测中断0
clr tr0;中断检测到高电平了,计时停止
reti

为什么要用中断呢?直接检测i/o口不就行了。

用外部启动的定时方式即可。