電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 2086|回復(fù): 0
收起左側(cè)

單片機(jī)C語(yǔ)言實(shí)例-157-數(shù)碼管顯示

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2022-1-25 11:21:19 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
單片機(jī)C語(yǔ)言實(shí)例-157-數(shù)碼管顯示

* 文件名  :  數(shù)碼管顯示.c
* 描述    :  該程序?yàn)閿?shù)碼管靜態(tài)顯示程序。
                         每按一次 獨(dú)立按鍵 中的 T0,數(shù)碼管的值便會(huì)加一。
* 創(chuàng)建人  : 東流,2009年8月27日
* 版本號(hào)  : 1.0
***********************************************************************/
#include<reg52.h>
#define uchar unsigned char
#define uint  unsigned int

sbit KEY = P3^4;          //獨(dú)立按鍵的T0

/*下一行你可以試著把 code 去掉看看試驗(yàn)結(jié)果。 去掉后 table[] 會(huì)被存到 RAM 中,因?yàn)閱纹瑱C(jī)的 RAM 比 ROM 小的多*/
/*所以,對(duì)于不會(huì)改變的值應(yīng)該用 code 或者 #define 去定義,讓這些固定值存到 ROM 中去*/
uchar code table[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
/*下一行的數(shù)組可以顯示數(shù)值外,還可以顯示數(shù)碼管的點(diǎn)*/
uchar code table_d[16] = {0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1};

/********************************************************************
* 名稱(chēng) : Delay()
* 功能 : 延時(shí),延時(shí)時(shí)間為 10ms * del
* 輸入 : del
* 輸出 : 無(wú)
***********************************************************************/
void Delay(uint del)
{
        uint i,j;
        for(i=0; i<del; i++)
        for(j=0; j<1827; j++)   
        ;
}

/********************************************************************
* 名稱(chēng) : Main()
* 功能 : 主函數(shù)
* 輸入 : 無(wú)
* 輸出 : 無(wú)
***********************************************************************/
void main()
{
        uchar i = 0;
        //P2=0xff;
        P2=2;
        while(1)
        {
                P0 = table[i % 16];           //在這里取 i 的個(gè)位數(shù),不帶點(diǎn)顯示
                //P0 = table_d[i % 16];      //帶點(diǎn)顯示
                if(KEY == 0)
                {
                        Delay(1);              //軟件消抖,試驗(yàn)為20ms
                        if(KEY == 0)
                        {
                                i++;
                        }
                        Delay(50);                            //延時(shí)0.5秒后進(jìn)行下一次的按鍵檢測(cè)
                }                                
        }
}


更多詳情參考附件文檔

游客,如果您要查看本帖隱藏內(nèi)容請(qǐng)回復(fù)

發(fā)表回復(fù)

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表