在我们的生活中,随处可见各式各样的彩灯,给这本来充满美丽的世界又添加了一份别致的美,想知道流水灯是怎么实现的吗?现在就跟我走进这实现流水灯的大道吧!
其实利用单片机的中断功能就可以实现。本篇文章是当每按一次键时,灯向一个方向(向左或向右)点亮一个灯,就像流动的水一样。
中断应用实例:
以外部中断为例,做一个中断的应用试验。在实验板上有一个按钮,在INT0引脚上装有一个按钮,可以用这个按钮来模拟外部中断产生的信号,并用P0口接的LED作为中断响应,如下图1-1所示。
一、 威廉希尔官方网站
原理图
二、 实际应用程序
ORG 0000H
AJMP START
ORG 0003H ;外部中断入口地址
LJMP INT_0 ;转到真正的处理程序处
ORG 0030H
START:
SETB IT0 ;令INT0为负边沿触发中断
SETB EA ;CPU开放总中断
SETB EX0 ;开外部INT0中断
MOV P1,#0FEH ;点亮D1
LJMP $ ;跳转到本行
INT_0: ;中断服务程序
PUSH PSW
PUSH ACC ;保护现场
MOV A, P1
RL A ;对A左移一位,变成0FDH
MOV P1,A
POP ACC
POP PSW ;恢复现场
RETI ;中断返回
END
程序说明:ORG是一条伪指令,用来指示程序代码的存放位置。“ORG 0000H”说明代码从0000H开始存放;“ORG 0003H”说明代码从0003H开始存放,及外部中断0的入口地址。其他指令的用途对照注释不难看懂。
在我们的生活中,随处可见各式各样的彩灯,给这本来充满美丽的世界又添加了一份别致的美,想知道流水灯是怎么实现的吗?现在就跟我走进这实现流水灯的大道吧!
其实利用单片机的中断功能就可以实现。本篇文章是当每按一次键时,灯向一个方向(向左或向右)点亮一个灯,就像流动的水一样。
中断应用实例:
以外部中断为例,做一个中断的应用试验。在实验板上有一个按钮,在INT0引脚上装有一个按钮,可以用这个按钮来模拟外部中断产生的信号,并用P0口接的LED作为中断响应,如下图1-1所示。
一、 威廉希尔官方网站
原理图
二、 实际应用程序
ORG 0000H
AJMP START
ORG 0003H ;外部中断入口地址
LJMP INT_0 ;转到真正的处理程序处
ORG 0030H
START:
SETB IT0 ;令INT0为负边沿触发中断
SETB EA ;CPU开放总中断
SETB EX0 ;开外部INT0中断
MOV P1,#0FEH ;点亮D1
LJMP $ ;跳转到本行
INT_0: ;中断服务程序
PUSH PSW
PUSH ACC ;保护现场
MOV A, P1
RL A ;对A左移一位,变成0FDH
MOV P1,A
POP ACC
POP PSW ;恢复现场
RETI ;中断返回
END
程序说明:ORG是一条伪指令,用来指示程序代码的存放位置。“ORG 0000H”说明代码从0000H开始存放;“ORG 0003H”说明代码从0003H开始存放,及外部中断0的入口地址。其他指令的用途对照注释不难看懂。
举报