流水灯以及采用中断改变流水方向
原理图

代码段
#include "reg52.h"
void delay(unsigned int time){
unsigned int j=15000;
for(;time>0;time--)
for(j=0;j<500;j++);
}
char li[]={0xfe,0xfd,0xfb,0xf7,0xef};
bit dir=1;
get() interrupt 0{
dir=!dir;
}
void main(){
unsigned char i;
IT0=1;
EX0=1;
EA=1;
while(1){
if(dir==1){
for(i=0;i<=4;i++){
P2=li[i];
delay(100);
}
}
else{
for(i=5;i>=1;i--){
P2=li[i-1];
delay(100);
}
}
}
}
本文介绍了一种利用8051单片机通过中断技术实现流水灯双向变化的原理与代码。通过设置中断,程序在中断服务程序中切换灯的流向,实现实时控制。通过`delay`函数调整灯的闪烁频率,展示了中断在嵌入式编程中的应用。
1166

被折叠的 条评论
为什么被折叠?



