找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

單片機數(shù)碼管原理圖設計出錯,導致硬件電路的段選和位選單片機I/O口位置錯亂

查看數(shù): 2120 | 評論數(shù): 9 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2021-11-18 11:08

正文摘要:

51單片機與數(shù)碼管相連時原理圖設計出錯,導致硬件電路的段選和位選I/O口位置錯亂 硬件的段選:(a~dp)P2.5,P0.6,P0.3,P0.1,P0.0,P2.6,P0.4,P0.2 位選:P2.4,P2.7,P0.7,P0.5 正確設計: 硬件已來不及更改 ...

回復

ID:96682 發(fā)表于 2021-11-19 06:29
硬件要求和給出的電路圖也沒完全對上,這個不能只改程序還得改電路用飛線方法最好
ID:982258 發(fā)表于 2021-11-18 17:01
必須得改電路了,測試還是可以的,就是不能用來做產(chǎn)品,這樣的產(chǎn)品是次品
ID:824490 發(fā)表于 2021-11-18 15:33
電路不改,真的很難。。
原因是,有的段碼接電阻了,有的沒接,有的位碼接電阻了,有的也沒接,只是調(diào)IO的話:
當串電阻的段碼遇上串了電阻的位碼,數(shù)碼管亮度明顯不夠。
當沒串電阻的段碼遇上同樣沒串電阻的位碼,可能會把LED燒焦!
難,不改板真的難。
ID:884147 發(fā)表于 2021-11-18 15:13
不動硬件是無法實現(xiàn)的,不能重做PCB就只能動手改PCB,把R6R8電阻去掉短接,P2.5P2.6串接電阻,其他的就交給軟件了。當然還要看你選的什么單片機
ID:624769 發(fā)表于 2021-11-18 14:59
你們是組團拼多多打板的么? 感覺這禮拜,這問題答了4~5次了。

sbit        duana        = P2^5;
sbit        duanb        = P0^6;
sbit        duanc        = P0^3;
sbit        duand        = P0^1;
sbit        duane        = P0^0;
sbit        duanf        = P2^6;
sbit        duang        = P0^4;
sbit        duandp        = P0^2;

sbit        wei0        = P2^4;
sbit        wei1        = P2^7;
sbit        wei2        = P0^7;
sbit        wei3        = P0^5;

u8        LED_Buff[4];

void        Show_Led(u8 LED_Num)
{
        u8        Temp;
        wei0        = 1;
        wei1        = 1;
        wei2        = 1;
        wei3        = 1;        //如果是共陽極的話全 = 0;

        Temp        = LED_Buff[LED_Num];
        Temp <<= 1;
        duandp        = CY;
        Temp <<= 1;
        duang        = CY;
        Temp <<= 1;
        duanf        = CY;
        Temp <<= 1;
        duane        = CY;
        Temp <<= 1;
        duand        = CY;
        Temp <<= 1;
        duanc        = CY;
        Temp <<= 1;
        duanb        = CY;
        Temp <<= 1;
        duana        = CY;

        switch(LED_Num)
        {
                case 0:        wei0 = 0;        break;
                case 1:        wei1 = 0;        break;
                case 2:        wei2 = 0;        break;
                case 3:        wei3 = 0;        break;        //共陽的話,這里 = 1;
                default:        break;
        }
}


ID:584814 發(fā)表于 2021-11-18 14:47
如果原先的軟硬件都沒問題,直接調(diào)整軟件就好,無需動硬件的。
ID:161164 發(fā)表于 2021-11-18 14:06
void Re_IO(char dat)
{
P25 = dat & 0x01;
P06 = dat & 0x02;
P03 = dat & 0x04;
P01 = dat & 0x08;
P00 = dat & 0x10;
P26 = dat & 0x20;
P04 = dat & 0x40;
P02 = dat & 0x80;
}
ID:123289 發(fā)表于 2021-11-18 13:41
當然可以了。
ID:277550 發(fā)表于 2021-11-18 13:24

把電阻調(diào)換,可以在程序可以隨需要而更換不同的IO的。

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

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

快速回復 返回頂部 返回列表