51单片机C程序实验LED灯:[2]左到右的流水灯
1、元件清单:(分别是)
51单片机
电容
瓷片电容(也可用普通电容)
晶振
红色二极管
电阻
![51单片机C程序实验LED灯:[2]左到右的流水灯](https://exp-picture.cdn.bcebos.com/3ac71c214f579356dd0cee93effb960b3021700e.jpg)
2、电路图的连接方法
![51单片机C程序实验LED灯:[2]左到右的流水灯](https://exp-picture.cdn.bcebos.com/52fae62064fb960ba39613d28fa355e982ae6c0e.jpg)
1、说明:本例有两种程序写法
第一种是入门级别比较基础的写法
先是依旧延时子程序,然后主程序利用直接赋值,与“>>”循环
第二种是稍微高级一些的写法,调用了其他头文件
主要是利用了一个intrins.h文件下的右循环语句”P0=_cror_(P0,1); “另也有左循环_crol_(),括号里面是要循环移位的值。
![51单片机C程序实验LED灯:[2]左到右的流水灯](https://exp-picture.cdn.bcebos.com/04201aa355e983ae7f604f9968efe0781531690e.jpg)
![51单片机C程序实验LED灯:[2]左到右的流水灯](https://exp-picture.cdn.bcebos.com/e996472ae3efe0788f86c905b96c576698cf650e.jpg)
2、【第一种】
#include<reg51.h>
//延时
void delay()
{
int i;
for(i=0;i<=30000;i++);
}
void main()
{
char i;
int m;
m=0x80;
delay();
for(i=0;i<=7;i++)
{
P0=~m;
m=m>>1;
delay();
}
}
3、【第二种】
#include<reg51.h>
#include<intrins.h>
//延时
void delay()
{
int i;
for(i=0;i<=30000;i++);
}
//主程序
void main()
{
P0=0xfe;
while(1)
{
P0=_cror_(P0,1); //P0 的值向左循环移动
delay();
}
}
1、因为是静态图。。所以大家看看就好
![51单片机C程序实验LED灯:[2]左到右的流水灯](https://exp-picture.cdn.bcebos.com/1570c1b6326c5766067814e0a4632385e136610e.jpg)
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:130
阅读量:59
阅读量:69
阅读量:167
阅读量:67