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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機程序很疑惑,為什么led燈全亮了,沒有進行流水

[復制鏈接]
跳轉到指定樓層
樓主
ID:699774 發表于 2020-4-17 16:11 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
為什么led燈全亮了,沒有進行流水

  1. #include<reg52.h>
  2. #include<intrins.h>

  3. #define uchar unsigned char
  4. #define uint unsigned int
  5.         
  6. #define led P2

  7. void delay(uchar i)
  8. {
  9.         while(i--);
  10. }

  11. void main()
  12. {
  13.         uchar i;
  14.         led=0x7f;
  15.         
  16.         while(1)
  17.         {
  18.                 for(i=0;i<7;i++)
  19.                 {
  20.                         led=_cror_(led,1);
  21.                         delay(50000);
  22.                 }
  23.         }
  24. }
復制代碼



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

使用道具 舉報

沙發
ID:699774 發表于 2020-4-17 16:16 | 只看該作者
這是我之前寫的下載是可以正常的,今天想寫一個紅外遙控控制流水的,寫出來全亮,然后我新建了一個項目寫了上面的代碼,也是全亮,我對比看看了好久沒看出來兩個有啥區別,為啥一個可以一個不可以#include<reg52.h> #include<intrins.h>  #define uint unsigned int #define led P2 //sbit led = P2;是錯的   sbit只能定義一個引腳,P2是一個端口,#define 是宏替換,將P2口用led所替換  void delay(int i) {         while(i--); }  void main() {         int i,y;         led = 0x7f;                  while(1)         {                 for (i=0;i<7;i++)                 {                         led=_cror_(led,1);                         delay(50000);                 }         } }
回復

使用道具 舉報

板凳
ID:213173 發表于 2020-4-17 17:41 | 只看該作者
流水速度太快,視覺全亮,數據類型用錯:void delay(uchar i)改void delay(uint i)。
回復

使用道具 舉報

地板
ID:695749 發表于 2020-4-17 18:00 | 只看該作者
本帖最后由 hbcqd 于 2020-4-17 21:07 編輯

你自己在寫程序時要注明每條語句的作用,然后再來檢查,是否正確與否。
例如:

#include<reg52.h>             //預處理命令
#include<intrins.h>           //預處理命令
#define uchar unsigned char//宏定義
#define uint unsigned int     //宏定義
        
#define LED P2                 //將P2口定義為LED后面就可以使用LED代替P2口
void delay(uint i)             //無符號整型 0~65535
{
        while(i--);             //循環50000次
}
void main()                 //主程序
{
        uchar i;             //無符號字符類型,單字節0~255
        led=0x7f;         //0111 1111B ,即P2^7輸出低電平  第八個LED燈亮
        
        while(1)            //  無限循環
        {
                for(i=0;i<7;i++)           //循環7次
                {
                        led=_cror_(led,1);    //將LED右移一位
                        delay(50000);         //大約延時450ms
                }
        }
}


回復

使用道具 舉報

5#
ID:367369 發表于 2020-4-17 18:31 | 只看該作者
延時太短50ms基本分辨不出來所以看著就像全亮
回復

使用道具 舉報

6#
ID:275826 發表于 2020-4-17 18:35 | 只看該作者
void delay(uchar i)
{
        while(i--);
}改成
void delay(uint i)
{
...............
}
回復

使用道具 舉報

7#
ID:699774 發表于 2020-4-18 08:15 | 只看該作者
hbcqd 發表于 2020-4-17 18:00
你自己在寫程序時要注明每條語句的作用,然后再來檢查,是否正確與否。
例如:

我明白了,感謝
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕 国产 | 久久伊人青青草 | 国产一级免费在线观看 | 亚洲精品一区二区三区中文字幕 | 日批日韩在线观看 | 色偷偷噜噜噜亚洲男人 | 久热精品视频 | 日韩精品a在线观看图片 | 欧美在线一区二区视频 | 久草在线青青草 | 欧美视频免费在线 | 免费三级网站 | 久久精品av| 福利国产| 欧美日韩中文在线 | 亚洲视频免费在线观看 | 国产成人免费视频网站高清观看视频 | 三级视频国产 | 日韩欧美在线观看 | 精品欧美一区二区三区精品久久 | 久久久久久亚洲精品 | 欧美日韩一 | 欧美日韩中文字幕在线播放 | 做a视频| 欧美精三区欧美精三区 | 精品不卡| 日本精品一区二区三区在线观看视频 | 午夜视频精品 | 成人久草 | 国产精品国产 | 操网站| 国产精品99久久久久久动医院 | 中文在线a在线 | 欧美精品一区二区在线观看 | 欧美影院 | 欧美手机在线 | 国产福利在线看 | 男人天堂手机在线视频 | 国产亚洲高清视频 | 亚洲精品久久久久久久久久久 | 手机av在线 |