用中断控制流水灯的流动方向的程序怎么写,p1→p8,然后改变方向
发布网友
发布时间:2022-05-10 09:37
我来回答
共1个回答
热心网友
时间:2024-02-06 03:27
/*******************************************************************************************************/
#include reg51.h
sbit KK=P3^2;//按键
char AA[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//流水灯编码
int i;
char fe;
void YS(int hs);//延时函数
/*******************************************************************************************************/
void main()
{
fe=0;//初始化方向标识符
while(1)
{
P2=AA[i];//流水灯状态输出
YS(20); //延时,点亮时间设定
if(fe==0){i++; if(i7){i=0;}}//根据 fe 的值,执行对应的方向
else{i--;if(i0){i=7;} }
if(KK==0)//按键检测
{
YS(5);//延时去抖
if(KK==0){ fe=~fe; while(!KK); }//如果仍然被按下,方向标识符取反
}
}
}
/*******************************************************************************************************/
void YS( int hs)//延时函数
{
int hk;
for(;hs0;hs--)
{ for(hk=500;hk0;hk--); }// 10
}
/*******************************************************************************************************/
这个简单些,并通过实物测试通过
并附有注释,方便学习追问亲,能来个汇编吗?
追答这个不会