久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 關于51單片機流水燈程序累加問題 [打印本頁]

作者: xtayxwygqvhj    時間: 2023-5-21 13:46
標題: 關于51單片機流水燈程序累加問題
51單片機流水燈
有沒有簡化的辦法讓流水燈每循環1次進行累加點亮最后一個,最后全部點亮
試過<<n和>>n
試過_crol_和_cror_
后來都失敗了
最后用最簡單,最粗暴的方法算是完成了
就是程序太多 雜亂,8個燈都這么多程序,如果是16個以上就沒完沒了了,有沒有什么方法簡化一下


sbit  a0 = P1^0;
sbit  a1 = P1^1;
sbit  a2 = P1^2;
sbit  a3 = P1^3;
sbit  a4 = P1^4;
sbit  a5 = P1^5;
sbit  a6 = P1^6;
sbit  a7 = P1^7;
void liushuideng_LJ()
{      
    a0=0;
                yanshi(200);//延時
                a0=1;a1=0;
                yanshi(200);               
                a1=1;a2=0;
                yanshi(200);               
                a2=1;a3=0;
                yanshi(200);
                a3=1;a4=0;
                yanshi(200);
                a4=1;a5=0;
                yanshi(200);
                a5=1;a6=0;
                yanshi(200);
                a6=1;a7=0;
                yanshi(200);                       

          a0=0;
                yanshi(200);
                a0=1;a1=0;
                yanshi(200);               
                a1=1;a2=0;
                yanshi(200);               
                a2=1;a3=0;
                yanshi(200);
                a3=1;a4=0;
                yanshi(200);
                a4=1;a5=0;
                yanshi(200);
                a5=1;a6=0;
                yanshi(200);                       

          a0=0;
                yanshi(200);
                a0=1;a1=0;
                yanshi(200);               
                a1=1;a2=0;
                yanshi(200);               
                a2=1;a3=0;
                yanshi(200);
                a3=1;a4=0;
                yanshi(200);
                a4=1;a5=0;
                yanshi(200);

          a0=0;
                yanshi(200);
                a0=1;a1=0;
                yanshi(200);               
                a1=1;a2=0;
                yanshi(200);               
                a2=1;a3=0;
                yanshi(200);
                a3=1;a4=0;
                yanshi(200);

          a0=0;
                yanshi(200);
                a0=1;a1=0;
                yanshi(200);               
                a1=1;a2=0;
                yanshi(200);               
                a2=1;a3=0;
                yanshi(200);

          a0=0;
                yanshi(200);
                a0=1;a1=0;
                yanshi(200);               
                a1=1;a2=0;
                yanshi(200);               

          a0=0;
                yanshi(200);
                a0=1;a1=0;
                yanshi(200);               

          a0=0;
                yanshi(200);
    P1=0xff;
}

作者: lyonkon    時間: 2023-5-21 17:26
0000 0001b,左移后加1。1000 0000b,右移后加0x80。,
作者: 188610329    時間: 2023-5-21 18:12
unsigned char code        Head[] = {0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};
unsigned char code        Tail[] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void        lsd()
{
        char        i,j;
        j = 7;
        while(j>=0)
        {
                i = 0;
                while(i <= j)
                {
                        P0        = Head[j] & Tail[i];
                        yanshi(200);//延時
                        i++;
                }
                j--;
        }
}
作者: xtayxwygqvhj    時間: 2023-5-21 18:57
188610329 發表于 2023-5-21 18:12
unsigned char code        Head[] = {0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};
unsigned char code        Tail[] =  ...

謝謝大佬,我剛才COPY過去試了一下 完全沒問題,我再研究一下原理查一下資料,主要是對“&”這個符號不了解,因為我才學了一個多星期。再次感謝。
作者: xtayxwygqvhj    時間: 2023-5-21 19:00
lyonkon 發表于 2023-5-21 17:26
0000 0001b,左移后加1。1000 0000b,右移后加0x80。,

很抱歉我學的不久,有點看不懂,不過還是謝謝您的提議,等我學多一點我再回顧一下。還有二樓已經幫我解決這個問題了。
作者: hi等你    時間: 2023-5-22 09:33
象數碼管顯示字符一樣做個數據表不就行了,按數字查表顯示,上百個都沒有問題,這是基本功

都要會的
作者: lkc8210    時間: 2023-5-22 09:44
  1. void main()
  2. {       
  3.         u8 i,j, temp1;
  4.     while (1)
  5.     {
  6.                 temp1 = 0;
  7.                 for(i=0;i<8;i++)
  8.                 {
  9.                         for(j=0;j<(8-i);j++)
  10.                         {
  11.                                 P0 = ~(0x01<<j | temp1);
  12.                                 delayms(100);
  13.                         }
  14.                         temp1 |= 0x80 >> i;
  15.                 }
  16.                        
  17.     }
  18. }
復制代碼

作者: 123456ZXC1    時間: 2023-5-22 13:23
void liushuideng_LJ()
{
    unsigned char pattern = 0x01;  // 初始模式,只點亮第一個燈
    int i;

    for (i = 0; i < 8; i++) {
        P1 = pattern;  // 設置燈的狀態
        yanshi(200);  // 延時
        pattern <<= 1;  // 將模式左移一位,使下一個燈點亮
    }

    P1 = 0xFF;  // 全部燈點亮
}





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久热免费在线 | 亚洲第1页| 国产黄色小视频在线观看 | 中文字幕福利视频 | 国产亚洲精品久久19p | 国产成人免费网站 | 日本又色又爽又黄的大片 | 中文字幕在线三区 | 欧美日韩免费在线 | 一区二区三区国产精品 | 五月天综合网 | 中文字幕av亚洲精品一部二部 | 涩涩导航| 日本欧美国产在线观看 | 欧美一区免费在线观看 | 日韩三级在线观看 | 岛国av在线免费观看 | 久草视频观看 | 精品视频一区二区三区在线观看 | 久久一区二区视频 | 久久伊人精品 | 丁香六月伊人 | 久久久久久免费精品一区二区三区 | 国产免费一区二区 | 亚洲一区二区在线电影 | 亚洲91精品 | 久久久久国产精品一区二区 | 欧美视频日韩 | 日本精品一区二区三区在线观看 | 久久精品色欧美aⅴ一区二区 | 亚洲网视频 | 亚洲播放一区 | 亚洲欧美日本在线 | www,黄色,com | 国产视频不卡一区 | 国产精品一级 | 国外成人免费视频 | 欧美成人激情视频 | www.日本精品 | 婷婷桃色网 | 7777精品伊人久久精品影视 |