求单片机编程高手解答一下这道题
2个回答
展开全部
假设晶振12MHz,参考如下程序
ORG 0000H
AJMP MAIN ;跳转到主程序去运行
ORG 0003H ;外部中断0入口地址
LJMP EX0INT ;转到中断服务程序去运行
ORG 200H
MAIN:
MOV P1,#0FFH ; 熄灭掉P1端口的灯
SETB P3.2;让P3.2这引脚置为高电平,等下按下其所接的开关将有下降沿触发
SETB IT0 ;外部中断0条件 下降沿触发
SETB EX0 ;外部中断0条件 使能外部中断
SETB EA ;外部中断0条件 使能总中断
LOOP:AJMP LOOP ;
EX0INT:CPL P1 ;对P1脚取反,即让P1.0所接的LED亮起来
ACALL DELAY1MS ;延时,1MS
RETI ;中断服务程序返回,返回到LOOP处等待下次中断
DELAY1MS: ;延时子程序,12MHZ 延时时间为1MS
MOV R1,#1
D: MOV R2,#2
T: MOV R3,#248
DJNZ R3,$
DJNZ R2,T
DJNZ R1,D
RET ;子程序返回指令,子程序的设计一般都是因为主程序要调用它,
;调用完是要返回到主程序继续运行下一个语句的
END
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询