一:单片机外部中断实验用汇编语言编程,求程序,附图
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 } 下列程序,已经经过实验,可以满足题目要求. 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; } 我只是简写一下,大概就是这个意思:第一次按下数码管显示,再按一下数码管不显示 希望对你有所帮助! 简单的很呢 我说说大致过程吧 就是设计主程序为灯循环程序,再设计一个上升沿中断程序,让程序自己循环跳转(或者说是让程序空调转),再设计一个下降沿中断程序,让程序跳转到主程序 : 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三:单片机中断实验
四:单片机定时器中断实验 程序(汇编语言)不要c语言的
五:求大神帮忙解决下单片机外部中断实验的问题。
六:急求单片机外部中断程序
七:c51单片机外部中断实验,需要编写程序,,,急急急!!!
八:单片机定时器中断实验程序!!!如果有那个电路图最好! 50分
九:80C51单片机按键中断实验(用汇编语言)