欢迎来到天天文库
浏览记录
ID:24349886
大小:1.63 MB
页数:3页
时间:2018-11-13
《单片机流水灯程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、方法一:(这种方法比较好理解,但程序简单,而且太没水平,适合初级入门学者)#includetypedefunsignedcharuint8;typedefunsignedintuint16;sbitENLED=P1^4;sbitADDR0=P1^0;sbitADDR1=P1^1;sbitADDR2=P1^2;sbitADDR3=P1^3;main(){uint16i;ENLED=0;ADDR3=1;ADDR0=0;ADDR1=1;ADDR2=1;while(1){P0=0xFE;for(i=0;i<10000;i++);P0=0xFD;
2、for(i=0;i<10000;i++);P0=0xFB;for(i=0;i<10000;i++);P0=0xF7;for(i=0;i<10000;i++);P0=0xEF;for(i=0;i<10000;i++);P0=0xDF;for(i=0;i<10000;i++);P0=0xBF;for(i=0;i<10000;i++);P0=0x7F;for(i=0;i<10000;i++);}}方法二:(这种方法简单的运用了C语言的取反、左移右移等方法,特点是程序简短,不会过于繁多)#includetypedefunsignedcharui
3、nt8;typedefunsignedintuint16;sbitENLED=P1^4;sbitADDR0=P1^0;sbitADDR1=P1^1;sbitADDR2=P1^2;sbitADDR3=P1^3;main(){uint16i;uint8j;ENLED=0;ADDR3=1;ADDR0=0;ADDR1=1;ADDR2=1;while(1){P0=~(0X80>>j++);/*注意这是一个取反、右移步骤,在这里的意思是10000000依次向右右移,再取反,这样就达到了依次从左向右亮灯*/for(i=0;i<20000;i++);if(j==8){j
4、=0;}}}
此文档下载收益归作者所有