C51单片机中断的一点小问题

[复制链接]
 楼主| dingy 发表于 2011-12-18 16:46 | 显示全部楼层 |阅读模式
//INT0中断  由P3.2引脚产生
void int_0() interrupt 0 using 0
{
    FINT0=1;
}
我看源码的时候注释里面说INT0中断是由P3.2引脚产生的,在主程序里面并没有用到P3.2引脚,然后我就在主程序里面加了一行P3^2=0;果然执行INT0中断了,奇怪!
pengf 发表于 2011-12-18 16:50 | 显示全部楼层
为什么是P3.2而不是其他引脚。。。。
 楼主| dingy 发表于 2011-12-18 16:53 | 显示全部楼层
这里的INT0到底是什么功能?
supernan 发表于 2011-12-18 17:02 | 显示全部楼层
你没查查相关的资料?
 楼主| dingy 发表于 2011-12-18 17:04 | 显示全部楼层
我有查过相关资料,只说interrupt 0 using 0的0是外部中断然后使用第0组寄存器,不明白
chuxh 发表于 2011-12-18 17:07 | 显示全部楼层
51单片机的P3口有第二功能的
司徒老鹰 发表于 2011-12-18 17:09 | 显示全部楼层
P3.2这个是根据你硬件来定义,你要看你单片机硬件电路图
llljh 发表于 2011-12-18 17:10 | 显示全部楼层
51单片机的P3口有第二功能如P3.0串行数据接收;P3.1串行数据发送;P3.2外部中断0引脚;P3.3外部中断1;P3.4定时器0外部时钟;P3.5定时器1外部时钟;P3.6外部存储器写;P3.7外部存储器读
supernan 发表于 2011-12-18 17:13 | 显示全部楼层
51单片机中有4组工作寄存器(R0--R7)地址分别是(00H-07H;08H--0FH;10H-17H;18H-1FH)通过PSW寄存器的RS0,RS1控制位来切换。
chuxh 发表于 2011-12-18 17:22 | 显示全部楼层
中断的意思可以理解为插队,暂停当前正在执行的程序而去执行中断程序。
INT0是外部中断,有低电平触发和脉冲触发,当中断触发时就执行一次中断程序。
栩栩如生 发表于 2011-12-18 17:28 | 显示全部楼层
连中断都解释了,瞧,多认真
juventus9554 发表于 2011-12-18 17:32 | 显示全部楼层
KEIL里边interrupt关键字后边的数字是几那么中断入口就是8n+3,using关键字是指定寄存器组的,这样可以快速处理中断,如果不用这个关键字每次进中断都要保存八个寄存器组
renyaq 发表于 2011-12-18 17:35 | 显示全部楼层
需要比较主循环使用的寄存器段
llljh 发表于 2011-12-18 17:40 | 显示全部楼层
功能就是这么定的,人为设定的
pengf 发表于 2011-12-18 18:59 | 显示全部楼层
这是外部中断,INT0低电平有效,你给P3.2置低,当然产生中断。
 楼主| dingy 发表于 2011-12-18 19:02 | 显示全部楼层
晓得了,多谢大家
 楼主| dingy 发表于 2011-12-18 19:02 | 显示全部楼层
结贴了
bossqian 发表于 2011-12-18 21:49 | 显示全部楼层
P3.2是单片机芯片规定的,当在单片机程序设置时将外部中断0打开时,单片机检测到P3.2有相应的电平(低电平或负脉冲沿)时,单片机自动中断当前程序运行,跳到中断函数
alnjby 发表于 2011-12-19 08:03 | 显示全部楼层
根据你硬件来定义,你要看你单片机硬件电路图










耳鼻喉医院
武警南京医院
fjzzclc 发表于 2011-12-19 08:59 | 显示全部楼层
学习,学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

745

主题

10920

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部

745

主题

10920

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部