51单片机C程序实验LED灯:[3]来回点亮
一个简单的LED灯例子。
两种编译方法。
目标:实现8个LED灯来回点亮
proteus电路图
- 01
画proteus电路图,给出元件清单: 51单片机 电容 瓷片电容(也可用普通电容) 晶振 红色二极管 电阻
- 02
如图所示为仿真电路图(与上节相同)
程序清单
- 01
说明:本例类似于上例,只不过做了一个变换循环,所以依旧有两种写法。在下面步骤分别给出。 第一种是入门级别比较基础的写法 利用“>>”循环 第二种是稍微高级一些的写法,调用了其他头文件 利用了一个intrins.h文件下的右循环语句”P0=_cror_(P0,1); “另也有左循环_crol_(),括号里面是要循环移位的值。
- 02
【第一种】 #include<reg51.h> void delay() { int i; for(i=0;i<=30000;i++); } void main() { while(1) { int m,i; m=0x80; for(i=0;i<=6;i++) { P0=~m; m=m>>1; delay(); } for(i=0;i<=6;i++) { P0=~m; m=m<<1; delay(); } } }
- 03
【第二种】 #include<reg51.h> #include<intrins.h> void delay() { int i; for(i=0;i<=30000;i++); } void main() { char i; P0=0xfe; for(i=0;i<=6;i++) { P0=_crol_(P0,1); //P2 的值向左循环移动 delay(); } for(i=0;i<=6;i++) { P0=_cror_(P0,1); delay(); } }
完成结果仿真图
- 01
图片为静止,所以看看相似度
赞 (0)