如何实现51单片机的按键k1按下,LED流水灯向右移动,按键k2被按下,LED流水灯向左移动?

如题所述

51单片机实现方法:

按键控制标志位flag取反。

然后把下面的代码放到循环里:

U8 temp0 = 1。

U8 temp1 = 0x80。

U8  i = 0。

if(flag == 1)。

{。

for(i=0;i<8;i++)。

{。

P1=temp0<<i。

}。

}。

else。

{。

for(i=0;i<8;i++)。

{。

P1=temp1>>i。

}。

}。

}。

对控制LED口的寄存器进行位操作,按k1左移,按K2就是右移了。

51单片机是对兼容英特尔8051指令系统的单片机的统称。51单片机广泛应用于家用电器、汽车、工业测控、通信设备中。因为51单片机的指令系统、内部结构相对简单,所以国内许多高校用其进行单片机入门教学。

51单片机的特点:

同样的一段程序,在各个单片机厂家的硬件上运行的结果都是一样的,如ATMEL的89C51(已经停产)、89S51, PHILIPS,和WINBOND等,我们常说的已经停产的89C51指的是ATMEL公司的 AT89C51单片机。

同时是在原基础上增强了许多特性,如时钟,更优秀的是由Flash(程序存储器的内容至少可以改写1000次)存储器取代了原来的ROM(一次性写入),AT89C51的性能相对于8051已经算是非常优越的了。


温馨提示:答案为网友推荐,仅供参考
相似回答