51单片机流水灯仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- #include<reg51.h>
- #include<stdio.h>
- #define LED P1 //定义LED接至P1
- void delayxms(unsigned int xms) //延迟函数开始
- { unsigned int t1 ,t2; //声明整数变形t1,t2
- for( t1=0; t1<xms;t1++); //计数xms次,延迟xms毫秒
- for( t2=0; t2<110;t2++);
- }
- void main()
- { unsigned char i; //无符号字符型变量i
- while(1)
- { LED=0xfa; //初值=1111 1010.只有最右第一和第三盏灯亮
-
- for ( i=0;i<5;i++) //左移5次
- { delayxms(50000); //延迟10000*5ms
- LED=(LED<<1)|0x01; //左移1位,并设定最低位为1
- } //左移结束,只有最左第一和第三两盏灯亮
- for ( i=0;i<5;i++) //右移5次
- { delayxms(50000); //延迟10000*5ms
- LED=(LED>>1)|0x80; //右移1位,并设定最低位为1
- } //右移结束,只有最右第一和第三两盏灯亮
- }
- }
复制代码
所有资料51hei提供下载:
作业.zip
(46.25 KB, 下载次数: 32)
|