找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5912|回復: 3
收起左側

數(shù)碼管怎么實現(xiàn)點亮顯示數(shù)值的?

[復制鏈接]
ID:65446 發(fā)表于 2014-9-10 13:09 | 顯示全部樓層 |閱讀模式
看到TI的例子,想了半天想不出來這個
typedef unsigned char uchar;
#define wei_h P5OUT|= BIT5                               p5out 是定義的是5。5輸出高電平
#define wei_l P5OUT&= ~BIT5                            這怎么又成了P5OUT輸出低電平了,
#define duan_l   P6OUT &= ~BIT6                      這怎么又成了P6OUT輸出低電平了,
#define duan_h  P6OUT |= BIT6                        p6out 是定義的是6。6輸出高電平
//數(shù)碼管7位段碼:0--f
uchar scandata[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
                      0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

*****************************************進入中斷程序后
#pragma vector=WDT_VECTOR
__interrupt void watchdog_timer(void)
{
    //P4OUT = 0xff;
    P4OUT = scandata[cnt];        //輸出段選信號
    duan_h;                                    p6out 是定義的是6。6輸出高電平
    duan_l;                                    這怎么又成了P6OUT輸出低電平了,
    P4OUT = ~(1 << cnt);           //輸出位選信號
    wei_h;                                   p5out 是定義的是5。5輸出高電平
    wei_l;                                     這怎么又成了P5OUT輸出低電平了,

    cnt++;                        //位計數(shù)變量在0~7之間循環(huán)
    if(cnt == 8) cnt = 0;
}

************************************************
以下是數(shù)顯管部分電路圖
QQ截圖20140910130722.png

QQ截圖20140910130737.png

其實最不明白它為什么一會置高一會兒置低的,到底是怎么實現(xiàn)這個過程的,有知道嗎 ?求解?


回復

使用道具 舉報

ID:65608 發(fā)表于 2014-9-11 20:28 | 顯示全部樓層
先要了解動態(tài)掃描和靜態(tài)掃描這個過程
回復

使用道具 舉報

ID:7485 發(fā)表于 2014-9-11 20:35 | 顯示全部樓層
“有知道嗎 ?”

已經入了門的都應該知道。
回復

使用道具 舉報

ID:66032 發(fā)表于 2014-9-12 14:34 | 顯示全部樓層
改成帶形參的函數(shù), 因為你那個只能顯示01234567. 不能顯示你自己要的數(shù), 動態(tài)掃描的好處是降低運行的功耗, 而不是一直上電, 而是交替上電, 在人的視角看分辨不出來10 ms以下的開關。
void Numerical_display(uchar m,uchar n)
{
    //P4OUT = 0xff;
    P4OUT = scandata[m];        //輸出段選信號
    duan_h;                                    p6out 是定義的是6。6輸出高電平
    __delay_cycles(2);
    duan_l;                                    這怎么又成了P6OUT輸出低電平了,
    P4OUT = ~BITn;           //輸出位選信號
    wei_h;                                   p5out 是定義的是5。5輸出高電平
      __delay_cycles(2);
    wei_l;                                     這怎么又成了P5OUT輸出低電平了,
}

評分

參與人數(shù) 1威望 +50 黑幣 +50 收起 理由
admin + 50 + 50 回帖助人的積分獎勵

查看全部評分

回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

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