色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

基于51單片機點亮一個LED燈(一)

CHANBAEK ? 來源:無限琢磨 ? 作者: 工具人 ? 2023-11-01 11:44 ? 次閱讀

不論學習什么單片機,最簡單的外設莫過于IO口的高低電平控制。而對于一個IO口的高低電平控制入門階段將是從點亮一個LED開始的。

本章將介紹在如何創建號的工程模板上,通過控制51單片機的GPIO口,點亮一個LED燈。

發光二極管

發光二極管(Light Emitting Diode)簡稱LED,是一種會發光的半導體組件且具備二極管的電子特性,具有正向導通的特性

發光二極管的參數

正向導通電壓:

發光二極管通常的正向導通電壓是1.8V到2.2V之間

工作電流

工作電流一般在1mA~20mA之間

其中,當電流在1mA ~ 5mA之間變化時,隨之通過LED的電流越來 越大,肉眼可以感覺到這個小燈越來越亮,而當電流從5mA~20mA之間變化時,肉眼看到發光二極管的亮度變化不是很明顯。當電流超過20mA時,LED就會有燒壞的危險。通常在led管腳上串聯一個電阻,目的是為了限制通過LED的電流不要太大,起到了限流的作用。

如何識別原理圖

拿到一塊開發板的同時,我們還需要查閱它的原理圖,讀懂它的電路連接方式。

如下圖:

圖片

從上圖可以看出,圖中的P5.5表示兩處是連接在一起的。表示連接在單片機的第19引腳,對應為STC15W的5.5串口。

在例如圖中的LED流水燈,LED控制管腳連接在單片機的IO口上。LED采用共陽接法,及所有的LED陽極(既正極,陰極為負極)管腳接在電源VCC,同時LED還串聯著一個電阻接到單片機的P2口上。根據電路常識,要LED發光,既對應的單片機IO口需要的電平為低電平。反之,高電平則熄滅。

圖片其他也是在原理圖上的都可以以此類推。

軟件設計

對單片機原理圖有所理解之后,接下來就是對單片機進行程序的編寫以及燒錄。

問題一:如何點亮LED。

圖片

第一次要實現的功能就是點亮D1位置的LED,如圖所示,D1位置的發光二極管連接在單片機的P2.0 IO口,即讓P2.0輸出低電平

圖片

圖片

#include < reg51.h >//引入包51單片機的一個頭文件


sbit   LED_D1=P2^0;// 將單片機的P2.0IO口定義為LED_D1


int main()
{
  while(1)
  {
      LED_D1=0;  // “0”即為低電平,“1”即為高電平,

  }


}

當編譯器編譯成功沒有報錯的時候,在軟件界面下方會顯示以上的編譯結果信息,表示沒有任何問題。

當代碼編寫沒有任何問題的時候,接下里就需要對單片機進行燒錄。

首先,在狀態欄點擊魔術棒-->Output-->打勾“Create HEX File”-->生成目標文件 ”.hex“ 文件。

在程序目錄下可以查看目標文件——“.hex”文件。

圖片

也可以通過點擊下圖所示位置,更改文件位置或者查看文件目錄。

圖片

打開燒錄軟件

第一步:選擇對應的單片機芯片

第二部:查看COM口(也就是單片機連接電腦,所查的USB口)

第三步:打開程序文件,也就是剛剛上一步所生成的目標文件——.hex文件。

第四步:在下圖“4”位置會顯示經過解碼的程序文件。

第五步:點擊“下載/編程”按鈕

第六步:在下圖,位置“6”會顯示操作成功的文字。既燒錄成功。

注意:在每一次燒錄時,應該對單片機進行一次斷電上電,該步驟稱為單片機的冷啟動,才能繼續燒錄程序。

圖片

此時單片機上的LED燈為發光。

圖片

問題二:如果要點亮所有的LED,需要怎么做呢?

圖片

源碼復制

#include < reg51.h >//引入包51單片機的一個頭文件


sbit   LED_D1=P2^0;// 將單片機的P2.0IO口定義為LED_D1
sbit   LED_D2=P2^1;// 將單片機的P2.0IO口定義為LED_D2
sbit   LED_D3=P2^2;// 將單片機的P2.0IO口定義為LED_D3
sbit   LED_D4=P2^3;// 將單片機的P2.0IO口定義為LED_D4
sbit   LED_D5=P2^4;// 將單片機的P2.0IO口定義為LED_D5
sbit   LED_D6=P2^5;// 將單片機的P2.0IO口定義為LED_D6
sbit   LED_D7=P2^6;// 將單片機的P2.0IO口定義為LED_D7
sbit   LED_D8=P2^7;// 將單片機的P2.0IO口定義為LED_D8、


int main()
{
  while(1)
  {
      LED_D1=0;  // “0”即為低電平,“1”即為高電平,
      LED_D2=0;
      LED_D3=0;
      LED_D4=0;
      LED_D5=0;
      LED_D6=0;
      LED_D7=0;
      LED_D8=0;
  }  
}

進行同樣的燒錄下載后,效果如下

圖片

手機調整曝光度后的效果。

問題三:如何簡化程序。

顯然這種寫法會顯得很累贅,假如有100個LED燈,那么不就是需要寫100次的“sbit LED_D1=P2^0”,顯然是不可能的。這種叫位操作。在某一些方面這一寫法很方便,但是在如上面的情況就顯得很麻煩。

圖片

源碼復制

#include < reg51.h >int main(){  while (1)  {    P2=0;//或者P2=0X00  }}

其中“P2”就等同于

圖片

而“P2=0;”則等同于

圖片

或者可以將程序中的“P2=0;”寫成“P2=0x00;”,“0x”表示的是16進制,轉成二進制則為“0000 0000”,現在的手機計算機都可以實現進制的轉換。

那如果用以上的寫法,單獨的控制某一個LED的亮滅需要怎么做呢?則需要我們需要點亮(熄滅)的LED,在對位的位置置“0”(“1”)。

例如:我們要D4LED熄滅,采用以上寫法,則值需要在D4 LED置“1”即可,轉換成十六進制則為“0x10”。

圖片

注意:進制的轉換,應從最低位開始算起。

程序編寫以及燒錄結果

圖片

源碼復制

#include < reg51.h >
int main()
{
  while (1)
  {
    P2=0x08;
  }
}

圖片

其他的以此類推。

問題四:如何讓LED閃爍起來。

程序編寫以及燒錄結果。

圖片

源碼復制

#include < reg51.h >//引入包51單片機的一個頭文件
sbit LED_D1=P2^0;
int main()
{
  int i;
  while(1)
  {
    i=10000;
     LED_D1=0;
    while(i--);
     LED_D1=1;
    while(i--);

  }
}
LED_D1=0;
    while(i--);
    //兩句代碼的含義為 LED_D1保持低電平一段時間,該時間為 while(i--);
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6035

    文章

    44554

    瀏覽量

    634653
  • led燈
    +關注

    關注

    22

    文章

    1592

    瀏覽量

    107950
  • 發光二極管
    +關注

    關注

    13

    文章

    1198

    瀏覽量

    66282
  • 51單片機
    +關注

    關注

    274

    文章

    5702

    瀏覽量

    123493
  • GPIO
    +關注

    關注

    16

    文章

    1204

    瀏覽量

    52055
收藏 人收藏

    評論

    相關推薦

    如何入門51單片機?如何利用51單片機點亮一個led

    如何入門51單片機?如何利用51單片機點亮一個led
    發表于 10-20 07:28

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

    STM32單片機51單片機一個更好用呢?如何去實現種基于51
    發表于 11-02 06:52

    51單片機點亮LED

    當我們學過51單片機之后就知道在51單片機點亮
    發表于 12-07 06:39

    如何利用51單片機點亮LED

    如何利用51單片機點亮LED
    發表于 01-24 07:27

    使用51單片機點亮LED的程序免費下載

    本文檔的主要內容詳細介紹的是使用51單片機點亮LED的程序免費下載。
    發表于 08-28 17:29 ?30次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>點亮</b><b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>LED</b>的程序免費下載

    如何使用單片機點亮LED

    我們學單片機,第一個程序就是點亮LED,那么我單片機
    發表于 07-16 17:39 ?4次下載
    如何使用<b class='flag-5'>單片機</b><b class='flag-5'>點亮</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>

    51單片機——LED點亮

    點亮LED原理單片機點亮LED 利用LED陽極為正陰極為負才會導通
    發表于 11-11 19:21 ?19次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>——<b class='flag-5'>LED</b><b class='flag-5'>燈</b>的<b class='flag-5'>點亮</b>

    51單片機如何跳出wile循環_51單片機閃爍LED

    閃爍LED 51單片機是較為簡單的8位單片機,意思是次能處理8位2進制數據。這
    發表于 11-23 10:06 ?21次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>如何跳出wile循環_<b class='flag-5'>51</b><b class='flag-5'>單片機</b>閃爍<b class='flag-5'>LED</b><b class='flag-5'>燈</b>

    51單片機點亮

    本文只是為了記錄本人大學學習51單片機些記錄過程主要是純干貨接下來會出系列的單片機的教程本文教大家
    發表于 11-23 16:20 ?9次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>點亮</b><b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>燈</b>

    51單片機實驗8:led點陣(2):點亮數字圖案

    51單片機實驗8:led點陣(2):點亮數字圖案
    發表于 11-23 16:36 ?8次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>實驗8:<b class='flag-5'>led</b>點陣(2):<b class='flag-5'>點亮</b><b class='flag-5'>一</b><b class='flag-5'>個</b>數字圖案

    51單片機 點亮LED LED閃爍

    ) //循環 { }}使用51單片機點亮LED#include <
    發表于 11-23 17:06 ?5次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b> <b class='flag-5'>點亮</b><b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>LED</b> <b class='flag-5'>LED</b>閃爍

    51單片機——點亮LED

    51單片機——點亮LED文章目錄
    發表于 11-23 18:06 ?16次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>——<b class='flag-5'>點亮</b><b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>

    基于89C51單片機的IO輸出點亮1LED方法1源程序

    基于89C51單片機的IO輸出-點亮1LED方法1源程序
    發表于 05-16 10:03 ?10次下載

    基于51單片機點亮LED

    入門51單片機步,就是學會點亮LED
    發表于 07-11 11:38 ?1754次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>點亮</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>

    基于51單片機點亮LED(二)

    前面學習完怎么對單片機IO口的高低電平的控制,并且成功點亮LED,接下來學習下流水燈的
    的頭像 發表于 11-01 11:47 ?842次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>點亮</b><b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>(二)
    主站蜘蛛池模板: 亚洲一在线| 国产成人精品永久免费视频| 久久re这里精品23| 偷拍亚洲制服另类无码专区| 啊好深啊别拔就射在里面| 麻豆最新免费版| 在线观看成人免费| 黑色丝袜在线观看| 小玲被公扒开腿| 国产精品久久自在自2021| 色翁荡息又大又硬又粗又爽电影| S货SAO死你BL大点声叫BL| 免费欧美大片| 96.8在线收听| 两个洞一起插哦!好刺激| 中文中幕无码亚洲在线| 久久久久国产精品嫩草影院| 一个人免费视频在线观看| 花蝴蝶在线观看免费8| 亚洲精品无码国产爽快A片| 国产人妻久久久精品麻豆| 无码成人AAAAA毛片含羞草| 国产h视频在线观看网站免费| 三级成人电彭| 国产成人免费视频| 婷婷五月久久丁香国产综合| 国产成人精品电影在线观看| 天天摸夜添狠狠添高| 国产精品久久久久久免费字体| 偷拍自怕亚洲在线第7页| 国产精品毛片在线视频| 午夜想想爱午夜剧场| 国产午夜理论片YY8840Y| 亚洲精品国偷拍自产在线 | 小便japanesewctv| 国产午夜精品久久久久九九| 亚洲AV无码专区国产精品麻豆 | 亚洲国产在线2o20| 教室眠催白丝美女校花| 中国明星16xxxxhd| 免费人妻AV无码专区五月|