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

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--);
 }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值