找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1913|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

請給看看這個LED逐個循環(huán)的取位問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:201299 發(fā)表于 2017-5-24 15:22 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請教了,初學(xué)比著葫蘆畫瓢寫了個6LED燈逐個循環(huán)的C程序,就是不能按6位輸出循環(huán),請給看看這個取位應(yīng)該怎么寫,或者用什么方法解決這個問題。謝謝了!

#include <at89x52.h>
#include <Intrins.h>   


unsigned char code tab[6]={0x01,0x02,0x04,0x08,0x10,0x20,};
unsigned char con;
unsigned int  conss;

void main()
{       
        while(1)
        {
                   if(++conss>55500)
                {
                        conss=0;
                con++;
                        con&=0x07;         //現(xiàn)在是p2口8位循環(huán),這個位怎么取才能使低6位LED循環(huán)?        
                       
                        P2=tab[con];
                }
        }
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:123289 發(fā)表于 2017-5-24 17:58 | 只看該作者
軟件可以,硬件呢?
回復(fù)

使用道具 舉報

板凳
ID:201299 發(fā)表于 2017-5-24 19:23 | 只看該作者
請給看看問題在哪
回復(fù)

使用道具 舉報

地板
ID:7485 發(fā)表于 2017-5-24 20:35 | 只看該作者
將這里改一下即可:
//unsigned char code tab[6]={0x01,0x02,0x04,0x08,0x10,0x20,}; //原來的語句
unsigned char code tab[6]={0x80,0x40,0x20,0x10,0x08,0x04,};   //改后的語句
如果將數(shù)組的順序倒過來,就會反向
回復(fù)

使用道具 舉報

5#
ID:7485 發(fā)表于 2017-5-24 20:42 | 只看該作者
噢!忘了,你本來就是低6位循環(huán),我給改的是變成高6位循環(huán)。8位循環(huán)更簡單一些。
回復(fù)

使用道具 舉報

6#
ID:201299 發(fā)表于 2017-5-25 09:20 | 只看該作者
奮戰(zhàn)一夜,終于完美解決。其實很簡單,只是我不熟悉C,經(jīng)高人指點,把取位&換成if,大功告成。謝謝大家的關(guān)注與幫助。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表