Ⅰ 如何实现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已经算是非常优越的了。
Ⅱ 51单片机用按钮控制流水灯左右移动
硬件电路不用指定吗?
http://blog.163.com/asm_c/blog/static/2482031132014485270627/
参考。
Ⅲ 单片机八个流水灯左右依次点亮
首先,打开proteus,可以看到界面上方有"库",点开,在库里选择做实验需要的元件。
如图所示,我们做流水灯实验所需要的元件,就是红色方框里面的元件,一定都要添加进来,要不然实验就做不成功。
接着,我们按照电路原理图,排布好元件,连好线,最后的电路如图所示。
我们把实验代码插入单片机,然后点击界面左下角的开始按钮,就可以运行电路。
如图所示,八个流水灯依次点亮。
Ⅳ 关于单片机流水灯左移右移的问题
51单片机
的左移右移,首先在开始要调用"intrins.h"的文件包,这个文件包含_cror_(右移),_crol_(左移);然后通过for语句来控制;
for(m=20;m>0;m--)
for(n=20;n>0;n--)
for(k=250;k>0;k--);
理解这三句,第一句是指:m=20;m>0然后m--是真就执行:
for(n=20;n>0;n--)
for(k=250;k>0;k--);
这两句,m--一直减,减一次,里面就执行一次,这里是20次。
流水灯的左右移,第一用"intrins.h"的文件包,第二要要会定义赋值变量,第三延时,这是关键。