單片機(jī)系統(tǒng)開發(fā)之利用中斷控制8盞燈的循環(huán)點(diǎn)亮文檔知識_第1頁
單片機(jī)系統(tǒng)開發(fā)之利用中斷控制8盞燈的循環(huán)點(diǎn)亮文檔知識_第2頁
單片機(jī)系統(tǒng)開發(fā)之利用中斷控制8盞燈的循環(huán)點(diǎn)亮文檔知識_第3頁
單片機(jī)系統(tǒng)開發(fā)之利用中斷控制8盞燈的循環(huán)點(diǎn)亮文檔知識_第4頁
單片機(jī)系統(tǒng)開發(fā)之利用中斷控制8盞燈的循環(huán)點(diǎn)亮文檔知識_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)應(yīng)用系統(tǒng)開發(fā)作業(yè)利用中斷控制8盞燈花樣閃爍學(xué)校:沈陽理工大學(xué)專業(yè):信息對抗技術(shù)學(xué)號:1411050121姓名: 吳志飛1. 系統(tǒng)設(shè)計(jì)要求: 設(shè)晶振頻率為12mhz,利用中斷系統(tǒng)使主程序p0口進(jìn)行花樣顯示。顯示規(guī)律為:(1) p0口連接8個(gè)led,依次左移閃亮;(2) 當(dāng)按下int1時(shí),8個(gè)led燈依次右移閃亮;(3) 當(dāng)按下int0時(shí),8個(gè)燈閃亮5次。2. 系統(tǒng)設(shè)計(jì)分析: 單片機(jī)的最小系統(tǒng)+8盞led燈+排電阻。本系統(tǒng)涉及到兩個(gè)外中斷,中斷優(yōu)先級,左移右移等問題。在設(shè)計(jì)時(shí)可能要設(shè)計(jì)中斷優(yōu)先級。左移右移需要用到兩個(gè)移位指令rl和rr。3系統(tǒng)原理圖設(shè)計(jì): 系統(tǒng)所需原件為單片機(jī)at89c51,

2、瓷片電容cap30pf,晶振crystal12mhz,電解電容cap-elec,電阻res,發(fā)光二極管led8只,排電阻respack-8以及開關(guān)switch。利用中斷控制8盞led燈花樣閃爍的原理圖如1.1所示。圖1.1 利用中斷制8盞led燈花樣閃爍原理圖4.系統(tǒng)流程圖設(shè)計(jì):開 始 n中斷0結(jié) 束中斷1調(diào)用中斷子程序1調(diào)用中斷子程序0中斷0?中斷1?led左移閃亮y是否發(fā)生中斷圖1.2 利用中斷控制8盞燈花樣閃爍流程圖開中斷中斷設(shè)置中斷子程序0中斷子程序1保護(hù)現(xiàn)場保護(hù)現(xiàn)場led右移閃亮led閃亮5次 恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場中斷返回中斷返回5.系統(tǒng)源程序設(shè)計(jì):匯編源程序:org 0000h ajm

3、p start org 0003h ajmp intr0 org 0013h ajmp intr1start:mov ie,#85h mov ip,#01h mov tcon,#00h mov sp,#60h mov p0,#0ffh mov p3,#0ffh mov a,#0fehlp1: mov p0,a rl a lcall delay sjmp lp1intr0:push acc push psw mov r1,#10 mov a,#00hxh: mov p0,a lcall delay cpl a djnz r1, xh pop psw pop acc retiintr1:push

4、acc push psw mov a,#7fh mov r2,#16xh1: mov p0,a lcall delay rr a djnz r2, xh1 pop psw pop acc retidelay: mov r7,#20delay1: mov r6,#20delay2: mov r5,#248 djnz r5,$djnz r6,delay2djnz r7,delay1retendc語言源程序:#include<reg51.h>#include<intrins.h>void delay();#define uint unsigned int#define uch

5、ar unsigned charuchar temp;uint i;void main(void) ie=0x85; ip=0x01; tcon=0x00; temp=0xfe; while(1) p0=temp; delay(); temp=_crol_(temp,1); void int0() interrupt 0 uchar s; s=0x00; for(i=0;i<10;i+) p0=s; delay(); s=s; void int1() interrupt 2 uchar temp1; temp1=0x7f; while(1) p0=temp1;delay();temp1=

6、_cror_(temp1,1); void delay() uint i,j; for(i=0;i<256;i+) for(j=0;j<256;j+) ;6.在keil中進(jìn)行調(diào)試: (1)創(chuàng)建“中斷控制8盞燈花樣閃亮”項(xiàng)目,選擇單片機(jī)型號為at89c51,匯編源程序,保存為“中斷控制8盞燈花樣閃亮.asm”或“中斷控制8盞燈花樣閃亮.c”。(2)將源程序添加到項(xiàng)目中。(3)打開項(xiàng)目菜單,選擇options for targettarget 1選項(xiàng),點(diǎn)擊output一項(xiàng),在create hex file前打上對勾。(4)編譯源程序,如果有問題,則需要調(diào)試修改,若沒有錯(cuò)誤,則成功創(chuàng)建“中斷控制8盞燈花樣閃亮.hex”文件。 圖1.3 編譯成功提示圖7.在proteus中進(jìn)行仿真:打開proteus軟件,用左鍵單擊單片機(jī),在出現(xiàn)的對話框中,添加“中斷控制8盞燈花樣閃亮.hex”文件,開始仿真,效果如下圖所示。 圖1.4 中斷控制8盞燈花樣閃亮仿真圖 圖1.5 中斷控制8盞燈花樣閃亮仿真圖圖1.6 中斷控制8盞燈花樣閃亮仿真圖在沒有外部中斷時(shí),led依次左移閃亮,如圖1.4所示。當(dāng)按下int0時(shí),發(fā)生中斷,單片機(jī)執(zhí)行中斷子程序0,如圖1.5所示le

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論