LED流水灯,从右到左的实现流程

本次实验参考的是《手把手教你学51单片机(宋雪松)》,编程软件是Keil uVision5,仿真软件是Proteus 8 Professional。

本次实现的是从右到左的实现流程,上一篇实现从左到右的实现流程,欢迎大家浏览!

我们了解到控制引脚 P0.0 经过 74HC245 控制了 DB0,P0.1 控制 DB1……P0.7 控制 DB7。我们还学到一个字节是 8 位,我们如果写一个 P0,就代表了 P0.0 到 P0.7 的全部 8 个位。图片进行说明。

在上一次实验中我采用了一种方法,而本次实验我采用了另外一种方法,当然上一种方法也是可以实现的,如果你有此疑虑,欢迎留言。

仿真图:

源码:

新建一个51工程后,可以参考此程序,希望你能有所收益,采用C语言进行编程

xx.c(xx是你的文件名):

#include<reg52.h>

void Delay (unsigned long nCount)
{
    for(;nCount!=0;nCount--);
}

sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;

main()
{
    unsigned int i=0;
    ENLED = 0;
    ADDR3 = 1;
    ADDR2 = 1;
    ADDR1 = 0;
    ADDR0 = 0;
  while(1){
    while(1){
    for(i=0;i<8;i++){
    Delay(5000);
    P0=~(0x01<<i);
    Delay(5000);
    
}
    
    
    for(i=0;i<8;i++){
    Delay(5000);
    P0=~(0x01<<(7-i));
    
    Delay(5000);
}
    
  }}

如果你的实验出现问题,请仔细检查你的工程,代码无错。

如果你想实现下从右到左的实现流程,可以看看此篇文章

LED流水灯,从左到右的实现流程_初尘屿风的博客-CSDN博客

点赞 转发 评论

猜你喜欢

转载自blog.csdn.net/qinluyu111/article/details/123521741