8 个LED灯按不同的顺序亮起请给你个不同的实验代码和详细步骤!考试要的!!!
/*************************************************************
* 程序名 * 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--);
}
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |