找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3430|回复: 9
收起左侧

新手小白自己写的流水灯程序 指教!

  [复制链接]
ID:231824 发表于 2017-9-8 08:56 | 显示全部楼层 |阅读模式
一个新手小白,在自己的努力下写出一个流水灯的程序
虽然很简单,但是对于我来说也是很难的
所以大家给点意见。帮助我改善,让我更好的学习51
  1. #include<reg52.h>
  2. sbit LED1=P1^0;
  3. sbit LED2=P1^1;
  4. sbit LED3=P1^2;
  5. sbit LED4=P1^3;
  6. sbit LED5=P1^4;
  7. void delay(int i)         
  8. {
  9.   int j,k;
  10.   for(j=i;j>0;j--)
  11.     for(k=125;k>0;k--);
  12. }
  13. main()
  14. {
  15.         while(1)
  16.         {
  17.                 LED1=0;
  18.                 LED2=LED3=LED4=LED5=1;
  19.                 delay(1000);
  20.                 LED2=0;
  21.                 LED1=LED3=LED4=LED5=1;
  22.                 delay(1000);
  23.                 LED3=0;
  24.                 LED2=LED1=LED4=LED5=1;
  25.                 delay(1000);
  26.                 LED4=0;
  27.                 LED2=LED3=LED1=LED5=1;
  28.                 delay(1000);               
  29.                 LED5=0;
  30.                 LED2=LED3=LED4=LED1=1;
  31.                 delay(1000);
  32.         }
  33. }
复制代码



流水灯.rar

21.18 KB, 下载次数: 4

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:231633 发表于 2017-9-8 16:27 | 显示全部楼层
LED2=LED3=LED4=LED5=1;  
不要这么写,这个习惯不好。
最好这样写
LED2 = 1;
LED3 = 1;
LED4 = 1;
LED5 = 1;
回复

使用道具 举报

ID:231984 发表于 2017-9-8 21:50 | 显示全部楼层
除了楼上说的 其他都还好
回复

使用道具 举报

ID:469932 发表于 2019-1-29 01:15 | 显示全部楼层
写这个流水灯的效果很多,有移位,数组等。但你也不错了。加油!

评分

参与人数 6黑币 +97 收起 理由
jinsheng7533967 + 35 很给力!
#include51.h + 15
Trump1438 + 12 回帖助人的奖励!
yoxi + 15 赞一个!
刀刀见红 + 10 真心是不错!
zhengchong60 + 10 点评地很到位,深刻!51黑有你更精彩!

查看全部评分

回复

使用道具 举报

ID:227622 发表于 2019-1-29 14:22 | 显示全部楼层
LED2=LED3=LED4=LED5=1;   不要这么写,这个习惯不好。 最好这样写 LED2 = 1; LED3 = 1; LED4 = 1; LED5 = 1;还有就是,流水灯可以使用一下移位《《   》》的操作,这样可以简化代码,提高代码的可读性。还可以做一些花样的等,例如立方灯,这样使用数组的形式比较好
回复

使用道具 举报

ID:356526 发表于 2019-1-29 16:09 来自手机 | 显示全部楼层
一楼说的对,我再补充一下,你可以不用定义这么多引脚,直接用16进制数赋值给P1口,然后对P1口左移循环或者右移循环就好了
回复

使用道具 举报

ID:466753 发表于 2019-1-29 20:26 | 显示全部楼层
你可以尝试用移位指令,这样循环点亮就变的简单
回复

使用道具 举报

ID:449525 发表于 2019-1-30 09:53 | 显示全部楼层
0和1就是通断,执行一次就行了。就是开关打开就行啦,懂了么?
回复

使用道具 举报

ID:453974 发表于 2019-1-30 10:48 | 显示全部楼层
用左右移函数写,比较练程序
回复

使用道具 举报

ID:470939 发表于 2019-1-30 16:08 | 显示全部楼层
移位那个,可以直接P1=0X00,delay;P1=0X
FE
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表