久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1966|回復: 15
打印 上一主題 下一主題
收起左側

老師們幫我看看這個程序哪里有問題啊?

[復制鏈接]
跳轉到指定樓層
樓主
ID:399179 發表于 2021-12-12 20:23 來自手機 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
S2按下后顯示正常數值也能增加,就是不能儲存,S5和S6按下后都能正常顯示和儲存。這是什么情況啊?望知道的老師指導一下,謝謝!


void main(){            init();        //初始化24C02    led=1;        led3=0;        led1=read24c02(2);         if(!s4)           write24c02(2,1);           num1=read24c02(0);        //用地址0單元存儲num十六進制表示時的低兩位        num2=read24c02(1);        //用地址0單元存儲num十六進制表示時的高兩位        num=num2*256+num1;        num++;        num2=num/256;        num1=num%256;        write24c02(0,num1);        write24c02(1,num2);                if(!s3)                {  led1=0;                   write24c02(2,0);                         num=0;                                num2=num/256;        num1=num%256;        write24c02(0,num1);        write24c02(1,num2);                        }           num1a=read24c02(3);        //用地址0單元存儲num十六進制表示時的低兩位        num2a=read24c02(4);        //用地址0單元存儲num十六進制表示時的高兩位        numa=num2a*256+num1a;                num2a=numa/256;        num1a=numa%256;        write24c02(3,num1a);        write24c02(4,num2a);        if(num>numa)        {led2=0;        led3=1;}        while(num>numa);                  while(1)        {                        /*                          if(num>300)                led=0;                else                led=1;        */          while(num>numa);                if(!s5)                {                numa++;        num2a=numa/256;        num1a=numa%256;        write24c02(3,num1a);        write24c02(4,num2a);        }                 if(!s2)                {        num++;        num2=num/256;        num1=num%256;        write24c02(0,num1);        write24c02(1,num2);                }                    if(!s6)                {                numa--;        num2a=numa/256;        num1a=numa%256;        write24c02(3,num1a);        write24c02(4,num2a);        }                 display(num);                display1(numa);        }        }

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

使用道具 舉報

沙發
ID:592807 發表于 2021-12-13 08:37 | 只看該作者
太亂了,不看。
回復

使用道具 舉報

板凳
ID:399179 發表于 2021-12-14 12:18 來自手機 | 只看該作者
黃youhui 發表于 2021-12-13 08:37
太亂了,不看。

不知道怎么回事,復制過來就這樣了。
回復

使用道具 舉報

地板
ID:624769 發表于 2021-12-14 13:33 | 只看該作者
快樂眼淚 發表于 2021-12-14 12:18
不知道怎么回事,復制過來就這樣了。

在Keil 里打開后,再貼過來
回復

使用道具 舉報

5#
ID:992178 發表于 2021-12-14 13:54 | 只看該作者
太亂了,建議在keil打開后再看
回復

使用道具 舉報

6#
ID:908826 發表于 2021-12-14 13:58 | 只看該作者
你調一下格式再問吧,你這樣問看的發懵。
回復

使用道具 舉報

7#
ID:399179 發表于 2021-12-14 21:40 來自手機 | 只看該作者
不好意思啊!用手機發的,等回家了用電腦貼過來試試,謝謝大家了!
回復

使用道具 舉報

8#
ID:399179 發表于 2021-12-15 19:04 | 只看該作者
void main()
{       

    init();        //初始化24C02
    led=1;
        led3=0;
        led1=read24c02(2);
         if(!s4)

           write24c02(2,1);   
        num1=read24c02(0);        //用地址0單元存儲num十六進制表示時的低兩位
        num2=read24c02(1);        //用地址0單元存儲num十六進制表示時的高兩位
        num=num2*256+num1;
        num++;

        num2=num/256;
        num1=num%256;
        write24c02(0,num1);
        write24c02(1,num2);
                if(!s3)
                {  led1=0;
                   write24c02(2,0);
                        num=0;
                       
        num2=num/256;
        num1=num%256;
        write24c02(0,num1);
        write24c02(1,num2);
       
                }
           num1a=read24c02(3);        //用地址0單元存儲num十六進制表示時的低兩位
        num2a=read24c02(4);        //用地址0單元存儲num十六進制表示時的高兩位
        numa=num2a*256+num1a;
       

        num2a=numa/256;
        num1a=numa%256;
        write24c02(3,num1a);
        write24c02(4,num2a);
        if(num>numa)
        {led2=0;
        led3=1;}
        while(num>numa);
          
        while(1)
        {       
       
       
/*          
                if(num>300)
                led=0;

                else
                led=1;        */
          while(num>numa);
                if(!s5)
                {
                numa++;
        num2a=numa/256;
        num1a=numa%256;
        write24c02(3,num1a);
        write24c02(4,num2a);
        }
                if(!s2)
                {

        num++;
        num2=num/256;
        num1=num%256;
        write24c02(0,num1);
        write24c02(1,num2);
                }
   

                 if(!s6)
                {
                numa--;
        num2a=numa/256;
        num1a=numa%256;
        write24c02(3,num1a);
        write24c02(4,num2a);
        }
                display(num);
                display1(numa);
        }
       
}
回復

使用道具 舉報

9#
ID:399179 發表于 2021-12-15 19:06 | 只看該作者
void main()
{       

    init();        //初始化24C02
    led=1;
        led3=0;
        led1=read24c02(2);
         if(!s4)

           write24c02(2,1);   
        num1=read24c02(0);        //用地址0單元存儲num十六進制表示時的低兩位
        num2=read24c02(1);        //用地址0單元存儲num十六進制表示時的高兩位
        num=num2*256+num1;
        num++;

        num2=num/256;
        num1=num%256;
        write24c02(0,num1);
        write24c02(1,num2);
                if(!s3)
                {  led1=0;
                   write24c02(2,0);
                        num=0;
                       
        num2=num/256;
        num1=num%256;
        write24c02(0,num1);
        write24c02(1,num2);
       
                }
           num1a=read24c02(3);        //用地址0單元存儲num十六進制表示時的低兩位
        num2a=read24c02(4);        //用地址0單元存儲num十六進制表示時的高兩位
        numa=num2a*256+num1a;
       

        num2a=numa/256;
        num1a=numa%256;
        write24c02(3,num1a);
        write24c02(4,num2a);
        if(num>numa)
        {led2=0;
        led3=1;}
        while(num>numa);
          
        while(1)
        {       
       
       
/*          
                if(num>300)
                led=0;

                else
                led=1;        */
          while(num>numa);
                if(!s5)
                {
                numa++;
        num2a=numa/256;
        num1a=numa%256;
        write24c02(3,num1a);
        write24c02(4,num2a);
        }
                if(!s2)
                {

        num++;
        num2=num/256;
        num1=num%256;
        write24c02(0,num1);
        write24c02(1,num2);
                }
   

                 if(!s6)
                {
                numa--;
        num2a=numa/256;
        num1a=numa%256;
        write24c02(3,num1a);
        write24c02(4,num2a);
        }
                display(num);
                display1(numa);
        }
       
}


現在這個還亂嗎
回復

使用道具 舉報

10#
ID:624769 發表于 2021-12-15 19:44 | 只看該作者
         while(num>numa);

num > numa  就 停在這里不動了
那么 你按了 S2  num++ 之后, 大于了 numa  自然就停在上面的位置不動了。 者有什么問題么?
回復

使用道具 舉報

11#
ID:992889 發表于 2021-12-15 20:25 | 只看該作者
while(num>numa);
回復

使用道具 舉報

12#
ID:399179 發表于 2021-12-15 21:46 來自手機 | 只看該作者
188610329 發表于 2021-12-15 19:44
while(num>numa);

num > numa  就 停在這里不動了

是的,但是在num<numa時按S2num++但不能儲存
回復

使用道具 舉報

13#
ID:624769 發表于 2021-12-15 22:10 | 只看該作者

關鍵是,  只要 num > numa  之后,程序就再也不會動了, 除非重啟動。
回復

使用道具 舉報

14#
ID:592807 發表于 2021-12-16 09:10 | 只看該作者

根據你的描述,我覺得你要存儲的數據超過0XFF,或者不是unsigned char類型的數據
回復

使用道具 舉報

15#
ID:161164 發表于 2021-12-16 09:57 | 只看該作者
不知道你說的"不能儲存"是什么意思
定位void main()為第1行
第8行的if(!s4)只能控制第10行的write24c02(2,1);
從第11行到第19行都會在每次開機時無條件直接運行
經過第14行num++;
num永遠比上一次關機時多了一
回復

使用道具 舉報

16#
ID:399179 發表于 2021-12-16 19:51 來自手機 | 只看該作者
lkc8210 發表于 2021-12-16 09:57
不知道你說的"不能儲存"是什么意思
定位void main()為第1行
第8行的if(!s4)只能控制第10行的write24c02(2 ...

這是一個可預置開機次數限制程序,到了預設的開機次數就不能工作了,等再回家了都貼上來大家看看
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91精品国产高清一区二区三区 | 欧美一区中文字幕 | 精品国产欧美一区二区三区成人 | 亚洲福利| 日韩欧美中文字幕在线观看 | 亚洲成人精品国产 | 日韩精品亚洲专区在线观看 | 91影院在线观看 | 欧美精品乱码久久久久久按摩 | 欧美色a v | 欧美成人在线影院 | 国产成人av电影 | 精品一区二区三区不卡 | 成人免费视频网站在线看 | 国产传媒在线播放 | 久草成人网 | 精品久久久久国产 | 国产高清久久久 | 麻豆精品国产91久久久久久 | 少妇一区在线观看 | 久久久久se | 99re视频精品 | 午夜精品一区 | 四虎永久免费影院 | 日韩精品免费一区二区在线观看 | 国产精品免费视频一区 | 久久亚洲一区 | 国产精品mv在线观看 | 精品一区二区三区在线播放 | 久久精品小视频 | 国产在线h | 天天综合操 | 嫩草网 | 免费性视频 | 日韩欧美一区二区三区 | 中文字幕加勒比 | 北条麻妃视频在线观看 | 99精品99 | 午夜不卡福利视频 | 国产一级片在线观看视频 | 国产精品久久国产精品久久 |