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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

初學單片機求解

[復制鏈接]
跳轉到指定樓層
樓主
/***********************************************************************
                          點亮LED燈
***********************************************************************/
#include<reg52.h>

sbit LED0=P2^0;

void Delay10ms(unsigned int ms);

void main()
{
    P2=0xc0;
    while(1)
            {
                   LED0=1;
                }


}

為啥第一顆燈老是亮,為什么?小蝦一枚

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

使用道具 舉報

沙發
ID:138144 發表于 2016-9-19 21:50 | 只看該作者
P2=0x02;時第一顆燈還是亮的?怎么回事啊?
回復

使用道具 舉報

板凳
ID:57657 發表于 2016-9-20 07:17 | 只看該作者
延遲程序里的循環語句哪里去了?
回復

使用道具 舉報

地板
ID:138144 發表于 2016-9-20 10:33 | 只看該作者
npn 發表于 2016-9-20 07:17
延遲程序里的循環語句哪里去了?

我只是點亮某一顆LED,不需要延遲啊!
回復

使用道具 舉報

5#
ID:57657 發表于 2016-9-20 19:19 | 只看該作者
sz15207554653 發表于 2016-9-19 21:50
P2=0x02;時第一顆燈還是亮的?怎么回事啊?

0x02 二進制等于 10, P2.0等于0也就是GND LED另一端接的VCC 當然要亮。
寫個流水燈程序之類的,那個燈亮滅不能改變則是那個IO口壞了或線路有短路或開路。

回復

使用道具 舉報

6#
ID:67175 發表于 2016-9-20 19:50 | 只看該作者
沒有原理圖嗎?   高電平亮還是低電平亮;  如果是低電平點亮的話,你的P2=0xc0;  二進制位1100 0000,除了P2.7 P2.6  其余的都是低電平,  while(1)中,P2.0=1; 意味著此時  P2=(1100 0001)B;
回復

使用道具 舉報

7#
ID:21069 發表于 2019-2-2 01:25 | 只看該作者
其實你范錯就只是敲錯一個字符,下面看正確的:

#include<reg52.h>

sbit LED0=P2^0;

void Delay10ms(unsigned int ms);

void main()
{
    P2=0x00; //P2口全置低//P2=0xC0;這是你的,一個字符之差,估計你超PDF上的資料沒看清所致

    while(1)
        {
                LED0=1;
        }       
}

我們再來談談,開機后沒給P1,P2,P3,P0值時他們是高電平還是低電平

#include<reg52.h>
sbit LED0=P2^0;

void Delay10ms(unsigned int ms);

void main()
{
   
    while(1);
}

結果如下圖


結果是除P0外全都是高電平,
所以,你只要P2口只亮一個燈,就得先將P2口全部置低,這樣當你LED0=1時才亮一個燈
至于P0口為什么不是高電平,那是因為他內部是開漏設計

評分

參與人數 4黑幣 +120 收起 理由
Sawardeakar + 15
刀刀見紅 + 35 回帖助人的獎勵!
areyouok + 35 很給力!
shuisheng + 35 很給力!

查看全部評分

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表