找回密码
 立即注册

QQ登录

只需一步,快速开始

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

求8个LED灯对闪思路

[复制链接]
跳转到指定楼层
楼主
ID:163285 发表于 2017-2-17 21:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
即(1 ,8)-(2,7)-(3, 6)- (4, 5) - (3,6)-(2,7)-(1, 8)的顺序来回闪,大师们给个思路,谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:43554 发表于 2017-2-18 10:54 | 只看该作者
其实你已经把思路说出来了,这要按照这个思路写程序就可以了。
回复

使用道具 举报

板凳
ID:123289 发表于 2017-2-18 14:59 | 只看该作者
1、做一个定时器,例:定时中断为1秒。
2、做一个计数器,例:JX,每次中断时JX+1,即每秒+1次,当JX=6时清0,即JX在0到5之间变化。
3、每当JX变化时,就是每秒JX改变时,对应做如下显示:
JX=0,则显示(1,8)
......
JX=5,则显示(2,7)
回复

使用道具 举报

地板
ID:111634 发表于 2017-2-18 18:12 | 只看该作者

新编流水循环灯

本帖最后由 zl2168 于 2017-2-18 21:26 编辑

专为你新编流水循环灯,试试吧!
新编流水循环灯.rar (34.32 KB, 下载次数: 5)
Proteus仿真一下,确认有效
#include <reg51.h>                            //包含访问sfr库函数reg51.h
unsigned char code  led[6]={           //定义花样循环码数组,存在ROM
    0x7e,0xbd,0xdb,0xe7,0xdb,0xbd};
void  main ( ) {                                  //主函数
    unsigned char i;                            //定义循环变量i
    unsigned long  t;                           //定义长整型延时参数t
        while(1) {                                     //无限循环
        for(i=0;i<6;i++) {                    //花样循环
                P1=led[ i];                                //读亮灯数组输出P1
                for (t=0; t<=11000; t++ );}}} //延时0.5
学习单片机,可参阅张志良编著80C51单片机仿真设计实例教程——基于Keil CProteus》清华大学出版社ISBN 978-7-302-41682-1内有常用的单片机应用100案例,用于仿真实验操作,电路与程序真实可靠可信可行

回复

使用道具 举报

5#
ID:163285 发表于 2017-2-18 20:16 | 只看该作者
谢谢楼上两位!
#include "reg52.h"

unsigned char led[6]={0x81,0x42,0x24,0x18,0x24,0x42};


void main()
{
   unsigned char i;
   TMOD =0x01;
   TH0 =0x66;
   TL0=0xB0;
   TR0=1;
   while(1)
   {         if(TF0==1)
      {
             TF0=0;
               TH0 =0x66;
         TL0=0xB0;
             P0 =led[i];
                // while(k--);
          i++;
          }
          if(i==6)
           i=0;
   }
}
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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