51单片机控制流水灯

195次

问题描述:

51单片机控制流水灯希望能解答下

最佳答案

推荐答案

采用循环程序结构编程。

首先在程序开始给P1.0口送一个低电平,其它位为高。然后延时一段时间再让低电平往高位移动,这样就实现“流水”的效果了。下面来看具体程序:#include#define uchar unsigned char#define uintunsigned int//N毫秒的延时函数delay_ms(uint ms) {uint i,j;for(i=ms;i>0;i--)for(j=114;j>0;j--);return 0;}void main(){uchar a,i;while(1){a=0xfe; //点亮第一位LED灯for(i=0;i<8;i++){P1=a;a=a<<1; //左移一位a=a|0x01; //左移一位后与0x01相或,保证左移后最低位为1 delay_ms(500); }}}

为你推荐