一:单片机外部中断实验用汇编语言编程,求程序,附图
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
扫一扫手机访问
