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