找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

單片機(jī)數(shù)碼管程序遞加找不出錯(cuò)在哪里

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:275852 發(fā)表于 2019-12-25 12:13 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
                if(STARflag)//如果按下了啟動(dòng)按鈕,置位
                                {   
                                         Morebyte_Readluf(0x2200);//讀EEPROM中的luf數(shù)組中的數(shù)據(jù)
                                        LL=luf[1]*256;
                                        LL=LL+luf[0];
                                    BL=LL;
                                    Morebyte_Readcuf(0x2400);//讀EEPROM中的cuf數(shù)組中的數(shù)據(jù)
                                    CC=cuf[1]*256;
                                        CC=CC+cuf[0];
                                        numc=CC;
                                        numc+=BL;//每按一次按鈕numc就增加BL值
                                    if(numc>9998)
                                             {
                                               numc=0;
                                             }
                                        CC=numc;
                                                
                                    dct[0]=CC%256; //BB的低八位
                                        dct[1]=CC/256; //BB的高八位
                                        Sector_Erase(0x2400);//擦除扇區(qū)
                                    Morebyte_Program(0x2400,dct);//將numc寫入EEPROM中
                                 
                                      SMGBUFFER[4][0]=DuanMa[numc%10]; //四位數(shù)碼管待顯示數(shù)據(jù)
                                    SMGBUFFER[4][1]=DuanMa[numc/10%10];
                                    SMGBUFFER[4][2]=DuanMa[numc/100%10];
                                   SMGBUFFER[4][3]=DuanMa[numc/1000%10];

                                 DISPLAY(4);//顯示函數(shù)
                                STARflag=0;//按鍵復(fù)位
                                 
           }
求高手指導(dǎo)一下,為什么我的數(shù)碼管顯示一直是每按一次加1,而不是加10(BL值我設(shè)置為10),謝謝了!!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:213173 發(fā)表于 2019-12-25 14:10 | 只看該作者
本帖最后由 wulin 于 2019-12-25 15:33 編輯

16位數(shù)據(jù)可以按字節(jié)存EEPROM同一扇區(qū)不同地址,讀取后再合并還原為16位數(shù)據(jù)。
        if(STARflag)//如果按下了啟動(dòng)按鈕,置位
        {   
                luf[0]=Morebyte_Readluf(0x2200);//讀EEPROM保存的低八位放在在luf[0]緩存數(shù)組中
                luf[1]=Morebyte_Readluf(0x2200+1);//讀EEPROM保存的高八位放在在luf[1]緩存數(shù)組中
                numc=luf[1]<<8|luf[0];//合并為16位數(shù)據(jù)
       
                numc+=BL;//每按一次按鈕numc就增加BL值
                if(numc>9998)
                {
                        numc=0;
                }
                dct[0]=numc;                 //緩存低八位,高位溢出
                dct[1]=numc>>8;         //緩存高八位
                Sector_Erase(0x2200);//擦除扇區(qū)
                Morebyte_Program(0x2200,dct[0]);//將numc低八位寫入EEPROM中
                Morebyte_Program(0x2200+1,dct[1]);//將numc高八位寫入EEPROM中
       
                SMGBUFFER[4][0]=DuanMa[numc%10]; //四位數(shù)碼管待顯示數(shù)據(jù)
                SMGBUFFER[4][1]=DuanMa[numc/10%10];
                SMGBUFFER[4][2]=DuanMa[numc/100%10];
                SMGBUFFER[4][3]=DuanMa[numc/1000%10];
               
                DISPLAY(4);//顯示函數(shù)
                STARflag=0;//按鍵復(fù)位
        }

回復(fù)

使用道具 舉報(bào)

板凳
ID:239611 發(fā)表于 2019-12-25 14:19 | 只看該作者
BL是從EEPROM讀出來的,這里看不到你怎么設(shè)置BL的,設(shè)置后是否寫到EEPROM中?
回復(fù)

使用道具 舉報(bào)

地板
ID:275852 發(fā)表于 2019-12-25 15:30 來自觸屏版 | 只看該作者
botgs 發(fā)表于 2019-12-25 14:19
BL是從EEPROM讀出來的,這里看不到你怎么設(shè)置BL的,設(shè)置后是否寫到EEPROM中?

BL我有設(shè)置過并確認(rèn)己經(jīng)寫入了EEPRPM的,因?yàn)槲矣昧硪粋(gè)按鍵可以調(diào)閱已設(shè)置好的參數(shù),并在數(shù)碼管顯示,結(jié)果沒錯(cuò),謝謝你的答復(fù)
回復(fù)

使用道具 舉報(bào)

5#
ID:275852 發(fā)表于 2019-12-25 17:18 | 只看該作者
問題找出來了,問題出在哪里呢?顯示的條件是: if(STARflag),可是最后把這個(gè)條件否定了:STARflag=0;//按鍵復(fù)位,造成了瞬間顯示,根本看不出顯示效果,應(yīng)該延時(shí)一些時(shí)間再退出,謝謝回復(fù)我的朋友。!
回復(fù)

使用道具 舉報(bào)

6#
ID:437615 發(fā)表于 2019-12-25 17:22 | 只看該作者
BL=LL;  LL=luf[1]*256+luf[0];是多少
回復(fù)

使用道具 舉報(bào)

7#
ID:668457 發(fā)表于 2019-12-25 17:34 | 只看該作者
luf[1]和luf[0]是多少啊
回復(fù)

使用道具 舉報(bào)

8#
ID:275852 發(fā)表于 2019-12-25 22:50 | 只看該作者
zhy123654 發(fā)表于 2019-12-25 17:22
BL=LL;  LL=luf[1]*256+luf[0];是多少

具體值有按鍵驅(qū)動(dòng)函數(shù)設(shè)置,謝謝!
回復(fù)

使用道具 舉報(bào)

9#
ID:275852 發(fā)表于 2019-12-25 22:52 | 只看該作者

具體值有按鍵驅(qū)動(dòng)函數(shù)設(shè)置,謝謝!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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