查看完整版本: atmega8 七段顯示器迴圈
頁: [1]

a1357422 發表於 2019-1-20 11:05 PM

atmega8 七段顯示器迴圈

本帖最後由 a1357422 於 2019-1-20 11:26 PM 編輯

學校老師出了一份作業給我
需要按鈕1 按下1次 切換為一種模式 在按下在切換
我現在卡在第二種模式 作業要求我 按下按鈕後 讓上方2顆七段顯示器顯示
0 0 - 0 2 - 2 0
前面2顆設定成 0~99 迴圈
        case 0x02:
                for(int i = 0;i <= 9;i++){
                Buff = seg;
                Buff = seg;
                Buff = seg;
                Buff = seg;
                Buff = seg;
                Buff = seg;
                Buff = seg;
                Buff = seg;
                ledshow();
                }
                break;
我這樣打 只能直接讓他跳到99
請版上的各位大大幫我一下void switchkey(void){                                                //判斷KEY是否被按
        newkey = ReadKey();
         if (newkey!=oldkey){
                 if(newkey == 1){
                         md = 1;
                 }
                 if(newkey == 2){
                        md = 2;
                 }
                 if(newkey == 4){
                         md = 3;
                 }
                oldkey = newkey;
                }
}


void ledshow(void){                                                //判斷KEY是否被按
        uchar ledbuff0[] = {0,0x1, 0x3, 0x7, 0xF, 0x1F, 0x3F, 0x7F, 0xFF};
        if(md == 1){
                led = ls+1;
        }
        if(md == 2) led;
}

...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div>

jackyo04 發表於 2019-1-21 08:50 AM

按下1次 切換為一種模式 在按下在切換:你要先設定一個數值Count,每按下一次Count++,要確認有幾種模式、變化後,再來控制七段顯示器

a1357422 發表於 2019-1-21 09:48 PM

本帖最後由 a1357422 於 2019-1-21 10:03 PM 編輯

jackyo04 發表於 2019-1-21 08:50 AM
按下1次 切換為一種模式 在按下在切換:你要先設定一個數值Count,每按下一次Count++,要確認有幾種模式、 ...
總共有4種模式 mode0->mode1->mode2->mode3->mode0
因為我現在程式是有三顆按鈕在控制
s1是控制模式
s2按下時要可以控制mode2的led依序亮滅s3是mode1跟mode2同時運行

20190121_202714.jpg
20190121_202746.jpg




...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

jackyo04 發表於 2019-1-22 03:43 PM

a1357422 發表於 2019-1-21 09:48 PM static/image/common/back.gif
總共有4種模式 mode0->mode1->mode2->mode3->mode0
因為我現在程式是有三顆按鈕在控制
s1是控制模式


看了你的程式片段     for(int i = 0;i <= 9;i++){
                Buff = seg;
                Buff = seg;
                Buff = seg;
                Buff = seg;
                Buff = seg;
                Buff = seg;
                Buff = seg;
                Buff = seg;
                ledshow();
                }
這段似乎沒有意義,你迴圈內的i是要做什麼用的??...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

a1357422 發表於 2019-1-22 07:41 PM

jackyo04 發表於 2019-1-22 03:43 PM static/image/common/back.gif
看了你的程式片段

喔! 那個i並沒有意義 我忘記刪除他了 不好意思
需要把整個程式給你看嗎?<br><br><br><br><br><div></div>

z1090128 發表於 2019-1-27 07:09 PM

如果要按一下跳下一個的話,md的部分應該要等數加一才對吧?

a1357422 發表於 2019-1-28 03:59 PM

z1090128 發表於 2019-1-27 07:09 PM static/image/common/back.gif
如果要按一下跳下一個的話,md的部分應該要等數加一才對吧?

了解 謝謝解答 我會再修改
頁: [1]