interrupt 3 using 3 是啥意思那 二个3 各是啥意思?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了interrupt 3 using 3 是啥意思那 二个3 各是啥意思?相关的知识,希望对你有一定的参考价值。

#include < reg51.h >
#include <intrins.h>

sbit LS138A=P2^2;
sbit LS138B=P2^3;
sbit LS138C=P2^4;
unsigned int LedNumVal,LedOut[8];
unsigned char code Disp_Tab[] = ~0xC0,~0xF9,~0xA4,~0xB0,~0x99,~0x92,~0x82,~0xF8,~0x80,~0x90,~0x88,~0x83,~0xC6,~0xA1,~0x86,~0xbf,~0xc7,~0x8c,~0xc1, ~0xff, ~0xf7 ;
void delay(unsigned int i)

char j;
for(i; i > 0; i--)
for(j = 200; j > 0; j--);

display()
unsigned char i;

LedOut[0]=Disp_Tab[LedNumVal%10000/1000];
LedOut[1]=Disp_Tab[LedNumVal%1000/100]&0x7f;
LedOut[2]=Disp_Tab[LedNumVal%100/10];
LedOut[3]=Disp_Tab[LedNumVal%10];

for( i=0; i<8; i++)
P0 = LedOut[i];

switch(i)

case 0:LS138A=0; LS138B=0; LS138C=0; break;
case 1:LS138A=1; LS138B=0; LS138C=0; break;
case 2:LS138A=0; LS138B=1; LS138C=0; break;
case 3:LS138A=1; LS138B=1; LS138C=0; break;
case 4:LS138A=0; LS138B=0; LS138C=1; break;
case 5:LS138A=1; LS138B=0; LS138C=1; break;
case 6:LS138A=0; LS138B=1; LS138C=1; break;
case 7:LS138A=1; LS138B=1; LS138C=1; break;



delay(150);



主程序 *
********************************************************/
void main(void)

P0=0xff;
P1=0xff;
P2=0xff;

// IT0=0; //低电平触发
IT0=1; //下降沿触发
EA=1;
EX0=1;

while(1)

display();


/********************************************************
* INT0中断函数 *
********************************************************/
void counter(void) interrupt 0

// unsigned char x;
EX0=0;
LedNumVal++; //中断计数
EX0=1;

/********************************************************/

void delay(unsigned int i)和display() 都被主程序调用了 。void counter(void) interrupt 0 中断函数在主函数的后面,没有被调用啊, 这个中断函数 是在什么时候运行那?

void counter(void) interrupt 0 是外部中断0的中断函数,在外部中断0引脚低电平时就自动调用了。 参考技术A interrupt 表示中断优先级,using表示所用工作寄存器组。

interrupt x using y
跟在interrupt 后面的xx 值得是中断号,就是说这个函数对应第几个中断端口,一般在51中
0 外部中断0
1 定时器0
2 外部中断1
3 定时器1
4 串行中断
其它的根据相应得单片机有自己的含义,实际上c在编译的时候就是把你这个函数的入口地址放到这个对应中断的跳转地址
using y 这个y是说这个中断函数使用的那个寄存器组就是51里面一般有4个 r0 -- r7寄存器,如果你的终端函数和别的程序用的不是同一个寄存器组则进入中断的时候就不会将寄存器组压入堆栈返回时也不会弹出来 节省代码和时间追问

寄存器组就是51里面一般有4个 是那些那?能详细吗?

本回答被提问者采纳

以上是关于interrupt 3 using 3 是啥意思那 二个3 各是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

写单片机中断中(C语言) interrupt 1 using 0 1 ,0 是啥用的?求解释。

interrupt是啥意思及反义词

interrupt是啥意思及反义词

interrupted是啥意思

interrupt是啥意思

Sorry to interrupt是啥意思