单片机IT1代码改用IT0

单片机IT1代码改用IT0,第1张

INT0/1为1下降沿触发 为0电平触发 ,而下降沿触发IE0和IE1可以自动清零,而电平触发得人为把IE0和IE1清零,要不然会一直启动中断。IE0/1可以自动清零,所以一般用下降沿触发

IT:interrupt type control

IE: interrupt enable

TF: Timer overflow flag

EX: external interrupt enable

ET: timer interrupt enable

PX: external interrupt priority

PT: Timer interrupt priority

它们只是一个名字而已,取的一个类似代号,并不是什么全称的简写, 有T的呢是timer的简写,也就是定时器相关会打上这个T,但并非所有,X(EXTERNAL)表示外部中断口的,E使能ENABLE,P(PRIORITY),F(FLAG),T:triggering I:(interrupt) 这里只是说明一下,上面他写的也没错。

下面是修改的代码。你注意注释部分:

ORG 0000H

JMP START

ORG 13H //这里要改,因为it0和it1的中断向量表地址不同,这个地方要

//看你的单片机类型,51的话,就不是13这数值,你看看你的

//it0的中断起始地址应该是什么,把13H改了。

JMP INT_0 //改为INT_0

START: MOV IE,#10000100B //IE也需要改,设置中断控制寄存器:

//改为MOV IE,#01001000B

MOV SP,#30H

SETB IT1 //这里要改为SETB IT0

MOV A,#01010101B

LOOP: MOV P0,A

CALL DELAY

CPL A

JMP LOOP

INT_0: PUSH PSW

PUSH ACC

SETB RS0

MOV R0,#3

INT_LOOP:MOV A,#0FEH

MOV R1,#7

INT_LOOPL:MOV P0,A

CALL DELAY

RL A

DJNZ R1,INT_LOOPL

MOV R1,#7

INT_LOOPR:MOV P0,A

CALL DELAY

RR A

DJNZ R1,INT_LOOPR

DJNZ R0,INT_LOOP

POP ACC

POP PSW

RETI

DELAY: MOV R7,#200

D1: MOV R6,#250

DJNZ R6,$

DJNZ R7,D1

RET

END

需要改的就这几个地方,希望你看看。因为你没有具体的限制是什么类型的单片机,这样的话,指令和中断地址就不能非常具体的给你改。你结合我的提示,改改吧。

当然不一样了

1电平触发是在高或低电平保持的时间内触发,

2而边沿触发是由高到低或由低到高这一瞬间触发

3 边沿触发一般时间短,边沿触发一般时间都是us级的,响应要快的,而电平触发只须是高和低就可以了,没时间要求,比如10s 时间内总是低电平,那么它也是触发的,

比如中断计时或计数,最好用边沿触发,用电平触发误差会很大,电平触发一般用于简单报警,开关一类(时间要求不高的)

1、设置TI=1,是人为的设置了串行发送请求完毕的中断请求标志。但是你并没有致能(es=1)串口中断。实际上你的interrupt5的处理程序也没有写,是空的。(注意这点)

2、你既然没有设置it0=1(跳变触发中断),那么就是IT0=0(低电平触发)。

3、当一个低电平来的时候,就进入你的interrupt0处理程序。并且硬件自动清标记位置。执行完毕 beer=1。

4、这个时候还有一个中断请求标志IT=1,于是产生了中断嵌套。执行完高级中断后,进入低级中断interrupt5。之后是空白。。。。

5、结果就是你描述的:蜂鸣器一直响,数码管停止显示。

不知道我这样描述,你能不能理解。呵呵

IT0 是用来选择外部中断0的触发方式。

IT0=0; 低电平触发中断;

IT0=1; 下降沿触发中断。

对于楼主给出的程序,这句 IT0 = 0; 没有任何用处,纯属垃圾。

因为开机复位后,IT0 ,它本来就是 0。

以上就是关于单片机实验 按钮触发外部中断 以下程序中为什么IT0和IT1为1即为什么是负跳变而不是低电平触发全部的内容,包括:单片机实验 按钮触发外部中断 以下程序中为什么IT0和IT1为1即为什么是负跳变而不是低电平触发、单片机中断控制里(IT,IE,TF,EX, ET,PX,PT)他们各自的英文全称、单片机IT1代码改用IT0等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/8847385.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-22
下一篇2023-04-22

发表评论

登录后才能评论

评论列表(0条)

    保存