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

如题所述

今天回复得太多的问题,头晕啊
你这个题目有点问题。
首先外部中断0出现低电平的时候,就产生一个中断0,可以通过中断0进行处理数据,而且必须外部中断0端子为高电平的时候才能恢复中断。那么当你按下触发时,定时器0开始工作,松开触发按键,外部中断0一直为高电平,那么就必须判定语句进行判定,电路应该是2个按键,其中一个接高电平,另外一个接低电平,但是如果低电平是中断,那么中断一结束就必须检查外部中断0引脚P3.2,既然P3.2又作为普通输入输出脚,又如何做外部中断,因此建议不用中断做,可以用2个I/O口做,例如用P1.0和P1.1
当P1.0出现低电平时,开始定时
当P1.1出现低电平时,定时结束。
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-09-01
;中断入口
go:
mov th0,#0
mov tl0,#0;清定时器0
setb tr0;开启T0
jnb int0,$;检测中断0
clr tr0;中断检测到高电平了,计时停止
reti
第2个回答  2009-08-31
用外部启动的定时方式即可。
第3个回答  2009-09-01
为什么要用中断呢?直接检测i/o口不就行了。

51单片机,如果外部中断0被触发,定时器0、外部中断1、定时器1还能工作么...
外部中断0、定时器0、外部中断1、定时器1和串行口,它们是同时工作的。只是当满足一定的条件,它们会向CPU申请中断,而CPU只有一个,只能执行一个外设的中断程序。如果外部中断1被触发,CPU执行X1的中断程序,这时,定时器1和定时器0仍然在做自己的工作,并没有停止工作。楼主的问题,可能是问CPU的,...

将单片机的外部中断1、定时器中断0打开,要求定时器0的中断优先级高于外...
1、CPU同时接收到几个中断时,首先响应优先级最高的中断请求,低优先的进入队列等待;2、正在进行的中断过程不能被新的同级或低优先级的中断请求所中断;3、正在进行的低优先级中断服务,能被高优先级中断请求中断;那么,IP寄存器的某一中断配置为1就成为高优先级。每一个中断在IP里面只占一位配置位...

求一个单片机外部中断程序,要求用按键模拟单片机外部中断输入源,当按键...
1、打开Keil μVision编译器,新建一个工程,然后保存在硬盘上的位置,然后选择Atmel-AT89C51单片机为模型,并添加STARTUP.A51文件,然后在当前目录下新建一个C文件,并将其添加入工作路径。2、首先要导入51单片机的头文件,否则后续使用的端口都会出现未定义的情况,然后在主函数中,使得EA=1,即总中断...

怎样用51单片机定时器测一个高电平的持续的时间?谢谢
如果高电平时间比较短(大概35ms以内)可以使用外部中断的下降沿中断,当外部中断发生时关闭定时器,记录定时器TH0TL0的值,记录的定时器TH0TL0的值就是高电平的时间、等待中断输入引脚电平为高电平,清零TH0TL0并启动定时器,反复循环。如果高电平的时间大于35ms,则需要打开定时器中断,定时器溢出一次中...

51单片机之中断系统,外部中断
外部中断要看对应引脚外部的电平状态。 例如:外部中断0(INT0)对应的引脚是P32, 当出现 低电平 ,即P32引脚连接的地方是 低电平 ,进入相应的中断函数; 当出现 下降沿 ,即P32引脚连接的地方 由高电平变为低电平 ,进入相应的中断函数 内部中断源要看单片机内部的定时器\/计数器 中断...

C语言中,51单片机怎么将进入外部中断服务程序,
51单片机的外部中断主要分为两种触发方式。首先,我们有外部中断0(IT0,TCON.0),这是一个中断触发方式控制位。当IT0值设置为0时,意味着中断是电平触发方式;而当其值设为1时,则表示中断为边沿触发方式,其中下降沿有效。在进行51单片机的外部中断初始化时,我们首先需要开启中断源。对于外部中断0...

51单片机串口中断能优先定时器中断吗?
可以的 51单片机的默认(此时的IP寄存器不做设置)中断优先级为: 外部中断0 > 定时\/计数器0 > 外部中断1 > 定时\/计数器1 > 串行中断; 但这种优先级只是逻辑上的优先级,当同时有几种中断到达时,高优先级中断会先得到服务。这种优先级实际上是中断同时到达的情况下,谁先得到服务的优先级,而不...

编程:89c51中,使用外部中断0,每次响应中断时,P1口依次输出高电平,使...
MOV P1,A 中断用的p1口,所以这里先给各位置一 WAIT_A:JB P1.0,WAIT_B 这是等待p1.0,看开关按钮有没有送入低电平 JMP LEFT 如果按下按钮开关,送入低电平,就跳到LEFT让二极管从左侧依次点亮 WAIT_B:JB P1.1,WAIT_A 当然这就是等待p1.1了 JMP RIGHT LEFT:RLC A MOV...

51单片机外部中断函数执行时,定时器还在计时吗
外部中断执行过程中,只要定时中断能产生并且能进入定时中断子程序,定时器就可以计数,这跟你设置的中断优先级有关系。你的这段程序里好像没有体现中断优先级。如果定时器中断的优先级高于外部中断,这样就可以,否则就不行。举个简单的例子:执行中断好比一位老师讲课,没有设置中断优先级(默认设置)的...

编一个51单片机外部中断测频率的程序,急求!!
0 {count++;TR0=1;} void timer0() interrupt 1 { TH0=(65536-50000)\/256;TL0=(65536-50000)%256;t++;} 每一个下降沿到达时conut自加1。开启一个定时器,计算一定时间t内的count值,主程序就好写了,再写一个H=count\/t语句,H就是频率了。总体思路就是这样,细节你就自己来写吧。

相似回答