/************************************************************* * 程序名 * P0口循环左移LED跑马灯程序 * 编写人 * 何新建 * 日 期 * 2012-4-26 * 日 志 * 2012-4-26 开始编写 单片机入门群240646029 *************************************************************/ #include<reg52.h>/*头文件*/ #include<intrins.h>/*库函数头文件*/ #define uint unsigned int /*宏定义 uint 无符号整型变量*/ #define uchar unsigned char /*宏定义 uchar 字符类型变量*/ uchar temp; /*定义无符号字符型变量*/ int a,b,c,d,e; void delay(uint); /*子函数声明 括号内参数类型,参数多逗号分开*/ void main() /*妹函数 主函数*/ { while(1)/*循环下面花括号内的程序*/ { temp=0xfe; /*初始值赐给变量,高位1111=f低位1110=e*/ P0=temp; /*变量的值赐给P1口,点亮P1.0口LED*/ for(a=0;a<8;a++)/*循环判断语句,变量a赐初值0,a小于8,运行花括号程序一次,返回a加1,再判断a是否小于8*/ { /*仍小于8继续运行花括号内程序,运行1次,a加一次1,当a=8时,循环语句结束,向下运行*/ temp=_crol_(temp,1); /*P1口位循环左移,每次1位*/ delay(600); /*调用延时程序延时*/ P0=temp; /*左移后的值再次赐给P1口*/ } P0=0xff; } } void delay(uint Z) /*延时子函数*/ { uint X,Y; for(X=100;X>0;X--) for(Y=Z;Y>0;Y--); }
|