例1閃爍LED小燈的設(shè)計(精)_第1頁
例1閃爍LED小燈的設(shè)計(精)_第2頁
例1閃爍LED小燈的設(shè)計(精)_第3頁
例1閃爍LED小燈的設(shè)計(精)_第4頁
例1閃爍LED小燈的設(shè)計(精)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、例1 閃爍LED小燈的設(shè)計本設(shè)計的閃爍小燈控制器,可使小燈輪流點亮、逐點點亮、間隔閃亮,如要 控制交流彩燈可在P1端口加接繼電器或可控硅接口電路。可應(yīng)用在廣告彩燈控 制器、舞臺燈光控制器等領(lǐng)域。1系統(tǒng)硬件電路的設(shè)計Q +5V3orATe9C20511/EST£0£/F3.0(ME)Pl.7'vl93/F3.1 CrXE)P1.618P1.5'vl7SATALIP1.4V16&/F3. £ OTO)P1.3V157/F3.3CrHTl)P1.ZV143/F3, 4 CTO)Pl. IVIS9/F3.5Cri)IT 0112lOAHDP3.7l

2、l圖17小燈閃爍電路0 u11±11A u6 +5¥上圖為該控制器的電路原理圖,其中單片機采用AT89C2051, P1 口作LED發(fā)光管輸出控制用,P3.0- P3.2 口為閃爍方式控制開關(guān) K1、K2、K3按鍵接口,P3.3 口的按鍵作備用,限流電阻為310Q,發(fā)光管工作電流約為10mA,采用12MHz晶振。2系統(tǒng)主要程序的設(shè)計 (1)主體程序通過掃描P3.0-P3.2端口,判斷是否有按鍵按下,然后在20H內(nèi)存單元的低三位的對應(yīng)位置1標志,確定應(yīng)執(zhí)行的閃爍功能。當20H.0為1時,發(fā)光管輪 流點亮;當20H.1為1時,發(fā)光管逐點點亮;當20H.2為1時,發(fā)光管間隔閃 亮

3、。在主程序?qū)?0H的低三位進行位值判定后,轉(zhuǎn)入相應(yīng)的閃爍控制程序。上 電初始化時對20H的最低位置1,系統(tǒng)進入輪流點亮方式。(2)鍵掃描子程序因按鍵較少,采用直接端口掃描鍵開關(guān),用軟件延時消抖確認后對20H內(nèi)存單元相應(yīng)的位置1并把其余位清零。(3)閃爍控制程序閃爍控制程序用來控制P1 口的發(fā)光管發(fā)光變化方式,其中執(zhí)行功能程序0(FUNO)時的P1 口輸出值變化為1111111延時一11111101-延時一11111011 延時一11110111-延時一11101111-延時一11011111-延時一10111111-延時 0111111 延時一結(jié)束轉(zhuǎn)主程序。執(zhí)行功能程序1 (FUN1 )時的P

4、1 口輸出變化為11111110-延時一11111100 延時一1111100(延時一1111000(延時一11100000-延時一11000000-延 時一10000000-延時一00000000-延時一結(jié)束轉(zhuǎn)主程序。執(zhí)行功能程序2( FUN2)時的P1 口輸出變化為10101010-延時一01010101 延時一結(jié)束轉(zhuǎn)主程序。(4)延時子程序延時子程序有10ms和0.5s兩個,用以作鍵掃描消抖及發(fā)光管閃爍延時,發(fā)光管閃爍的快慢可由R4寄存器內(nèi)的初值進行改變。3主程序流程圖開始ZT初始化Y20H.0=1?N20H.1=1?NY20H.2=1?N圖1-2主程序流程圖調(diào)用鍵掃描子程序(KEYWO

5、RK )轉(zhuǎn)入功能程序1(FUN1)轉(zhuǎn)入功能程序2(FUN2)轉(zhuǎn)入功能程序0(FUN0)Y >本控制器在使用中當要改變閃爍的方式時, 可按下相應(yīng)的功能按鍵,當一個完整的閃爍循環(huán)結(jié)束后轉(zhuǎn)入新的閃爍方式。由于鍵掃描是在閃爍循環(huán)結(jié)束時進DL05S 延行,因此,功能開關(guān)按下的時間應(yīng)較長才能被讀入,改進的方法是把 時子程序用鍵掃描子程序來替代,那么只要一按下按鍵即可被鍵掃描程序讀入, 讀者可以試試其區(qū)別。以下是 LED 小燈閃爍控制器完整源程序:; 小燈控制程序 ;*; 中斷入口程序 ;*ORG0000H;程序執(zhí)行開始地址LJMPSTART;跳至START執(zhí)行ORG0003H;外中斷 0 中斷入口地

6、址RETI;中斷返回(不開中斷)ORG000BH;定時器 T0 中斷入口地址RETI;中斷返回(不開中斷)ORG0013H;外中斷 1 中斷入口地址RETI;中斷返回(不開中斷)ORG001BH;定時器 T1 中斷入口地址RETI;中斷返回(不開中斷)ORG0023H;串行口中斷入口地址RETI;中斷返回(不開中斷)卄*卄*卄*卄.; 初始化程序 ;*CLEAR: MOV 20H,#00HSETB 00HRET;20H 單元內(nèi)存清 0(閃爍標志清 0);20H.0 位置 1(上電時自動執(zhí)行閃爍功能 1) ;子程序返回主 程 序 ;卄*卄*卄*卄.START:ACALL CLEAR;調(diào)用初始化子

7、程序MAIN: LCALL KEYWORK;調(diào)用鍵掃描子程序JB00H,FUN0; 20H.0 位為 1 時執(zhí)行 FUN0JB01H,FUN1; 20H.1 位為 1 時執(zhí)行 FUN1JB 02H,FUN2; 20H.2 位為 1 時執(zhí)行 FUN2JB03H,MAIN;備用AJMP MAIN;返回主程序 MAIN卄*卄*卄*卄.功能程序 ;卄*卄*卄*卄.; 第 1 種閃爍功能程序FUN0: MOVFUN00:MOVLCALLJNBRLAJMPA,#0FEHP1,ADL05SACC.7,MAINAFUN00;累加器賦初值;累加器值送至 P1 口;延時;累加器最高位為 0 時轉(zhuǎn) MAIN;累加器

8、A中數(shù)據(jù)循環(huán)左移1位;轉(zhuǎn)FUNO0循環(huán); 第 2種閃爍功能程序 FUN1:MOV A,#0FEHFUN11:MOV P1,ALCALLDL05S;延時JZMAIN; A 為 0 轉(zhuǎn) MAINRLA;累加器A中數(shù)據(jù)循環(huán)左移ANLA,P1;A同P1 口值相與AJMPFUN11;轉(zhuǎn)FUN11循環(huán)1位;累加器賦初值;累加器值送至 P1 口; 第 3 種閃爍功能程序FUN2:MOVA,#0AAH;累加器賦初值MOVP1,A;累加器值送至P1 口LCALLDL05S;延時CPLA;A中各位取反MOVP1,A;累加器值送至P1 口LCALLDL05S;延時AJMPMAIN;轉(zhuǎn) MAIN*; 掃鍵程序 ;*J

9、NBP3.0,KEY0;讀P3.0口,若為0 轉(zhuǎn) KEY0JNBP3.1,KEY1;讀P3.1口,若為0 轉(zhuǎn) KEY1JNBP3.2,KEY2;讀P3.2口,若為0 轉(zhuǎn) KEY2P3 口為輸入狀態(tài);置KEYWORK:MOV P3,#0FFHJNB P3.3,KEY3RET;讀 P3.3 口,若為 0 轉(zhuǎn) KEY3;子程序返回; 閃爍功能 0 鍵處理程序KEY0:LCALL DL10MSJBP3.0,OUT0;P3.0 為 1,SETB00H;20H.0 位置CLR01H;20H.1 位清CLR02H;20H.2 位清CLR03H;20H.3 位清OUT0:RET;子程序返回J; 閃爍功能1 鍵

10、處理程序KEY1:LCALL DL10MSJBP3.1,OUT1SETB01H;20H.1 位置CLR00HCLR02HCLR03HOUT1:RETJ; 閃爍功能2 鍵處理程序KEY2:LCALL DL10MSJBP3.2,OUT2SETB02H;20H.2 位置CLR01HCLR00HCLR03HOUT2:RETJ; 閃爍功能(備用)鍵處理程序KEY3:LCALL DL10MSJBP3.3,OUT3SETB03H;20H.3 位置CLR01HCLR02HCLR00H執(zhí)行閃爍功能1執(zhí)行閃爍功能11OUT3:RET1000;延時 10 毫秒消抖子程序返回(干擾) 執(zhí)行閃爍功能1 標志)2 標志)3 標志)執(zhí)行備用閃爍功能標志)延時程序卄*卄*卄*卄.;0.5 毫秒延時子程序,執(zhí)行一次時間為 513 微秒DL512:MOV R2,#0FFHLOOP1: DJNZ R2,LOOP1RET ;10毫秒延時子程序(調(diào)用 20次0.5毫秒延時子程序)DL10MS:MOV R3,#14HLOOP2: LCALL DL512DJNZ R3,LOOP2RET ;延時子程序,改變 R4寄存器初值可改變

溫馨提示

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

最新文檔

評論

0/150

提交評論