找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3459|回復: 0
打印 上一主題 下一主題
收起左側(cè)

51單片機學習筆記(1)-數(shù)字分離

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:80436 發(fā)表于 2015-5-20 14:54 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
數(shù)字分離 比如把123456這個整數(shù)進行分離,方便按位顯示在數(shù)碼管上

思路:1、把這個數(shù)對10取模   123456%10  結(jié)果是 6    就把第一位分離出來了
      2、把這個數(shù)除10后再進行對10取模  123456/10 結(jié)果12345 再12345%10 結(jié)果是5  就把第二位分離出來了
      3、進行這樣的循環(huán) 這個數(shù)是6位就循環(huán)6次,把結(jié)果存放在一組變量中,這樣就把這個數(shù)的各位都進行分離出來了
      4、數(shù)字首位為0,數(shù)碼管不顯示0,數(shù)字當中或末尾是0則顯示0
      5、經(jīng)過循環(huán)語句后,就把數(shù)字每位的數(shù)據(jù)儲存在了數(shù)字顯示緩存數(shù)字Ledbuff[]中了
程序:
void ShowNumber(unsigned long num)  //顯示數(shù)字函數(shù),參數(shù)是1個長整形的數(shù)字num
{
        signed char i;              //定義變量i用于循環(huán)數(shù)的位數(shù)
        unsigned char buf[6];       //定義一個數(shù)組用于保存分離出來各位的數(shù)據(jù)

        for(i=0; i<6; i++)
        {
                buf[i] = num % 10;   
                num = num / 10;
        }                            //上面2個語句就是循環(huán)6次,把1個6位數(shù)進行按位分離后存放在數(shù)組buf中

        for(i=5; i>=1; i--)         //進行首位是零,不顯示
        {
                if(buf[i] == 0)     //如果首位是零,則把數(shù)碼管顯示緩存數(shù)據(jù)為0XFF,由于是共陽極數(shù)碼管,如果數(shù)據(jù)是0xff 則數(shù)碼管不顯示
                {
                        LedBuff[i] = 0xFF;
                }
                else               //如果首位不是零,則跳出循環(huán)
                        break;
        }
       
        for(; i>=0; i--)           //i繼承了上面語句的數(shù)值,把該位的數(shù)字通過Ledchar[buf[i]]數(shù)組,進行轉(zhuǎn)換為該數(shù)字的顯示數(shù)據(jù)并賦值給數(shù)碼管顯示緩存
        {
                LedBuff[i] = LedChar[buf[i]];       
        }

}
unsigned char code LedChar[]={          //0-F在數(shù)碼管上顯示的數(shù)據(jù)表用數(shù)組存放
        0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,
        0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E
        };
unsigned char LedBuff[6] = {      //每位數(shù)字顯示的數(shù)據(jù)儲存數(shù)組緩存,設(shè)置初始值是0xff
        0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
        };


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復

使用道具 舉報

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

本版積分規(guī)則

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

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

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