利用單片計(jì)算機(jī)實(shí)現(xiàn)彩燈控制_第1頁
利用單片計(jì)算機(jī)實(shí)現(xiàn)彩燈控制_第2頁
利用單片計(jì)算機(jī)實(shí)現(xiàn)彩燈控制_第3頁
利用單片計(jì)算機(jī)實(shí)現(xiàn)彩燈控制_第4頁
利用單片計(jì)算機(jī)實(shí)現(xiàn)彩燈控制_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、利用單片計(jì)算機(jī)實(shí)現(xiàn)彩燈控制    利用單片計(jì)算機(jī)實(shí)現(xiàn)彩燈控制 1設(shè)計(jì)要求    利用彩燈的各種閃爍的變換作為裝飾在生活中處處都能夠看到。彩燈的閃爍變換可以用簡(jiǎn)易的數(shù)字電路等來實(shí)現(xiàn),在學(xué)習(xí)了單片計(jì)算機(jī)之后試著利用單片機(jī)的功能來控制其閃爍變換。 2硬件設(shè)計(jì)方案 電路元器件:面包板;    普通的發(fā)光二極管,導(dǎo)通電壓0.5V;    芯片插座;    晶振;    

2、;時(shí)鐘電容:22pF*2;    限流電阻:220*8    限流電阻:1K*1;    復(fù)位電路電容:30uF;    點(diǎn)觸式開關(guān):1; 2.1 二極管發(fā)光的實(shí)現(xiàn) 由于單片機(jī)P1.口的輸出電流僅有十幾到幾十uF,這樣小的電流不能使發(fā)光二極管發(fā)光,于是采用了“灌電流”的方法,如圖1所示 圖1 二極管發(fā)光的實(shí)現(xiàn) 選用的外加電源Vcc=5V,根據(jù)二極管的導(dǎo)通電壓是0.5V的性質(zhì),可以求的限流電阻的阻值,在實(shí)驗(yàn)中選用220的電阻即可。 2.2

3、時(shí)鐘電路的組成 在實(shí)驗(yàn)用采用了12M的晶振,與之配合使用的是22pF的陶瓷電容。如圖2所示 圖2 時(shí)鐘電路的組成 2.3 復(fù)位電路的設(shè)計(jì) 所謂復(fù)位,就是在單片機(jī)MPU的RESET引腳上出現(xiàn)3-5個(gè)時(shí)鐘周期的高電平。當(dāng)MPU被復(fù)位以后,其內(nèi)部的寄存器的各項(xiàng)數(shù)值將會(huì)被恢復(fù)成硬件電路規(guī)定的初值。 復(fù)位有上電復(fù)位和自動(dòng)復(fù)位兩種,根據(jù)實(shí)際用途的需要,在本實(shí)驗(yàn)中采用的上電復(fù)位,如圖3所示 圖3 復(fù)位電路的組成 2.4 硬件電路其他部分的安排 考慮到本實(shí)驗(yàn)的特點(diǎn),MPU的EA/VPP引腳,即程序存儲(chǔ)器選擇信號(hào)端和編程電源輸入端不能懸空,應(yīng)長(zhǎng)置為“1”,這點(diǎn)在芯片插座引腳和外電路的連接上可以體現(xiàn)出來。 2.5

4、 整體的電路圖 綜上,可以得到總體上的電路原理圖。 3軟件實(shí)現(xiàn) 人眼能看到發(fā)光二極管的閃爍是因?yàn)槠溟W爍的時(shí)間間隔大于一個(gè)特定的值,低于這個(gè)值我們將無法看到其閃爍變換,為此,確定二極管的閃爍間隔為0.2s 。這種延時(shí)的功能可以用調(diào)用延時(shí)子程序或者中段服務(wù)程序來實(shí)現(xiàn)。以下討論兩種方法及其實(shí)現(xiàn): 3.1延時(shí)子程序?qū)崿F(xiàn)延時(shí) 單片計(jì)算機(jī)運(yùn)行每條程序?qū)⒄加?個(gè)、2個(gè)或4個(gè)機(jī)器周期。為此,可以用一定數(shù)量的程序的執(zhí)行來實(shí)現(xiàn)延時(shí)。 總延時(shí) ,其中N為指令總數(shù),t為一個(gè)周期的時(shí)間。 以下是延時(shí)程序的代碼 ORG 0000H AJMP START ORG 0040H START:MOV P1,#0FFH ;燈全滅&

5、#160;   LCALL DELAY    ;調(diào)用延時(shí)子程序    MOV P1,#000H    ;燈全亮    LCALL DELAY        MOV P1,#0FFH ;等全滅    LCALL DELAY    MOV P1,#07E

6、H    ;第8、第1燈亮    LCALL DELAY    MOV P1,#03CH    ;第7、8,第1、2燈亮 DALAY:MOV R5,#20    ;延時(shí)子程序,延時(shí)0.2s D1:MOV R6,#20 D2:MOV R7,#248    DJNZ R7,$    DJNZ R6,D2 

7、0;  DJNZ R5,D1    RET    END 3.2中斷實(shí)現(xiàn)延時(shí)的程序    ORG 0000H    AJMP MAIN     ORG 000BH    AJMP INT0    ORG 0030H MAIN:MOV P1,#03CH    ;

8、第7、8和第1、2燈亮    MOV R7,#00H    MOV TMOD,#010H    MOV TL0,#0E0H    MOV TH0,#0B1H    SETB EA    SETB ET0    SETB TR0 HERE:SJMP HERE INT0:PUSH ACC   

9、 MOV TL0,#0E0H    MOV TH0,#0B1H    INC R7    CJNZ R7,#26,PEND    MOV R7,#00H    MOV P1,#0C3H    ;第3、4、5,6燈亮    POP ACC PEND:RETI    END

10、 4程序的調(diào)試 將寫好的程序在偉福編譯器中進(jìn)行編譯,得到.BIN文件,固化到單片機(jī)的芯片中,將芯片插到前面已經(jīng)組裝完畢的硬件電路的芯片插座上,這樣就組成了一個(gè)完整的彩燈控制電路,當(dāng)接通電源之后理論上就應(yīng)該看到彩燈按照預(yù)定的方式閃爍。 4.1延時(shí)子程序的運(yùn)行 該程序的運(yùn)行按照預(yù)定的程序運(yùn)行,每隔0.2s可以看到彩燈閃爍一次,并且8個(gè)發(fā)光二極管的亮和滅嚴(yán)格按照程序的要求進(jìn)行; 4.2中斷程序?qū)崿F(xiàn)的延時(shí) 由于程序采用了中斷方式延時(shí),所以彩燈閃爍的改變只能由中斷服務(wù)子程序中設(shè)定的程序來實(shí)現(xiàn)對(duì)其的改變,在此程序中,在MAIN主程序中已經(jīng)設(shè)定了彩燈初始時(shí)有第1、2和第7、8燈亮,而在中斷服務(wù)子程序中有第3

11、、4、5,6燈亮,從而實(shí)現(xiàn)了“閃爍”,但是這種中斷方式的缺點(diǎn)在于閃爍的模式太過于單一,只能進(jìn)行這兩種方式的循環(huán)改變。在實(shí)際中難以滿足人們多樣化的需求,這是一個(gè)需要解決的問題。     4.3中斷程序?qū)崿F(xiàn)的延時(shí)方法的改進(jìn) 為此,我對(duì)以上的程序進(jìn)行了一點(diǎn)改動(dòng),綜合子程序延時(shí)和中斷延時(shí)兩程序?qū)懥讼旅孢@些代碼:    ORG 0000H    AJMP MAIN0    ;第一種亮的模式    ORG 0

12、00BH    AJMP INT0    AJMP MAIN1    ;第二種亮的模式    ORG 000BH    AJMP INT0    AJMP MAIN2    ;第三種亮的模式    ORG 000BH    AJMP INT

13、0    ORG 0030H MAIN0:MOV P1,#00FH    ;第一種亮的模式:5、6、7,8燈亮    AJMP MAIN MAIN1:MOV P1,#0F0H    ;第二種亮的模式:1、2、3,4燈亮    AJMP MAIN MAIN2:MOV P1,#000H    ;第三種亮的模式:全亮    

14、AJMP MAIN MAIN:MOV R7,#00H    MOV TMOD,#010H    MOV TL0,#0E0H    MOV TH0,#0B1H    SETB EA    SETB ET0    SETB TR0 HERE:SJMP HERE INT0:PUSH ACC    MOV TL0,#0E0H&

15、#160;   MOV TH0,#0B1H    INC R7    CJNZ R7,#26,PEND    MOV R7,#00H    MOV P1,#0FFH    ;燈全滅    POP ACC PEND:RETI    END     在這段程序中,中斷服務(wù)程序執(zhí)行的是“燈全滅”這一動(dòng)作。燈的閃爍模式有三種,由對(duì)P1口送指定的立即數(shù)來實(shí)現(xiàn)。 可以看到,等待計(jì)數(shù)器計(jì)數(shù)到FFFF需要一段時(shí)間,這也就是燈閃爍的

溫馨提示

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

評(píng)論

0/150

提交評(píng)論