精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

單片機如何點亮LED燈

CHANBAEK ? 來源: Zi Jin Code ? 作者: 錕醬不是醬 ? 2023-11-01 11:36 ? 次閱讀

學習單片機

從點亮第一顆LED燈開始

這一節學堂,我們來學習如何點亮一LED燈

首先是電路設計以及點亮這顆LED的方法

我們把LED燈接在P1.0上,使用的是上拉接法,如圖:

圖片

現在LED接好了,那么要怎樣點亮LED呢?

觀察我們的電路,這個電路里面LED的負極接在P1.0上,我們給P1.0寫低電平的時候P1.0相當于一個負極,電流從LED正極流過,負極流出,LED導通,LED就點亮了

當我們給P1.0寫高電平的時候,相當于LED兩級都接上了正極,這時候LED不導通,所以LED就不能被點亮

這里可能有朋友會問,為何使用上拉接法,直接把LED的正極接在P1.0上,給P1.0寫高電平LED導通就點亮,不好嗎?

理論上這樣電路設計和操作更加簡便,但是由于C51的IO能提供的高電平電流很弱,如果把LED直接接在IO上,IO寫高電平時提供的電流不足以點亮LED燈或者點亮的LED燈亮度很低

因此我們使用上拉接法,這樣流過LED的電流就會更大,LED也就更亮

知道點亮LED就是給P1.0寫高電平,那么要怎樣才能操作P1.0呢?

這里我們就要操作C51的IO咯

在C51中,一共有四組IO:P0 P1 P2 P3

圖片

每一組IO有八只IO,一組IO在單片機內對應一個8位的寄存器,修改這個寄存器的值(0/1)單片機就能輸出0/1了

在reg52.h里面,已經對這幾組IO的寄存器地址進行了定義,我們要用的時候,可以直接使用關鍵字:P0,P1,P2,P3

我們可以對整組IO進行修改,只需要給他賦上一個八位十六進制數值即可

P1 = 0xFF;

也可以用sbit對一組IO中的一個IO定義一個名字,直接改變這個IO的0/1

比如說我們的LED接在P1.0,那么我給P1.0的IO定義一個叫LED的關鍵字

sbit LED = P1^0;

注意這里的格式

sbit 名稱 = IO組^IO標號;

P1.0對應的IO組是P1,P1上的.0,所以我們寫作“P1^0”

一切準備就緒,上代碼

下面是整個程序的代碼

#include< reg52.h >


sbit LED = P1^0;


void mian()
{
  LED = 1;//復位LED狀態,保證剛開始時候LED熄滅

  LED = 0;//拉低LED的負極引腳,點亮我們的LED
  while(1){}//執行到這里,結束
}

上傳程序,你會發現,LED點亮了!!

我們也可以對整個P1IO組進行操作,

熄滅LED燈的時候,我們給P1所有的IO都寫上1,對應0xFF

P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0

熄滅LED燈的時候,我們給P1.0單獨寫上0,對應0xFE

P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0
#include< reg52.h >


void mian()
{
  P1 = 0xFF;//復位LED狀態,保證剛開始時候LED熄滅
  P1 = 0xFE;//拉低LED的負極引腳,點亮我們的LED
  while(1){}
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6032

    文章

    44514

    瀏覽量

    632979
  • led燈
    +關注

    關注

    22

    文章

    1592

    瀏覽量

    107836
  • 寄存器
    +關注

    關注

    31

    文章

    5317

    瀏覽量

    120004
  • 電路設計
    +關注

    關注

    6665

    文章

    2427

    瀏覽量

    203305
收藏 人收藏

    評論

    相關推薦

    STC15單片機為什么點亮LED的時候,點陣也要亮?

    STC15單片機為什么點亮LED的時候,點陣也要亮?
    發表于 12-21 11:22

    如何去完成一種基于51單片機點亮led的實驗?

    如何去完成一種基于51單片機點亮led的實驗?怎樣去編寫實驗代碼?
    發表于 07-14 07:26

    51單片機點亮led實驗

    keil + protues 51單片機點亮led實驗環境:keil4 + proteus 8proteus操作:1.新建工程,名字隨意。工程已經搞好。2.搞個芯片進來,爽一波。添加
    發表于 07-15 08:38

    51單片機點亮led程序

    51單片機點亮led程序——點亮LED1、對照開
    發表于 07-21 08:11

    如何去實現一種基于STC89C52單片機點亮LED的設計

    如何去實現一種基于STC89C52單片機點亮LED的設計?有哪些操作步驟?
    發表于 09-23 06:28

    如何去實現一種基于51單片機點亮led的設計

    如何去實現一種基于51單片機點亮led的設計?如何對基于51單片機led
    發表于 09-28 08:20

    如何利用51單片機點亮LED

    如何利用51單片機點亮LED
    發表于 10-09 06:18

    C51單片機如何點亮LED

    C51單片機如何點亮LED
    發表于 10-15 06:00

    如何利用TM4C123G單片機點亮LED

    如何利用TM4C123G單片機點亮LED
    發表于 10-20 07:24

    如何去實現基于一種51單片機點亮LED的程序

    如何去實現基于一種51單片機點亮LED的程序?
    發表于 10-20 08:05

    金沙灘開發板單片機如何點亮led

    金沙灘開發板單片機如何點亮led
    發表于 10-26 07:16

    如何利用51單片機點亮LED

    如何利用51單片機點亮LED
    發表于 10-28 06:47

    如何利用51單片機點亮LED實現跑馬燈效果?

    如何利用51單片機點亮LED實現跑馬燈效果?
    發表于 11-08 06:19

    如何使用合泰HT32F52352單片機點亮LED

    如何使用合泰HT32F52352單片機點亮LED
    發表于 01-27 07:29

    使用單片機點亮LED的程序和工程文件免費下載

    本文檔的主要內容詳細介紹的是使用單片機點亮LED的程序和工程文件免費下載。
    發表于 09-25 17:33 ?15次下載
    使用<b class='flag-5'>單片機</b><b class='flag-5'>點亮</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>的程序和工程文件免費下載