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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

遇到奇怪的問題了,求助

[復制鏈接]
跳轉到指定樓層
樓主
此程序是用74hc138譯碼器點亮led燈的程序。當在程序中
if(i==9)
         {
   i=0;
}
這段語句前面加延時函數后。i的值一直是1.當把延時去掉后i的值就可以加到9.折是為什么呢?想加個延時函數。源程序如下
#include<reg51.h>
void delay(unsigned int c) ;
sbit A=P0^1;
sbit C=P0^2;
sbit D=P0^3;
main()
{
unsigned char i;
      i=1;
while(1)
  {
   
switch(i)
   
       {
case(1):  A=0,C=0,D=0 ;  //led1 點亮
       break;
case(2):  A=1,C=0,D=0 ;  //led2點亮

       break;
case(3):  A=0,C=1,D=0 ;  //led3點亮

       break;
case(4):  A=1,C=1,D=0 ;  //led4點亮

       break;
case(5):  A=0,C=0,D=1 ;  //led5點亮

       break;
case(6):  A=1,C=0,D=1 ;  //led6點亮

       break;      
case(7):  A=0,C=1,D=1 ;  //led7點亮

       break;
case(8):  A=1,C=1,D=1 ;
        //led8點亮
       break;

}
      delay(9); //加上這個延時函數后i的值就不可以加到9了,一直是1
      
       i=i++;
       if(i==9)
         {
   i=0;
  }
  }  


}


void  delay(unsigned int c)
{
   unsigned char k,j;
    for(;c>0;c--)
       {
    for(k=50;k>0;k--)
       {
          for(j=200;j>0;j--);
       }

}

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

使用道具 舉報

沙發
ID:105811 發表于 2016-4-18 21:45 | 只看該作者
有人知道是什么原因么?
回復

使用道具 舉報

板凳
ID:105811 發表于 2016-4-21 22:06 | 只看該作者
等高人回答
回復

使用道具 舉報

地板
ID:114189 發表于 2016-4-21 23:33 來自手機 | 只看該作者
前面i=1

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

5#
ID:114189 發表于 2016-4-21 23:35 來自手機 | 只看該作者
i=i++ 改為i=i+1

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

6#
ID:105811 發表于 2016-4-23 17:04 | 只看該作者
試了一下下改成i=i+1;就可以了。這是為什么呢?兩種表達方式不都是一樣么?怎么會有區別

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

7#
ID:114031 發表于 2016-4-23 20:54 | 只看該作者
5L正解~~~~~~~~~
回復

使用道具 舉報

8#
ID:116291 發表于 2016-4-24 11:25 | 只看該作者

i=i++ 改為i=i+1

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

9#
ID:116288 發表于 2016-4-24 11:53 | 只看該作者
看看匯編代碼,存在以下區別

QQ圖片20160424114948.png (4.69 KB, 下載次數: 75)

QQ圖片20160424114948.png

QQ圖片20160424115052.png (3.6 KB, 下載次數: 82)

QQ圖片20160424115052.png

QQ圖片20160424115228.png (5.54 KB, 下載次數: 74)

QQ圖片20160424115228.png

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

10#
ID:116288 發表于 2016-4-24 11:58 | 只看該作者
實際上i=i++;先執行了等于的操作,把1賦值給通用寄存器,然后執行i++的操作,然后又把寄存器的值賦值給i,這樣就還是1了

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

11#
ID:116288 發表于 2016-4-24 12:00 | 只看該作者
我也不知道為什么會這樣編譯,本來上傳的圖片怎么沒了?你自己仿真看看匯編代碼就清楚了

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

12#
ID:87568 發表于 2016-4-24 19:24 | 只看該作者
按照運算符的運算規則,i=1;i=i++;其結果不會改變。直接使用i++;就行了!!!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 五月槐花香 | avmans最新导航地址 | 日韩免费视频 | 蜜臀网| 婷婷中文字幕 | 国产日韩欧美精品一区二区三区 | 久久免费资源 | 羞羞的视频在线 | 天天草天天射 | 九九热精品在线 | 福利社午夜影院 | 天天舔天天| 国产精品一区二区三区在线 | 欧美视频三区 | 久久久久中文字幕 | 精品二区| 天天操 夜夜操 | 在线男人天堂 | 97碰碰碰| av电影一区二区 | 91精品久久久 | 精品综合久久久 | 玖玖视频国产 | 手机看黄av免费网址 | 你懂的国产| 九九99久久| 亚洲最大的黄色网址 | 精品久久久久一区二区国产 | 一区二区福利视频 | 免费亚洲视频 | 美女视频一区二区三区 | 欧美日韩一二三区 | 国产主播第一页 | 国产综合一区二区 | 天天爽夜夜骑 | 中文字幕国产在线 | 国产免国产免费 | 91不卡 | 伊人网站在线观看 | 国产日韩一区二区三区 | 久久久久久久久久久高潮一区二区 |