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

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

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

3天內不再提示

如何用單片機電路點亮led?

GReq_mcu168 ? 來源:互聯網 ? 作者:佚名 ? 2017-11-14 05:07 ? 次閱讀

前面介紹了很多概念知識,做了很多準備工作,從這一節開始,我們正式開始單片機的學習。我們將使用單片機完成一項非常簡單的工作:點亮一個發光二極管(即LED:Light-Emitting Diode)。

LED簡介

先簡單介紹一下LED。LED是一種半導體器件,大家其實對LED并不陌生,各種電器的指示燈、手機鍵盤燈、LED液晶屏的背光、高亮LED手電筒等,都是通過LED發光的。LED有兩種主要用途,一種是作為指示燈;另一種是照明。照明用的LED一般都是大功率LED,需要較大的電壓電流才能正常工作。而這里我們要用到的則是用作指示燈的小功率LED。常見的小功率LED,在它的正負極加上3V左右的電壓,就會發光,正常發光的時候,電流大概是2~5mA。這里要注意,LED有正負極之分,接反了不會發光。另外,電壓也不可太高,那樣會燒壞LED。關于LED更詳細的介紹,大家可以參考電子元器件介紹之類的書籍。

電路設計

前面已經介紹了,單片機的IO口能輸出高低電平,點亮LED就是通過IO口輸出電平實現的。如果我們把LED的正極接在電源正極,負極接在單片機的一個IO口上。讓單片機的IO口輸出低電平,也就是接近0V的電壓,這時LED兩端有電壓差,就能發光;如果IO口輸出高電平,LED就會熄滅。

由于我們用的51單片機是5V供電,而LED需要3V電壓,所以我們需要在LED上串聯合適的電阻,否則會燒壞器件。我們可以選用P0~P3共32個IO口中的任何一個,這里選擇的是P1.0。電路圖如下,電阻取值推薦為330Ω ~ 1kΩ之間。

順便附上電阻阻值的計算過程:

1、電阻和LED串聯,LED點亮時總電壓5V,LED上需要3V,所以電阻上電壓是5-3=2V。

2、LED的電流為2~5mA,如果算成2mA,電阻上電壓為2V,電流為2mA,根據歐姆定律,所以阻值應該為2V/2mA=1kΩ。

面包板搭建電路

我們在自己的面包板上搭建的電路如下,我把LED連接在P1.0端口上(萬用板焊接的電路這里沒有提供,大家可以自己去搭建):

開發板的使用

如果你是用的是開發板并且上面有LED模塊,你可以查看電路圖。例如我的開發板電路圖:

圖中VCC通過J1接到RP1上,RP1是排阻,圖中的1號腳是公共腳,在排阻的內部從1號腳往2~9號每個管腳之間有一個1k電阻,總共8個1k電阻排列起來,所以叫做排阻。J1相當于一個開關,其實是兩個排針構成的插座。如果插上跳線帽,就可以導通;拔下跳線帽,就斷開了。這樣設計的好處是,如果我要用LED模塊就插上跳線帽;而如果我不用LED模塊,而講IO口用于其他目的,這時LED就不會對我的電路產生干擾,因為LED一端接IO口,另一端接到排阻上,而排阻另一端是懸空的,沒有接入電路。

而圖中的標號DB1~DB8又接在單片機最小系統電路中的P1.0~P1.7的IO口,所以在J1導通的情況下,P1.0~P1.7的高低電平就能控制D1~D8這八個LED的亮滅了。

具體操作

單片機的編程,我們通常使用Keil軟件。Keil軟件可以從網上下載,安裝過程這里不做詳細介紹,有基本計算機操作知識,安裝起來應該沒有問題。值得注意的一點是,安裝的時候盡量安裝到英文目錄下,最好不要用中文,以免程序運行出現問題。

我們打開Keil軟件,準備給單片機寫程序。大家可以按照下面的步驟進行(這里以Keil uv4英文版為例進行說明。如果你使用的是Keil其他版本,操作方式基本相同)。

一、新建并配置工程

1、首先新建工程:點擊菜單中的Project – New uVision Project。

2、然后我們在電腦上為我們的工程新建一個文件夾,這里我用的是Project01 – LED,大家可以自行命名,但最好是英文名。

3、打開文件夾,輸入工程的名稱,點擊保存。這里我輸入的是LED。

4、然后彈出一個窗口,讓我們選擇單片機的型號。我們用到的是STC89C52RC,而這里面可能沒有STC單片機,我們只需要選擇完全兼容STC的Atmel系列AT89C52單片機,點擊OK確認即可。

5、隨后會彈出一個窗口,提示我們是否需要添加8051的啟動代碼到工程中,點擊否即可(如果我們需要使用自定義的啟動代碼,則可以點是,然后修改啟動代碼。而我們編程用的是C語言,一般情況下不需要修改啟動代碼。至于啟動代碼有什么用處,則可以等到我們對單片機了解的比較深入的時候再查找相關資料進行學習)。

6、下面我們對工程進行簡單的設置。右擊Target 1,選擇第一項Options for Target ‘Target1’…,彈出工程屬性設置窗口。

7、我們打開Output標簽,并勾選Create HEX File,然后點擊OK確認即可。

二、新建源文件并添加至工程中

1、工程新建并配置完成了,下面我們開始新建程序源文件。點擊菜單中的File-New,出現一個新的文件,如圖。

2、然后我們點擊保存按鈕,將其保存到工程文件夾Project01 – LED中,保存為擴展名是“.c”的文件,如main.c。這里大家要注意的是,源文件其實只是一個普通的文本文件,不過擴展名是c而不是txt。我們剛剛新建main.c文件的操作,也可以通過在資源管理器中新建文本文檔,然后重命名為main.c的方式進行。

3、源文件新建好了。源文件只是一個獨立的文本文件,而工程文件現在和剛剛新建的源文件還是完全獨立、沒有關聯的。我們要把剛剛新建的main.c文件添加到我們的工程中來:右擊Target 1/Source Group 1,并選擇菜單中的Add Files to Group ‘Source Group 1’…來添加文件。

4、雙擊需要添加的文件main.c,或者選中它再點擊Add按鈕,從左邊的Project窗口就可以看到,文件就已經被添加到工程中了。這時彈出的窗口并沒有關閉,因為這樣可以方便繼續添加其他文件。因為我們現在只需添加一個文件并且添加好了,所以點擊Close關閉彈出的窗口。

三、編寫程序并編譯

1、我們打開main.c,開始正式編寫程序了。我們編寫的程序如下并保存。至于這個程序是什么含義,之后將詳細介紹。注意一點,我給出的程序中設置的LED是P1.0,如果你的開發板或者自己搭建的電路中LED的IO口不是P1.0,你需要照著我給出的格式修改sbit那一行。這一點也充分體現了,單片機編程是和實際硬件電路息息相關的,程序和電路要配套,才能正常運行。

#include

sbit LED = P1^0;

void main()

{

LED = 0;

while(1);

}

2、點擊左上方的雙箭頭按鈕編譯全部文件,我們看到下方的輸出窗口顯示編譯完成,“creating hex file from ‘LED’”表明已經編譯時創建了HEX文件(HEX文件是十六進制文件,將燒寫進單片機。相當于Windows中的可執行文件“.exe”),“0 Error(s), 0 Warning(s).”表示編譯成功,程序也沒有語法錯誤。如果提示你的程序有錯,請細心的檢查一下,有沒有發生漏掉分號等情況。

四、燒寫程序到單片機中

在工程文件夾下,我們可以看到生成的LED.hex文件,這正是我們所需要的。下面我們將把LED.hex文件燒寫進單片機。前面已經介紹了單片機程序下載相關知識,這里我們將介紹下載程序的一般步驟。由于大家使用的電腦、開發板等都不完全一樣,有可能會下載失敗。希望下載沒有成功的讀者不要灰心,關于下載失敗如何處理,請繼續看后面內容。下載程序的操作步驟如下:

1、設置單片機型號,這里我們設置單片機為STC89C52RC。

2、設置串口端口號,波特率等參數。由于我們一般用的是USB轉串口芯片,不是真正的RS232串口,所以串口號不固定,每次插上轉接板或單片機學習板時,我們應打開設備管理器如圖(XP系統:右擊“我的電腦”→“屬性”→“硬件”→“設備管理器”;Win7系統:右擊“計算機”→“管理”→“設備管理器”)。找到端口(COM和LPT)選項,展開,里面會有一個類似“Prolific USB-to-Serial Comm Port(COM1)”或者“USB-SERIAL CH431(COM1)”的項。括號里面的COMx就是我們要找的端口號。填到STC-ISP中就可以了(如果有多項不知道是哪一個,可以插拔單片機學習板看哪項會刷新)。如果很不幸,你的串口號很大,超出STC-ISP可設置的范圍了,可以右擊設備管理器中顯示的那一項更改COM端口序號。波特率等選項一般按默認即可,不需設置。

3、點擊“打開程序文件”,選擇要燒寫的單片機程序HEX或BIN文件。HEX或BIN文件是編譯之后的機器碼,打開后可以在STC-ISP右側程序文件中看到對應的十六進制數字。你可以選擇自己寫的程序產生的機器碼,也可以在STC-ISP的test-hex目錄中找一些測試程序。這里我們選擇剛剛編譯生成的HEX文件。

4、先點擊“下載”,然后再打開電源開關,給單片機上電。稍后STC-ISP就會顯示正在燒寫程序。如果點擊“下載”前忘了先關電源,或者程序沒能下載,不需要點擊“停止”按鈕,直接斷電再上電嘗試即可。一般幾秒鐘就能下載完成,STC-ISP中會顯示下載成功。

五、觀察程序執行結果,有必要的時調試程序。

一般程序下載完成后,如果P1.0口接有LED,電路連接無誤,LED就會奇跡般的亮起來。我們就成功的讓單片機執行了我們自己寫的程序。每個初學單片機的人在看到這一幕的時候,往往都會激動萬分,正如我第一次學習單片機一樣開心。由于這里的程序非常簡單,基本不需要調試。這時你就可以向好友炫耀一下,展示你的勞動成果了。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • led
    led
    +關注

    關注

    242

    文章

    23347

    瀏覽量

    662461
  • 單片機電路
    +關注

    關注

    0

    文章

    9

    瀏覽量

    7498
  • 面包板
    +關注

    關注

    3

    文章

    298

    瀏覽量

    17614

原文標題:單片機小白(13):點亮第一個LED——好的開始,成功的一半

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    單片機入門之點亮LED

    上一章中我們已經認識了單片機,并且完成了開發環境的搭建,這章中我們正式開始進入單片機編程的學習,本章的學習目標是 點亮一盞LED燈 。
    發表于 06-26 15:38 ?2696次閱讀
    <b class='flag-5'>單片機</b>入門之<b class='flag-5'>點亮</b><b class='flag-5'>LED</b>燈

    求大神指點怎樣通過51單片機點亮LED燈?

    怎樣通過51單片機點亮LED燈?如何用Proteus對LED燈進行仿真?
    發表于 07-06 09:14

    單片機點亮LED

    點亮LED原理單片機點亮LED利用LED陽極為正陰極為負才會導通
    發表于 11-18 06:10

    何用單片機點亮LED

    點亮,就把單片機相關的I/O口賦為低電平。(3)單片機中,用0表示低電平,1表示高電平。2.C語言基礎此處不做過多贅述,相關語法知識可復習C語言基礎。3.點亮一盞
    發表于 11-23 09:10

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

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

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

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

    如何使用單片機點亮LED

    我們學單片機,第一個程序就是點亮一盞LED燈,那么我單片機開啟面向對象方式的第一步也是點亮一盞LED
    發表于 07-16 17:39 ?4次下載
    如何使用<b class='flag-5'>單片機</b><b class='flag-5'>點亮</b><b class='flag-5'>LED</b>燈

    使用單片機點亮LED的學習課件免費下載

    本文檔的主要內容詳細介紹的是使用單片機點亮LED的學習課件免費下載
    發表于 10-14 08:00 ?6次下載
    使用<b class='flag-5'>單片機</b><b class='flag-5'>點亮</b><b class='flag-5'>LED</b>的學習課件免費下載

    AT89C51單片機點亮LED

    AT89C51單片機點亮LED1、環境要求安裝proteus(用來單片機仿真的)安裝keli(用來生成單片機所需的HEX文件)2、prot
    發表于 11-11 14:36 ?10次下載
    AT89C51<b class='flag-5'>單片機</b>之<b class='flag-5'>點亮</b><b class='flag-5'>LED</b>

    51單片機——LED燈的點亮

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

    51單片機 點亮一個LED LED閃爍

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

    89C52單片機 點亮第一個 led,流水燈的實現

    文章目錄1、簡介2、了解開發板電路圖2、代碼編寫 ,點亮 LED13.將編寫的程序燒錄 單片機4. 實物觀測1、簡介網上購買的單片機開發板,
    發表于 11-23 17:06 ?7次下載
    89C52<b class='flag-5'>單片機</b> <b class='flag-5'>點亮</b>第一個 <b class='flag-5'>led</b>,流水燈的實現

    51單片機——點亮一個LED

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

    實例:用單片機點亮家庭電路中的燈

    能否使用單片機點亮家庭電路中的燈?當然可以,對于熟悉單片機的人來說,原理很簡單!
    的頭像 發表于 03-24 09:11 ?2221次閱讀

    基于單片機點亮LED

    單片機點亮LED燈就像用C語言輸出“hello world”一樣,是入門的第一課。
    的頭像 發表于 05-24 14:25 ?1869次閱讀
    基于<b class='flag-5'>單片機</b><b class='flag-5'>點亮</b><b class='flag-5'>LED</b>燈
    主站蜘蛛池模板: 受被攻做到腿发颤高h文 | 40分钟超爽大片黄 | 亚州中文字幕 | 荡乳乱公小说 | 国产精品99久久久久久AV | 99热久久爱五月天婷婷 | qvod 艺术片| 国产福利不卡在线视频 | 成人国产在线看不卡 | 亲胸揉胸膜下刺激视频网站APP | 丝袜美女被啪啪不带套漫画 | georgielyall装修工 | 91交换论坛 | 边摸边吃奶边做激情叫床视 | 全彩acg无翼乌火影忍者 | 久久精品123 | 成人中文在线 | 亚洲欧美国产综合在线一区 | 亚洲 视频 在线 国产 精品 | 国产-第1页-浮力影院 | 干了快生了的孕妇 | 依恋影院在线观看 | 父亲在线日本综艺免费观看全集 | 国产h视频在线观看网站免费 | 波多野结衣二区 | 2021精品国产综合久久 | 亚洲精品在线免费 | 男人和女人一起愁愁愁很痛 | 少妇大荫蒂毛多毛大 | www色小姐 | 国产AV天堂一区二区三区 | 亚洲 小说 欧美 激情 另类 | 97人妻久久久精品系列A片 | 亚洲欧美日本久久综合网站 | 日韩伦理电影秋霞影院 | 午夜视频无码国产在线观看 | 色多多污网站在线观看 | 久久re热在线视频精6 | 胸大的姑娘中文字幕视频 | 在线亚洲专区中文字幕 | 妈妈的朋友6未删减版完整在线 |