欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

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

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3334|回復(fù): 6
收起左側(cè)

單片機(jī)程序很疑惑,為什么led燈全亮了,沒(méi)有進(jìn)行流水

[復(fù)制鏈接]
ID:699774 發(fā)表于 2020-4-17 16:11 | 顯示全部樓層 |閱讀模式
為什么led燈全亮了,沒(méi)有進(jìn)行流水

  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. }
復(fù)制代碼



回復(fù)

使用道具 舉報(bào)

ID:699774 發(fā)表于 2020-4-17 16:16 | 顯示全部樓層
這是我之前寫(xiě)的下載是可以正常的,今天想寫(xiě)一個(gè)紅外遙控控制流水的,寫(xiě)出來(lái)全亮,然后我新建了一個(gè)項(xiàng)目寫(xiě)了上面的代碼,也是全亮,我對(duì)比看看了好久沒(méi)看出來(lái)兩個(gè)有啥區(qū)別,為啥一個(gè)可以一個(gè)不可以#include<reg52.h> #include<intrins.h>  #define uint unsigned int #define led P2 //sbit led = P2;是錯(cuò)的   sbit只能定義一個(gè)引腳,P2是一個(gè)端口,#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);                 }         } }
回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2020-4-17 17:41 | 顯示全部樓層
流水速度太快,視覺(jué)全亮,數(shù)據(jù)類(lèi)型用錯(cuò):void delay(uchar i)改void delay(uint i)。
回復(fù)

使用道具 舉報(bào)

ID:695749 發(fā)表于 2020-4-17 18:00 | 顯示全部樓層
本帖最后由 hbcqd 于 2020-4-17 21:07 編輯

你自己在寫(xiě)程序時(shí)要注明每條語(yǔ)句的作用,然后再來(lái)檢查,是否正確與否。
例如:

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


回復(fù)

使用道具 舉報(bào)

ID:367369 發(fā)表于 2020-4-17 18:31 | 顯示全部樓層
延時(shí)太短50ms基本分辨不出來(lái)所以看著就像全亮
回復(fù)

使用道具 舉報(bào)

ID:275826 發(fā)表于 2020-4-17 18:35 | 顯示全部樓層
void delay(uchar i)
{
        while(i--);
}改成
void delay(uint i)
{
...............
}
回復(fù)

使用道具 舉報(bào)

ID:699774 發(fā)表于 2020-4-18 08:15 | 顯示全部樓層
hbcqd 發(fā)表于 2020-4-17 18:00
你自己在寫(xiě)程序時(shí)要注明每條語(yǔ)句的作用,然后再來(lái)檢查,是否正確與否。
例如:

我明白了,感謝
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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