找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5685|回复: 1
打印 上一主题 下一主题
收起左侧

51单片机流水灯+花样灯程序

[复制链接]
跳转到指定楼层
楼主
ID:356227 发表于 2018-6-21 17:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <REGX51.H>                      //头文件,定义单片机型号
#define uchar unsigned char              //伪指令用uchar代替unsigned char
#define uint unsigned int              //伪指令用uint代替unsigned int
uchar code a[6]={0xfa,0xf5,0xeb,0xd7,0xaf,0x5f}; //定义编译数组
uchar code b[6]={0x5f,0xaf,0xd7,0xeb,0xf5,0xfa}; //定义编译数组
void delay(uint x)                  //延时函数
{
   uint y;
   for(;x>0;x--)
      for(y=100;y>0;y--);
}
void main(void)     //函数的开始,(void)表示有返回值
{
    uint i;
        uchar temp;
        while(1)        //while循环(1)循环条件
        {
           temp=0xfe;
           for(i=0;i<8;i++)
           {
           P0=temp;
           delay(300);
           temp=(temp<<=1)|0x01;                   //temp值左移1位,从而实现流水灯效果,0x01表示在最右面补1
        }
        temp=0x7f;
        for(i=0;i<8;i++)
    {
           P0=temp;
           delay(300);
           temp=(temp>>=1)|0x80;                   //temp值右移1位,从而实现流水灯效果,0x80表示在最左面补1
        }
        for(i=0;i<6;i++)
        {
           P0=a[i];                           //遍历数组a,将数组a中的每个元素赋给P0
           delay(400);
        }
            for(i=0;i<6;i++)
                {
                   P0=b[i];        //遍历数组b,将数组b中的每个元素赋给P0
                   delay(400);
                   }
        }
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:356288 发表于 2018-6-21 18:47 | 只看该作者
很简单,写的太复杂了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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