第3章-廣告燈控制-簡單程序設計_第1頁
第3章-廣告燈控制-簡單程序設計_第2頁
第3章-廣告燈控制-簡單程序設計_第3頁
第3章-廣告燈控制-簡單程序設計_第4頁
第3章-廣告燈控制-簡單程序設計_第5頁
已閱讀5頁,還剩8頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第三章、廣告燈控制---簡單程序設計3.0你知道嗎3.1功能要求3.2任務分析3.3發光二極管LED3.4發光二極管LED與單片機接口電路設計3.5廣告燈程序設計走在城市街道,我們經常看到各種琳瑯滿目、色彩斑瀾的廣告燈,你知道這些廣告燈效果是如何產生的嗎?在這一章中,我們將通過控制8個發光二極管實現多種廣告燈效果來說明其產生方法你知道嗎?回目錄3.1功能要求一.基本要求控制一個發光二極管LED定時閃爍。二.發揮部分控制8個發光二極管LED產生“跑馬燈”效果。

3.2任務分析要完成此任務,主要需解決如下三方面問題:1)發光二極管LED工作原理;2)8個發光二極管LED與單片機接口電路設計;3)發光二極管LED顯示程序設計回目錄3.3發光二極管LED發光二極管的電參數與普通二極管大致相同,也是一個PN結,同樣具有正向導通,反向截止的特性。發光二極管的伏安特性曲線如下圖。與普通二極管相比,發光二極管主要有如下兩點不同1.發光二極管正向導通電壓要比普通二極管高

2.發光二極管反向擊穿電壓比普通二極管低

發光二極管實物圖3.3.1發光二極管LED工作特性3.3.2發光二極管LED驅動電路由發光二極管LED的工作特性可知,LED工作電流較大,而MCS-51單片機I/O口引腳負載能力有限,不能直接驅動LED,需要增加LED驅動電路。低電平有效高電平有效高電平有效低電平有效(a)三極管驅動電路(b)集成驅動器電路回目錄3.4發光二極管LED與單片機接口電路設計1)74LS245工作特性/E(19腳)DIR(1腳)總線驅動方向01A→B00B→A1X不工作其中19腳/E為芯片工作使能端,只有該引腳電平為有效電平(低電平)時,74LS245才會工作;1腳DIR為總線驅動方向選擇端,2)發光二極管LED與單片機接口電路圖回目錄3.5廣告燈程序設計3.5.1單個LED閃爍假設讓LED燈D1進行單燈閃爍,由圖3-5可知,當P1.0輸出高電平時,D1熄滅;當P1.0輸出低電平時,D1點亮。欲使D1閃爍,則P1.0輸出必須為高低電平交替出現的矩形波(或方波),假設D1閃爍的周期為0.2s(每個周期內100ms亮,100ms滅),則程序流程圖如圖3-6所示LED_BLINK:SETBP1.0 ;P1.0=1,D1滅LCALLDELAY_100MS;延時100msCLRP1.0 ;P1.0=0,D1亮LCALLDELAY_100MS;延時100msLJMPLED_BLINK ;跳到LED_BLINK程序清單如下:

DELAY_100MS:MOVR3,#100;2usLOOP1:MOVR4,#250;2usLOOP2:DJNZR4,LOOP2;4us如果R4-1≠0,則跳到LOOP2DJNZR3,LOOP1;4us如果R3-1≠0,則跳到LOOP1RET;4us延時子程序如下:

3.5.2跑馬燈程序設計

實現跑馬燈效果,即要求循環移位點亮LED,每次只點亮一個LED,LED點亮的順序為:D1→D2→D3→D4→D5→D6→D7→D8→D1…,D8被點亮之后又移位點亮D1,這樣循環往復,實現跑馬燈效果。顯示結果D8D7D6D5D4D3D2D1P1輸出值二進制碼P1輸出值十六進制碼○○○○○○○●11111110FEH○○○○○○●○11111101FDH○○○○○●○○11111011FBH○○○○●○○○11110111F7H○○○●○○○○11101111EFH○○●○○○○○11011111DFH○●○○○○○○10111111BFH●○○○○○○○011111117FH方法一.數據傳送法

程序清單如下:LED_LOOP:

MOVP1,#0FEH;點亮第1個LEDLCALLDELAY_100MS;延時100msMOVP1,#0FDH;點亮第2個LEDLCALLDELAY_100MS;延時100msMOVP1,#0FBH;點亮第3個LEDLCALLDELAY_100MS;延時100msMOVP1,#0F7H;點亮第4個LEDLCALLDELAY_100MS;延時100msMOVP1,#0EFH;點亮第5個LEDLCALLDELAY_100MS;延時100msMOVP1,#0DFH;點亮第6個LEDLCALLDELAY_100MS;延時100msMOVP1,#0BFH;點亮第7個LEDLCALLDELAY_100MS;延時100msMOVP1,#07FH;點亮第8個LEDLCALLDELAY_100MS;延時100msLJMPLED_LOOP;跳回去循環。MOVA,#0FEH;先將點亮第1個LED的初值送給ALOOP:MOVP1,A ;點亮一位LEDLCALL

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論