单片机入门必学的一些课程
流水灯又叫跑马灯,意思是一串灯轮着亮,第一个灯先亮,然后灭掉;第二个灯再亮,然后灭掉;以此类推
#include <Reg52.h> //include包含 sbit P20 = P2^0; sbit P21 = P2^1; sbit P22 = P2^2; sbit P23 = P2^3; sbit P24 = P2^4; sbit P25 = P2^5; sbit P26 = P2^6; sbit P27 = P2^7; void delay(void) { int i; for (i=1;i<30000;i++); } void main() { while(1) { P27 = 1; P20 = 0; //关第8个灯,开第1个灯 delay(); //延迟1秒 P20 = 1; P21 = 0; //关第1个灯,开第2个灯 delay(); P21 = 1; P22 = 0; // 关第2个灯,开第3个灯 delay(); P22 = 1; P23 = 0; //依次类推 delay(); P23 = 1; P24 = 0; delay(); P24 = 1; P25 = 0; delay(); P25 = 1; P26 = 0; delay(); P26 = 1; P27 = 0; delay(); }
通过移位语句,我们可以对上面的语句进行进一步整合。
#include <Reg52.h> //include包含 void delay() { //有待补充 } void main() { int i; int data = 0x01; while(1) { for(i = 0;i<8;i++) { P2 = ~(data << i) ; //先移位再取反,这句话很精炼,但是不好理解 delay(); } }============================找指导老师布置任务吧==============================