找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2278|回复: 5
收起左侧

diy流水灯怎么写

[复制链接]
ID:113893 发表于 2016-4-13 17:12 | 显示全部楼层 |阅读模式
diy流水灯怎么写
回复

使用道具 举报

ID:1 发表于 2016-4-13 17:43 | 显示全部楼层
回复

使用道具 举报

ID:114097 发表于 2016-4-13 22:48 | 显示全部楼层
回复

使用道具 举报

ID:114281 发表于 2016-4-14 20:57 | 显示全部楼层
十天学会单片机里有
回复

使用道具 举报

ID:114293 发表于 2016-4-14 21:53 | 显示全部楼层
//程序:ex8.c //功能:顺序程序结构控制流水灯 #include <REGX51.H> //包含头文件REGX51.H,定义了51单片机的所有SFR //函数名:delay //函数功能:实现软件延时 //形式参数:无符号整型变量i,控制空循环的循环次数 //返回值:无 void   delay(unsigned int i) {    while(i--);     //i次空操作 } void   main()         //主函数 {     while(1)       //无限循环    {               P1=0xfe;        //采用字节操作,点亮第一个LED                  delay(20000);         //软件延时                  P1=0xfd;         //采用字节操作,点亮第二个LED                  delay(20000);         //软件延时                  P1=0xfb;        //采用字节操作,点亮第三个LED                   delay(20000);         //软件延时                  P1=0xf7;         //采用字节操作,点亮第四个LED                  delay(20000);         //软件延时                  P1=0xef;        //采用字节操作,点亮第五个LED                  delay(20000);         //软件延时                  P1=0xdf;         //采用字节操作,点亮第六个LED                  delay(20000);         //软件延时                  P1=0xbf;        //采用字节操作,点亮第七个LED                  delay(20000);         //软件延时                  P1=0x7f;         //采用字节操作,点亮第八个LED                  delay(20000);         //软件延时    }  }         
回复

使用道具 举报

ID:36525 发表于 2016-4-14 22:30 | 显示全部楼层
/*流水灯赋初值,大循环,延时,左移,赋值,延时,左移,赋值
延时子程序的流水灯*/

#include <reg52.h>

#include <intrins.h>

#define uint unsigned int   //定义宏变量名随便起如bbb

#define uchar unsigned char  //定义宏变量名随便起如aaa

uchar temp;//定义p1口的赋值名

void delay (uint z);//

void main()

{
   temp=0xfe;//
   P1=temp;
   while (1)

      {
        delay(1000);

        temp=_crol_(temp,1);//_crol_移位指令括号内1就是1位1位的移,以此内推。

        P1=temp;
       }

}

void delay (uint z)//
   {
     uint x,y;//
     for (x=z;x>0;x--)//
     for (y=30;y>0;y--);//
   }







/*

sbit LED1=P1^0  ;//定义脚位名称随便起一个名
sbit LED2=P1^7  ;
unsigned int a  ;//定义一个赋值名a或者其他,且赋值是0-65525之间


void main()


{
    while(1)         //等于0跳出等于1在下面大括号内循环

            {   
                a=60000;
               
                   LED1=0;
               
                   while(a--); //a数值自减,到0后跳出
                 LED1=1;
               
                   a=50000;
               
                   LED2=0;
                 
                   while(a--);

                 LED2=1;


             }

}*/

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表