89C51单片机,外部中断不响应,一直是高电平。

问题描述

89C51单片机,外部中断不响应,一直是高电平。

在学习板P3.3接外部脉冲,脉冲是24V金属接近开关输出信号,用39k、10k电阻分压至5V左右,输入单片机P3.3引脚。用检测外部中断程序测试,中断一直不响应,无论外部脉冲是高、低电平,测量P3.3和GND电压一直是4V多。脉冲输入不进去,请问有人知道这是什么问题吗?

解决方案

建议再次检查中断向量表和中断入口地址

解决方案二:

先单独测试下你的中断代码对不对

时间: 2024-12-12 05:56:40

89C51单片机,外部中断不响应,一直是高电平。的相关文章

在单片机开发中,我遇到了一个很奇怪的关于外部中断的问题

问题描述 在单片机开发中,我遇到了一个很奇怪的关于外部中断的问题 void button_int0 () interrupt 0 { //当函数正确时,需改正delay(大数目)为delay_stop(大数目); uchar timp; uint i=0; /**** IE=0x80时,程序执行完了,但是没有办法退出中断, 当使用EA=0时,就可以退出中断了.很肯定的是,并没有重复进入中断. *****/ //IE=0x80; EX0=0; EA=0; light =1: timp=P1; ex

c语言 c++ 单片机-51单片机利用两个外部中断(和一个定时器)计算两个中断的时间间隔的C语言程序。谢谢了

问题描述 51单片机利用两个外部中断(和一个定时器)计算两个中断的时间间隔的C语言程序.谢谢了 51单片机利用两个外部中断(和一个定时器)计算两个中断的时间间隔的C语言程序.谢谢了 .万分感谢... 解决方案 具体的哪个单片机?代码需要整个写好么? 解决方案二: http://zhidao.baidu.com/link?url=qpZQDUaPuGYd69ZgYe3bESTSAS7vjc0XO7puc-KtYMWVkxwtMbh5xTkWI5GbvvHT6Eb3WKFhqIfbl7HtGBGZV

《51单片机应用开发从入门到精通》——2.8 用外部中断控制灯闪烁

2.8 用外部中断控制灯闪烁 功能说明:单片机P1端口的8只LED作左移右移,不断循环.当按外部中断INT0开关K1时,循环停止,转而使8只LED闪烁4次,然后再恢复灯的左右移循环. 2.8.1 硬件设计 外部中断INT0电路如图2-11所示. 单片机的P3端口除当一般I/O使用外,还有第二功能,其P3.2(INT0)脚是外部中断0的输入脚,其P3.3(INT1)脚是外部中断1的输入脚. 本电路图中,在P3端口的P3.2引脚上接有外部中断INT0控制开关K1,作为外部中断的输入信号.输出部分由P

c-请问51单片机按键中断失效。

问题描述 请问51单片机按键中断失效. 自己做了块板子,MCU是IAP15F2K61S2,其他的程序烧进去可以跑,但是外部中断0的 按键按上去没有反应,程序上应该没问题,软件仿真可行,并且大部分为源代码,上电后 测试过未按键,引脚的电压是5V,而按键按下别为0V,感觉也没有问题,但为什么程序 不响应?在线求大神解答. 解决方案 51单片机中断问题51单片机之中断 学习心得 解决方案二: 先下一个基础程序进去看看 确保硬件没有问题 有硬件不建议用仿真 仿真蛮容易忽略很多问题 解决方案三: 你打开外

AVR单片机定时器中断1s不准是怎么回事?

问题描述 AVR单片机定时器中断1s不准是怎么回事? 我的开发板是ATMEGA16的,用定时器1进行1s的定时,外部晶振是11.059M,256分频,计算得出初值为0x5740,然后计数60次进行1分钟的定时,控制小灯亮1分钟暗分钟,但是结果总是在55秒时小灯就变换一次,熔丝位配置为1111,会是啥问题呢,想不明白. 解决方案 51单片机定时器中断控制灯1S亮的程序 解决方案二: 注意下T1定时器是不是外部晶振,如果是内部8M晶振的话初始值应该为85ed,我没有用过avr的片子,从网上找的资料例

c语言-我想用定时和外部中断写一个小车避障程序,可是不知道哪里错了,求解答

问题描述 我想用定时和外部中断写一个小车避障程序,可是不知道哪里错了,求解答 5C #include#include#define uint unsigned int#define uchar unsigned charsbit echo=P3^2;sbit trig=P2^3;unsigned char stime; void PWM_zk0(float zk) //高电 平占得比例占空比为(Gao/255){ CCAP0H = CCAP0L =255*(100.0 - zk)/100.0;

51单片机定时器中断问题

问题描述 51单片机定时器中断问题 代码如下,设置断点后发现,程序不进入定时器中断函数 #include #include #define uchar unsigned char #define uint unsigned int sbit key=P3^7; uchar display[8][8]; /*rank:Z,H,B,I,T,I,心,U*/ uchar code table_cha[8][8]={0x7E, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x7

arm11-ARM11外部中断无法跳出

问题描述 ARM11外部中断无法跳出 在OK6410上测试外部按键中断,中断进入后没有跳出,怎么回事 解决方案 调试下,可能是中断的错误 解决方案二: 1.看看是不是你在中断里面有死循环语句: 2.你进中断后第一件是应该是将产生此中断标志位清除,以便下次中断能顺利进入: 3.你用的是不是几个中断共用的中断函数,有没有可能是其他中断引起的,异常中断进入的也应该清除异常引起中断的标志位: 建议:中断程序尽量短,尽可能不要把执行程序放入中断内,在中断中可以置一个标志位, 然后在主程序里判断标志位.清除

linux内核-tasklet被外部中断抢占问题

问题描述 tasklet被外部中断抢占问题 tasklet是软中断的一种,在执行的时候不能睡眠.但是它可以被外部中断抢占.这里是不是有点前后矛盾呢? 如果tasklet被外部中断抢占,那就可能进入睡眠,执行失败 如果执行tasklet之前屏蔽中断,对于中断上下文就没有任何意义了 不太明白,请高手来解答?谢谢 解决方案 看一下 进程状态转换 就明白了 进程有 就绪态和执行态(书上写的),但是在代码中只有一个定义--TASK_RUNNING 被抢占意味着tasklet从执行态进入就绪态,但是仍然是T