51单片机怎么设置外部中断?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51单片机怎么设置外部中断?相关的知识,希望对你有一定的参考价值。

参考技术A 1.中断允许寄存器--IE
IE在特殊功能寄存器中,字节地址为A8H,位地址(由低位到高位)分别是A8H-AFH。
EA:全局中断允许位。EA=0,关闭全部中断;EA=1,打开全局中断控制,在此条件下,由各个中断控制位确定相应中断的打开或关闭。
×:无效位。
ES:串行I/O中断允许位。ES=1,打开串行I/O中断;ES=0,关闭串行I/O中断。
ETl;定时器/计数器1中断允许位。ETl=1,打开T1中断;ETl=O,关闭T1中断。
EXl:外部中断l中断允许位。EXl=1,打开INT1;EXl=0,关闭INT1。
ET0:定时器/计数器0中断允许位。ET0=1,打开T0中断;ET0=0,关闭TO中断。
EXO:外部中断0中断允许位。Ex0=1,打开INT0;EX0=0,关闭INT0.

2,。TCON定时器/计数器控制寄存器
TCON在特殊功能寄存器中,字节地址为88H,位地址(由低位到高位)为88H一8FH,由于有位地址,十分便于进行位操作。
TCON的作用是控制定时器的启、停,标志定时器溢出和中断情况。
各位定义如下:
TF1:定时器1溢出标志位。当字时器1计满溢出时,由硬件使TF1置“1”,并且申请中断。进入中断服务程序后,由硬件自动清“0”,在查询方式下用软件清“0”。
TR1:定时器1运行控制位。由软件清“0”关闭定时器1。当GATE=1,且INT1为高电平时,TR1置“1”启动定时器1;当GATE=0,TR1置“1”启动定时器1。
TF0:定时器0溢出标志。其功能及操作情况同TF1。
TR0:定时器0运行控制位。其功能及操作情况同TR1。
IE1:外部中断1请求标志。
IT1:外部中断1触发方式选择位。
IE0:外部中断0请求标志。
IT0:外部中断0触发方式选择位。

外部中断标志位清除不了

MSP430程序,在IO口初始化时设置P2IE|=BIT3;P2IES=0;P2IFG =0;此时能清除中断标志位,但进入中断以后用P2IFG =0清除中断标志位清除不了,中断标志位一直为P2IFG=0x08,求高手指教

参考技术A 2.
引脚设置

PxDIR
输入
/
输出方向寄存器

PxIN
输入寄存器

PxOUT
输出寄存器

PxIFG
中断标志寄存器

PxIE
中断使能寄存器

PxSEL
功能选择寄存器


1
)若使用
P1
口的部分引脚作为中断方式,在开总中断之前务必
设置好
P1IFG

P1IES

P1IE
寄存器的相应位,并确保相应引
脚为输入方向。


2

为了尽量降低功耗,
对连接引脚应设定为
IO
功能并设为输出。


3
)中断标志需要软件清除!可以用软件置位产生中断。

MSP430

IO
中断由
P1
口和
P2
口输入变化的电平触发,
P1

P2

有八个输入
IO

P1
的八个
IO
共用一个中断向量,
P2
的八个
IO
共用
另一个中断向量。
在中断服务程序中判断到底是哪个
IO
口触发中断。

以上是关于51单片机怎么设置外部中断?的主要内容,如果未能解决你的问题,请参考以下文章

51单片机外部中断0函数执行时,又来了个外部中断0信号

C语言中,用于设置中断、中断信号的函数都有哪些?怎么设置一个发送中断信号(自己定义的)的函数?

51单片机的中断嵌套怎么实现呢?

单片机C51的中断程序应该怎么写

关于51单片机的外部中断使用方法

51单片机中的定时器中断是怎么用的 ?