标题: 求8个LED灯对闪思路 [打印本页]

作者: 光说不练    时间: 2017-2-17 21:52
标题: 求8个LED灯对闪思路
即(1 ,8)-(2,7)-(3, 6)- (4, 5) - (3,6)-(2,7)-(1, 8)的顺序来回闪,大师们给个思路,谢谢!
作者: xinhoujue    时间: 2017-2-18 10:54
其实你已经把思路说出来了,这要按照这个思路写程序就可以了。
作者: yzwzfyz    时间: 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)
作者: zl2168    时间: 2017-2-18 18:12
标题: 新编流水循环灯
本帖最后由 zl2168 于 2017-2-18 21:26 编辑

专为你新编流水循环灯,试试吧!
新编流水循环灯.rar (34.32 KB, 下载次数: 6)
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案例,用于仿真实验操作,电路与程序真实可靠可信可行


作者: 光说不练    时间: 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;
   }
}




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