68精品久久久久久欧美,最近中文字幕完整在线看一,久久亚洲男人天堂,最近中文字幕完整视频高清1

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當前位置:首頁 >> 技術中心 >> 單片機入門 >> 單片機點亮led燈程序詳解

單片機點亮led燈程序詳解

關鍵字:單片機教程 點亮LED燈 作者:admin 來源:不詳 發(fā)布時間:2018-05-08  瀏覽:37
每個入門單片機的朋友,我想第一個程序幾乎都是點亮一顆LED燈了,這同軟件工程的“hello world”一樣經典,是很簡單,但卻有著很多回憶,依然記得學習單片機的那段經歷,那時經典的8051單片機比如AT89C52要大約8個大洋,電阻電容等等都得自己去買(學校那時沒開發(fā)實驗室),有時為了幾顆電阻,幾顆LED燈,還得花4元的公交車費跑去電子市場,還論顆買,電阻1毛錢2顆,LED燈M5粗的那種1毛錢1顆,然后興高采烈的各種焊接,各種跳線,還各種燒毀……回想起來都說淚!

言歸正傳,我認為單片機第一個程序是點亮LED的理由有幾點:

1、學會用Keil軟件建立單片機工程,建立程序文件,軟件配置和程序編譯。

2、學會分析電路并分析驗證。

3、學會用proteus繪制電路原理圖,并調試仿真。

4、了解一個小實驗的基本流程。

綜合以上幾點,認真的做好這個實驗,對提高學習興趣,很有必要。

什么是LED?

LED中文名稱叫發(fā)光二極管,它會發(fā)出可見光,常見及常用的有可發(fā)紅、黃、綠色光的LED燈,在產品中,紅色常用來指示系統(tǒng)錯誤,綠色常用來指示系統(tǒng)正常,黃色常用來警告,根據應用需求的不同,LED燈也各有千秋,如圖。

  如何用單片機點亮LED

圖中有方形,圓形,貼片等LED,顏色也不一樣,一般地,發(fā)光顏色與燈的外形顏色相同,使用的時候,必須注意幾點:

1、引腳判斷:本例使用2腳的LED燈,新的LED長的引腳為正極,短的引腳為負極。

2、工作電壓:通常為1.2~2.2V

3、工作電流:2mA~20mA

如何點亮?

知道LED的基本參數后,就可以根據需求設計電路了,噢!電路?什么是電路?

電路:指的是由電源,導線,用電器,開關組成的回路。(大概這樣吧)

那么,點亮LED燈的電路必須包含定義中的部分:

1、電源:本例用5V直流電源供電。

2、導線:本例用proteus仿真,連線即為導線。

3、用電器:LED燈,當然,還得加電阻。

4、開關:仿真中“運行”相當于開關。

好了,下面見證LED的成長:

1、計算:參考LED的參數,本例使用M3大的圓形紅色LED來演示,它的工作電流取3mA就足夠亮,LED的亮度與電流有關;工作電壓取2V(實測得的數據), 那么,怎樣滿足該條件? 電源用5V供電,而LED只需要2V,還剩3V,怎么辦?這時,該電阻出場了,電阻是一種能“吃電能”的家伙,剩余的3V電壓就加在它上面,這樣就清楚了, Vled = 2V Vr = 3V ,I = 3mA , 電阻和LED燈應該串聯(lián),不解釋,這里還差一個參數——電阻值,這時,歐姆定律出場, R = U / I = 3V / 3mA = 1K 。

2、繪制仿真電路圖: 過程就不說了,看圖

  如何用單片機點亮LED

運行仿真后。

  如何用單片機點亮LED

加入電流表和電壓表,測測數據和計算的是否有偏差。

  如何用單片機點亮LED

OK,正確。

單片機如何控制LED?

上圖中是給LED燈直接加電壓,使之點亮,這種控制方式是靠控制開關的通斷使之亮滅,同家庭里的燈是一樣一樣的,單片機的出現(xiàn)開啟了電子設備智能時代,換一種方式,用單片機去控制LED燈的亮滅,而單片機靠執(zhí)行程序去輸出想要的結果,真真正正地把人的思想實現(xiàn)出來。

單片機是數字電路,輸出/輸入只有高電平1和低電平0之分,通常0~0.4V的電壓范圍定義為低電平,大于2V定義為高電平,如圖是單片機控制LED燈的電路圖。

  如何用單片機點亮LED

  PS:由于是仿真,這里偷懶了,圖中省略了時鐘電路,電源電路和復位電路

將LED燈的負極連接到單片機P1.0口,正極串口電阻R1到+5V,這樣原理相同的,單片機輸出低電平0,使得LED和電阻通路的兩端產生電勢差,相當于上面圖中的“5V電源”,從而滿足LED燈的參數,點亮LED燈;而當單片機P1.0口輸出高電平時,電勢差約為0,不滿足LED燈亮的要求,此時LED燈熄滅,要達到這樣的效果,必須將“想法”裝給單片機,這時程序閃亮登場。

程序編寫:用keil新建一個C語言程序工程,代碼如下:

  如何用單片機點亮LED

  運行仿真,可以看到LED燈亮了,具體步驟不多說,網上一大堆

  如何用單片機點亮LED

可是,這樣好嗎?嗯,實驗到這步,流程基本走通了,然而這樣的程序并沒多大意義,當我們需要點亮多顆燈時,需要shit LED1 = 。.. sbit LED2 = 。.. 然后再賦值,也許你會說:“簡單,同時端口賦值嘛, 如 P1 = 0x6D 完事兒” ,但是,這幾顆燈要是都不在一個端口呢?這時還是得一個個端口去定義,去賦值?這樣好嗎?可能不好,下面的程序案例,將點亮LED燈封裝在一個函數里,這個函數僅實現(xiàn)點亮LED燈的邏輯功能,使用時根據硬件連接設置函數參數即可,希望起到拋磚引玉的效果。

  如何用單片機點亮LED

  如何用單片機點亮LED

  如何用單片機點亮LED  

運行結果為P1^2和P1^7輸出低電平,LED燈點亮。

編輯:admin  最后修改時間:2023-05-29

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

砀山县| 山阳县| 鄯善县| 宣恩县| 五华县| 宁国市| 孟津县| 金川县| 曲周县| 密山市| 丹棱县| 湖北省| 高唐县| 林口县| 库伦旗| 刚察县| 芜湖县| 逊克县| 惠东县| 文成县| 从江县| 周口市| 日喀则市| 准格尔旗| 五河县| 鄯善县| 颍上县| 图木舒克市| 民丰县| 和林格尔县| 涡阳县| 绥宁县| 黎平县| 马尔康县| 富源县| 左贡县| 东阿县| 哈尔滨市| 新平| 达日县| 瑞金市|