单片机中断实验程序

一:单片机外部中断实验用汇编语言编程,求程序,附图

ORG 0000H

LJMP MAIN

ORG 0003H

LJMP EXT0

ORG 0030H

MAIN:

MOV SP,#5FH

SETB IT0

SETB EX0

SETB EA

MOV A,#0F0H

MOV P2,A

SJMP $

EXT0:

CPL A

MOV P2,A

RETI

END

二:求单片机实验的外部中断实验的程序 50分

#include

#include

#define uchar unsigned char

uchar cnt,times;

void delay()

{

uchar i;

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

TR0=1;

for(i=0;i

{

while(TF0==0);

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

TF0=0;

}

TR0=0;

}

void ext0() interrupt 0

{

uchar i,j;

P1=0xfe;

times=8;

for(i=0;i<5;i++)

{

for(j=0;j<8;j++)

{

P1=_crol_(P1,1);

delay();

}

}

}

void ext1() interrupt 2

{

uchar i,j;

P1=0x7f;

times=12;

for(i=0;i<3;i++)

{

for(j=0;j<8;j++)

{

P1=_cror_(P1,1);

delay();

}

}

}

main()

{

EX0=1;

EX1=1;

IT0=0;

IT1=1;

PX0=0;

PX1=1;

while(1);

}

三:单片机中断实验

# include

sbit L1=P1^0; //指示灯

main ()

{

EA = 1; //开总中断

EX0=1;//开外部中断

while(1);//死循环等待中断

}

void Interrupt1 (void) interrupt 0 //外部中断处理函数

{

L1=!L1;//改变一次LED

}

四:单片机定时器中断实验 程序(汇编语言)不要c语言的

下列程序,已经经过实验,可以满足题目要求.

ORG 0000H

SJMP MAIN

ORG 000BH

SJMP T0_INT

MAIN:

MOV TMOD, #01H ;T0定时方式1

MOV TH0, #(65536-50000) / 256 ;定时50ms@12MHz

MOV TL0, #(65536-50000) MOD 256 ;

S骇TB TR0 ;启动T0

MOV IE, #82H ;开中断

;第一秒钟L0,L2亮,第二秒钟L1,L3亮,第三秒L4,L6亮,第四秒钟L5,L7亮,

;第五秒L0,L2,L4,L6亮,第六秒钟,L1,L3,L5,L7亮,第七秒钟八个二极管全亮,第八秒钟全灭.

MOV 30H, #11111010B

MOV 31H, #11110101B

MOV 32H, #10101111B

MOV 33H, #01011111B

MOV 34H, #10101010B

MOV 35H, #01010101B

MOV 36H, #00000000B

MOV 37H, #11111111B

MOV R0, #30H

MOV R7, #20

M_LOOP:

SJMP M_LOOP ;无限循环

T0_INT:

MOV TL0, #(65536-50000) MOD 256 ;

MOV TH0, #(65536-50000) / 256 ;定时50ms@12MHz

DJNZ R7, T0_END

MOV R7, #20

MOV P1, @R0

INC R0

CJNE R0, #38H, T0_END

MOV R0, #30H

T0_END:

RETI

END ;完

五:求大神帮忙解决下单片机外部中断实验的问题。

把这行的void int0() interrupt 0 //using 0,定义的去掉,不用定义寄存器组,因为定义了,在中断子程序和主程序中都调用了延时子程序,这样在中断子程序中破坏了主程序的变量值,不定义时,编译时就是保护主程序的变量。如果要定义的话,要改成void int0() interrupt 0 using 1

这样就可以了。

这个已经调试通过的,放心好了。不过,别忘了,给个采纳呀!

六:急求单片机外部中断程序

bit sign=0;

void main()

{

EA =1; //开总中断

EX0=1; //允许外部中断0中断

IT0=0; //设置为电平触发方式

while(1)

{

if盯sign==0) //sign=0;显示 sign=1;程序进不来不显示

{

//数码管显示

}

}

}

void WW() interrupt 0

{

sign=~sign;

}

我只是简写一下,大概就是这个意思:第一次按下数码管显示,再按一下数码管不显示

希望对你有所帮助!

七:c51单片机外部中断实验,需要编写程序,,,急急急!!!

简单的很呢

八:单片机定时器中断实验程序!!!如果有那个电路图最好! 50分

我说说大致过程吧

就是设计主程序为灯循环程序,再设计一个上升沿中断程序,让程序自己循环跳转(或者说是让程序空调转),再设计一个下降沿中断程序,让程序跳转到主程序

九:80C51单片机按键中断实验(用汇编语言)

:

ORG 0000H

LJMP MAIN

ORG 0003H

LJMP X0_INT

ORG 0013H

LJMP X1_INT

ORG 0030H

MAIN:

SETB EA

SETB EX0

SETB EX1

SETB IT0

SETB IT1

MOV B, #0FFH

MOV P1, B

HERE:

SJMP HERE

X0_INT: MOV A, B

RL A

DEC A

MOV B, A

MOV P1, A

RETI

X1_INT:

MOV A, B

RR A

ADD A, #80H

MOV B, A

MOV P1, A

RETI

END

扫一扫手机访问

发表评论