您现在所在的是:

单片机论坛

回帖:5个,阅读:1376 [上一页] [1] [下一页]
1136
coloreyes
文章数:133
年度积分:50
历史总积分:1136
注册时间:2009/8/1
发站内信
发表于:2010/2/26 11:40:55
#0楼
//INT0中断  由P3.2引脚产生
void int_0() interrupt 0 using 0
{
   FINT0=1;
}

我看源码的时候注释里面说INT0中断是由P3.2引脚产生的,在主程序里面并没有用到P3.2引脚,然后我就在主程序里面加了一行P3^2=0;果然执行INT0中断了,奇怪!

问题一:
为什么是P3.2而不是其他引脚

问题二:
这里的INT0到底是什么功能?我有查过相关资料,只说interrupt 0 using 0的0是外部中断然后使用第0组寄存器,不明白

请高手帮忙解疑,谢谢各位
1201
sprite914
文章数:148
年度积分:50
历史总积分:1201
注册时间:2008/4/28
发站内信
发表于:2010/2/26 12:36:32
#1楼
P3.2这个是根据你硬件来定义,你要看你单片机硬件电路图
10454
xlian
文章数:3232
年度积分:94
历史总积分:10454
注册时间:2002/5/7
发站内信
2018论坛热心网友
西门子PLC体验(二)
发表于:2010/2/26 12:37:20
#2楼
习本51单片机的书看下吧,51单片机的P3口有第二功能如P3.0串行数据接收;P3.1串行数据发送;P3.2外部中断0引脚;P3.3外部中断1;P3.4定时器0外部时钟;P3.5定时器1外部时钟;P3.6外部存储器写;P3.7外部存储器读;要问为什么这样安排,只有去问芯片设计的。51单片机中有4组工作寄存器(R0--R7)地址分别是(00H-07H;08H--0FH;10H-17H;18H-1FH)通过PSW寄存器的RS0,RS1控制位来切换。
中断的意思可以理解为插队,暂停当前正在执行的程序而去执行中断程序。
INT0是外部中断,有低电平触发和脉冲触发,当中断触发时就执行一次中断程序。






[此贴子已经被作者于2010-2-26 12:43:55编辑过]
957
月亮150
文章数:26
年度积分:50
历史总积分:957
注册时间:2009/2/26
发站内信
发表于:2010/3/17 2:44:18
#3楼
问题一:
为什么是P3.2而不是其他引脚

问题二:
这里的INT0到底是什么功能?我有查过相关资料,只说interrupt 0 using 0的0是外部中断然后使用第0组寄存器,不明白

1:硬件定义了这个脚就是中断口,这是单片机设计者规定的。
2:INT0就是一个中断口,interrupt 0 using 0是中断后进入函数,里面是产生中断后要干什么;简单讲,INT0是瓶口,interrupt 0 using 0是瓶内,瓶内是什么就看你瓶内放的是什么;
使用这个中断,在程序初始化中把这个中断打开,设定中断性质,打开总中断。
那这个口有信号,CPU在运行中就走到interrupt 0 using 0函数来了。
简例,如果你设定外部中断0为下升延中断;
那P3_2有个低电平信号,那就会把P1_0取反:0-》1;1》0;
sbit SS=P1_0;
void int_0() interrupt 0 using 0
{
   SS=~SS;
}
16067
xilinxue
文章数:2441
年度积分:50
历史总积分:16067
注册时间:2007/12/27
发站内信
发表于:2010/3/21 7:39:46
#4楼
这个是硬件设计的呀
6155
坏男孩
文章数:1917
年度积分:50
历史总积分:6155
注册时间:2009/1/2
发站内信
发表于:2010/3/21 16:56:25
#5楼
厂家设计的就是P3.2

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

62.4004