单片机LY5A-L1B开发板笔记(3)

来源:互联网 发布:淘宝商品品控下架 编辑:程序博客网 时间:2024/06/10 23:36

LED灯做二进制加计数

对于这个二进制加数我还是没有搞懂是什么情况?只能看到效果,就是不停的递进的灯向前。大概懂得就是后面两个灯是不停的脉冲输出,前面六个灯不断的递进,当第一个灯递进到第一位的时候就停止,但是灯是不灭的,接着再从第三个灯开始向前递进,当到了前面第二个的时候就停止并一直亮着,就这样不停的递进,直到前面的六个灯都停止了并且都亮着的话进行第二轮,我不清楚到底原理是什么,所以这个程序的后就没有多大的修改:

//头文件:
#include "reg51.h"

//函数声明:
void delay(unsigned int tmp);//延时子函数

//主函数,C语言的入口函数: 
void main(void)
{
 P2=0;
 while(1){   //无限循环
  P2--;   //P1口连接输出计数,因LED灯是共阳接法,所以是减,实际看到的LED灯是加
  delay(100);  //调用延时子函数,改变参数大小,调整变化速度
 }
}

//延时子函数
void delay(unsigned int tmp)//双重循环减,如改用INT型,将会达到更长的延时时间
{
 unsigned int j;
 while(tmp--){
  j=255;
  while(j--);
 }
}

 

原创粉丝点击