欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 想得到一段簡(jiǎn)潔的單片機(jī)代碼 [打印本頁(yè)]

作者: No.23    時(shí)間: 2020-5-7 21:25
標(biāo)題: 想得到一段簡(jiǎn)潔的單片機(jī)代碼
功能八個(gè)led燈并排,編號(hào)1,2,3,4,5,6,7,8,先是同時(shí)亮起(1,8)兩個(gè)燈,再依次點(diǎn)亮(2,6)(3,7)(4,5)(3,7)(2,6)(1,8),然后一直循環(huán)進(jìn)行。
#include "reg52.h"
#include "intrins.h"

typedef unsigned char u8;
typedef unsigned int u16;

#define led P2


void delay(u16 i)
{
        while(i--);
}

void main()
{        
        while(1)
        {
         led=0x7e;  //亮1,8
         delay(50000);
         led=0xbd;  //亮2,7
         delay(50000);
         led=0xdb; //亮3,6
         delay(50000);
         led=0xe7; //亮4,5
         delay(50000);
         led=0xdb;//亮3,6
         delay(50000);
         led=0xbd; //亮2,7
         delay(50000);
        }
}        



作者: cjjdemon    時(shí)間: 2020-5-7 22:07
#include "reg52.h"
#include "intrins.h"

#define uint unsigned int
#deinfe uchar unsigned char

#define led P2
uchar table[6]={0x7e,0xbd,0xdb,0xe7,0xdb,0xbd};
uchar flag=0;

void delay(uint i)
{
        while(i--);
        flag++;
        if(flag>=5)
        {
             flag=0;
        }
}

void main()
{        
        while(1)
        {
         led=table[flag];  
         delay(50000);
        }
}     

其實(shí)也沒(méi)簡(jiǎn)潔多少,建議不要用delay,用定時(shí)器更好,節(jié)省MCU計(jì)算資源。   
作者: xxpp2011    時(shí)間: 2020-5-7 22:10
本帖最后由 xxpp2011 于 2020-5-7 22:39 編輯


unsigned char i=0;   
void main()
{   
while(1)
{
   switch(i%6)
       {
          case 0:  led=0x7e;break;  //亮1,8
          case 1:  led=0xbd;break;  //亮2,7
          case 2:  led=0xdb;break;  //亮3,6
          case 3:  led=0xe7;break;  //亮4,5
          case 4:  led=0xdb;break;  //亮3,6
          case 5:  led=0xbd;break;  //亮2,7
        }
   i++;
  delay(50000);
}
}
作者: xianfajushi    時(shí)間: 2020-5-7 22:33
https://blog.csdn.net/xianfajushi/article/details/89220130

作者: man1234567    時(shí)間: 2020-5-8 11:38
#include "reg52.h"
#include "intrins.h"

typedef unsigned char u8;
typedef unsigned int u16;

#define led P2

u8 code PP[]={0x7e,0xbd,0xdb,0xe7,0xdb,0xbd};//加的

void delay(u16 i)
{
        while(i--);
}

void main()
{        
       u8 i;  //加的
for(i=0;i<6;i++){led=PP[i];delay(50000);}//無(wú)需while(1)
}        
作者: 出來(lái)逛逛    時(shí)間: 2020-5-8 16:20
本帖最后由 出來(lái)逛逛 于 2020-5-8 16:41 編輯

int i=0;
while(1)
{
     led=~(1<<(7-i)|1<<i);
     i++;
     delay(50000);
    if(i==3){i++;}
    if(i==7){i=0;}
}
作者: 出來(lái)逛逛    時(shí)間: 2020-5-8 16:32
int i=0;
while(1)
{
     led=~(1<<(7-i)|1<<i);
     i++;
     delay(50000);
    if(i==3){i++;}
    if(i==7){i=0;}
}
作者: 我姓劉    時(shí)間: 2020-5-8 22:48
int i=0;
while(1)
{
     led=~(1<<(7-i)|1<<i);
     i++;
     delay(50000);
    if(i==3){i++;}
    if(i==7){i=0;}
}
作者: f556    時(shí)間: 2020-5-9 14:39
出來(lái)逛逛 發(fā)表于 2020-5-8 16:20
int i=0;
while(1)
{

這是最簡(jiǎn)潔的方式,前些天想過(guò)一下用移位,沒(méi)往下考慮。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1