标题: 求单片机跑马灯试验详细步骤 [打印本页]

作者: DL18949933895    时间: 2012-6-6 13:50
标题: 求单片机跑马灯试验详细步骤

8 个LED灯按不同的顺序亮起请给你个不同的实验代码和详细步骤!考试要的!!!


作者: 芯巢    时间: 2012-6-14 21:39

/*************************************************************
* 程序名 * 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--);
    }

 


作者: 芯巢    时间: 2012-6-14 21:42
发个图片试试
作者: 芯巢    时间: 2012-6-14 21:49
发个图片试试





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1