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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機跑馬燈問題,端口直接賦值和變量賦值的區別

[復制鏈接]
跳轉到指定樓層
樓主
ID:308903 發表于 2018-8-24 16:17 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
先總結說明下:

第一個程序,來著開發板自帶程序,可以正常左右循環;第二個程序 只是取消了 uchar LED 這個變量,直接賦值P2 端口,就不行了!

不知道為什么?    求指點下, 是不是哪個概念沒理解清楚?


這個程序是正常運行的,來著普中開發板

#include <reg52.h>
void delay(unsigned int i);  
char LED;


main()
{
  unsigned char i;

  while (1)
  {         LED = 0xfe;
           
           for (i = 0 ;i < 8 ; i++)
          {
           P2  = LED;
           delay(500);
           LED = LED << 1;            
           LED = LED | 0x01;        
           if (LED == 0x7f)         break;        
           }
        
           for (i = 0 ;i < 8 ; i++)
           {
                 
                  P2  = LED;
                  delay(500);
                  LED = LED >> 1;        
                  LED = LED | 0x80;        
           
           }

   }

}


/******延時*************/
void delay(unsigned int i)
{
    unsigned char j;
    for(i; i > 0; i--)
        for(j = 255; j > 0; j--);

}


下面這個程序,就只能跑一下了!#include  < reg52.h >

#define uchar unsigned  char
#define uint  unsigned  int

/*****延時*****/

void delayMS  ( uint  ms )
{
  uchar i;

  while ( ms-- )
  {
    for ( i = 0;  i < 255;  i++ );
  }
}

/***主函數***/

void  main  ()
{
  uchar i;

  while ( 1 )
  {   

    for ( i = 0;  i < 8;  i++ )
     {
       P2  = 0xfe;
       delayMS ( 500 );

       P2 = P2  << 1;
       P2 = P2  | 0x01;

       if ( P2  == 0x7f )
       break;
     }

     for  ( i = 0;  i < 8;  i++ )
     {
       P2 = 0xfe;
       delayMS  ( 500 );

       P2 = P2  >> 1;
       P2 = P2  | 0x80;
     }
  }
}


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

使用道具 舉報

沙發
ID:389714 發表于 2018-8-24 16:44 | 只看該作者
P2 是端口寄存器,不是變量,不能左右移

評分

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

查看全部評分

回復

使用道具 舉報

板凳
ID:389714 發表于 2018-8-24 16:46 | 只看該作者
P2 口是寄存器,不是變量,只能賦值,不能左右移。
回復

使用道具 舉報

地板
ID:388013 發表于 2018-8-24 17:41 | 只看該作者
移位要加移位的頭文件
回復

使用道具 舉報

5#
ID:308903 發表于 2018-8-27 09:23 | 只看該作者
zjp_zy 發表于 2018-8-24 16:46
P2 口是寄存器,不是變量,只能賦值,不能左右移。

  謝謝,再去翻了下書,

書上寫了:   P0~P3 ,歸于專用寄存器,(特殊功能寄存器),,位于內部RAM 區的高 128 字節處 ( 80H - FFH 之間)

沒好好學習~




回復

使用道具 舉報

6#
ID:308903 發表于 2018-8-27 09:23 | 只看該作者
1984528951 發表于 2018-8-24 17:41
移位要加移位的頭文件

謝謝,還真是漏下了~
回復

使用道具 舉報

7#
ID:390344 發表于 2018-8-27 11:21 | 只看該作者
你看一下郭老師的單片機  跑馬燈歷程  應該很好用
上面有程序  你對照看一下
回復

使用道具 舉報

8#
ID:390373 發表于 2018-8-27 12:42 | 只看該作者
很好,謝謝,很好
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲性人人天天夜夜摸 | 亚洲欧美一区二区三区国产精品 | 嫩草视频在线 | 国产福利在线看 | 亚洲精品在线免费看 | 91深夜福利视频 | 国产精品久久久久久久久久三级 | 99久久久久国产精品免费 | 国产精品一区二区不卡 | www.久久久久久久久久久久 | 日韩高清中文字幕 | 91av在线不卡 | 欧美性猛交一区二区三区精品 | 黄色在线免费播放 | 波多野结衣一区二区 | 日韩精品在线一区 | 看真人视频一级毛片 | 黄a免费网络 | 91av在线电影 | 孰女乱色一区二区三区 | 国产免费又黄又爽又刺激蜜月al | 日韩一区二区三区视频 | 欧美综合一区二区三区 | 欧美5区| 久久综合狠狠综合久久 | 欧美一区在线视频 | 国产精品资源在线 | 国产精品久久久久一区二区三区 | 羞羞视频免费观 | 精品国产欧美一区二区 | 99tv成人影院 | 伊人一二三| 欧美一级在线观看 | 亚洲一区有码 | 91 在线| 中文在线日韩 | 精产国产伦理一二三区 | 国产精品久久久久久模特 | 中文在线播放 | 二区国产 | 一区二区三区在线免费观看视频 |