基于單片機(jī)中斷控制的閃爍燈(四種速度)_第1頁(yè)
基于單片機(jī)中斷控制的閃爍燈(四種速度)_第2頁(yè)
基于單片機(jī)中斷控制的閃爍燈(四種速度)_第3頁(yè)
基于單片機(jī)中斷控制的閃爍燈(四種速度)_第4頁(yè)
基于單片機(jī)中斷控制的閃爍燈(四種速度)_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 中南民族大學(xué)計(jì)算機(jī)科學(xué)學(xué)院?jiǎn)纹瑱C(jī)課程設(shè)計(jì)總結(jié)報(bào)告課 程 單片機(jī)課程設(shè)計(jì) 設(shè)計(jì)題目 中斷控制的閃爍節(jié)日彩燈控制器 年級(jí)專(zhuān)業(yè) 學(xué) 號(hào) 學(xué)生姓名 指導(dǎo)教師 2016年 11 月 5 日課程設(shè)計(jì)量化評(píng)分標(biāo)準(zhǔn) 指標(biāo)最高分評(píng)分要素評(píng)分方案設(shè)計(jì)35方案選擇合理,分析、設(shè)計(jì)正確,原理清楚,電路、程序流程圖清晰,結(jié)構(gòu)合理,程序簡(jiǎn)潔、正確。  調(diào)試15過(guò)程清晰,調(diào)試方案設(shè)計(jì)合理,測(cè)試點(diǎn)選擇適當(dāng),程序編寫(xiě)正確,調(diào)試步驟清楚。 結(jié)果20電路及程序運(yùn)行結(jié)果正確,達(dá)到預(yù)期效果。  設(shè)計(jì)報(bào)告20報(bào)告結(jié)構(gòu)嚴(yán)謹(jǐn),邏輯嚴(yán)密,論述層次清晰,語(yǔ)言流暢,表達(dá)準(zhǔn)確,重點(diǎn)突出,

2、報(bào)告完全符合規(guī)范化要求,用計(jì)算機(jī)打印成文。 工作態(tài)度10工作態(tài)度認(rèn)真,按時(shí)完成設(shè)計(jì)任務(wù),是否獨(dú)立完成。  總 評(píng) 成 績(jī) 指導(dǎo)老師評(píng)語(yǔ):中斷控制的閃爍節(jié)日彩燈控制器 一、 要求 中斷控制的閃爍節(jié)日彩燈控制器要求:能夠?qū)崿F(xiàn)至少4種速度的閃爍顯示方式。二、 分析 要實(shí)現(xiàn)中斷控制閃爍節(jié)日彩燈必須得讀取到外部中斷,然后在調(diào)用不同的閃爍子程序,且下載之后可以連續(xù)切換閃爍速度。 三、 設(shè)計(jì)1、硬件設(shè)計(jì)(包括設(shè)計(jì)方案及說(shuō)明、完整的硬件連接圖等)2.1設(shè)計(jì)方案及說(shuō)明 外部中斷采用的是實(shí)驗(yàn)箱上的中斷開(kāi)關(guān),故在主程序中不斷調(diào)用矩陣鍵盤(pán)的掃描程序,又由于至少四種速度,故讀取四

3、個(gè)不同的按鍵分別對(duì)應(yīng)一種速度。閃爍只需要在一個(gè)無(wú)限循環(huán)體內(nèi)先全部點(diǎn)亮LED燈,延時(shí)一段時(shí)間后,再把LED燈全部熄滅。這里速度的含義其實(shí)是延時(shí)的時(shí)間不同。當(dāng)單片機(jī)讀到某個(gè)按鍵按下時(shí),就執(zhí)行不同的閃爍子程序,這樣就可以實(shí)現(xiàn)不同速度的閃爍燈控制。 STC89C58RD+外部中斷開(kāi)關(guān)8位LED 圖1 整體框圖 單片機(jī)的內(nèi)部結(jié)構(gòu)典型的51單片機(jī)芯片集成了以下幾個(gè)基本組成部分。 1 一個(gè)8位的CPU2 128B或256B單元內(nèi)數(shù)據(jù)存儲(chǔ)器(RAM)3 4KB或8KB片內(nèi)程序存儲(chǔ)器(ROM或EPROM)4 4個(gè)8位并行I/O接口P0P3。5 兩個(gè)定時(shí)/計(jì)數(shù)器。6 5個(gè)中斷源的中斷管理控制系統(tǒng)。7 一

4、個(gè)全雙工串行I/O口UART(通用異步接收、發(fā)送器) 8 一個(gè)片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路。圖2 單片機(jī)引腳圖CPU結(jié)構(gòu)CPU 是單片機(jī)的核心部件。它由運(yùn)算器和控制器等部件組成。1. 運(yùn)算器 運(yùn)算器以完成二進(jìn)制的算術(shù)/邏輯運(yùn)算部件ALU為核心。2.程序計(jì)數(shù)器PCPC是一個(gè)16位的計(jì)數(shù)器,用于存放一條要執(zhí)行的指令地址,尋址范圍為64kB,PC有自動(dòng)加1功能,即完成了一條指令的執(zhí)行后,其內(nèi)容自動(dòng)加1。3.指令寄存器 指令寄存器用于存放指令代碼。CPU執(zhí)行指令時(shí),由程序存儲(chǔ)器中讀取的指令代碼送如指令寄存器,經(jīng)指令譯碼器譯碼后由定時(shí)有控制電路發(fā)出相應(yīng)的控制信號(hào),完成指令功能。存儲(chǔ)器和特殊功能寄存

5、器1.存儲(chǔ)器(Memory)是計(jì)算機(jī)系統(tǒng)中的記憶設(shè)備,用來(lái)存放程序和數(shù)據(jù)。計(jì)算機(jī)中的全部信息,包括輸入的原始數(shù)據(jù)、計(jì)算機(jī)程序、中間運(yùn)行結(jié)果和最終運(yùn)行結(jié)果都保存在存儲(chǔ)器中。它根據(jù)控制器指定的位置存入和取出信息。2.特殊功能寄存器特殊功能寄存器(SFR)的地址范圍為80HFFH。在MCS51中,除程序計(jì)數(shù)器PC和四個(gè)工作寄存器區(qū)外,其余21個(gè)特殊功能寄存器都在這SFR塊中。P0-P3口結(jié)構(gòu)P0口功能:第一,P0口可以作為通用I/O接口使用,P0.7P0.0用于傳送CPU的輸入/輸出數(shù)據(jù)。輸出數(shù)據(jù)時(shí)可以得到鎖存,不需外接專(zhuān)用鎖存器,輸入數(shù)據(jù)可以得到緩沖。第二,P0.7P0.0在CPU訪問(wèn)片外存儲(chǔ)器時(shí)

6、用于傳送片外存儲(chǔ)器de低8位地址,然后傳送CPU對(duì)片外存儲(chǔ)器的讀寫(xiě)P1口 功能:P1口的功能和P0口de第一功能相同,僅用于傳遞I/O輸入/輸出數(shù)據(jù)。 P2口的功能:2口的第一功能和上述兩組引腳的第一功能相同,即它可以作為通用I/O使用。它的第二功能和P0口引腳的第二功能相配合,作為地址總線用于輸出片外存儲(chǔ)器的高8位地址。 P3口功能:P3口有兩個(gè)功能:第一功能與其余三個(gè)端口的第一功能相同;第二功能作控制用,每個(gè)引腳都不同。 P3.0RXD串行數(shù)據(jù)接收口 P3.1TXD串行數(shù)據(jù)發(fā)送口 P3.2INT0外中斷0輸入 P3.3INT1外中斷1輸入 P3.4T0計(jì)數(shù)器0計(jì)數(shù)輸入 P3.5T1計(jì)數(shù)器1

7、計(jì)數(shù)輸入 P3.6WR外部RAM寫(xiě)選通信號(hào) P3.7RD外部RAM讀選通信號(hào) 時(shí)鐘電路和復(fù)位電路單片機(jī)的時(shí)鐘信號(hào)用來(lái)提供單片機(jī)內(nèi)各種微操作的時(shí)間基準(zhǔn);復(fù)位操作則使單片機(jī)的片內(nèi)電路初始化,使單片機(jī)從一種確定的狀態(tài)開(kāi)始運(yùn)行。時(shí)鐘電路單片機(jī)的時(shí)鐘信號(hào)通常用兩種電路形式得到:內(nèi)部振蕩和外部振蕩方式。圖3 時(shí)鐘部分電路圖在引腳XTAL1和XTAL2外接晶體振蕩器或陶瓷諧振蕩器,構(gòu)成了內(nèi)部振蕩方式。由于單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自積振蕩,并產(chǎn)生振蕩時(shí)鐘脈沖。晶振通常選用6MHZ、12MHZ、或24MHZ。單片機(jī)的時(shí)序單位單片機(jī)的復(fù)位狀態(tài)當(dāng)MCS-5l系列單片機(jī)的復(fù)位引腳RST

8、(全稱(chēng)RESET)出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí),根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位和上電或開(kāi)關(guān)復(fù)位。上電復(fù)位要求接通電源后,自動(dòng)實(shí)現(xiàn)復(fù)位操作。上電或開(kāi)關(guān)復(fù)位要求電源接通后,單片機(jī)自動(dòng)復(fù)位,并且在單片機(jī)運(yùn)行期間,用開(kāi)關(guān)操作也能使單片機(jī)復(fù)位。上電后,由于電容C3的充電和反相門(mén)的作用,使RST持續(xù)一段時(shí)間的高電平。當(dāng)單片機(jī)已在運(yùn)行當(dāng)中時(shí),按下復(fù)位鍵K后松開(kāi),也能使RST為一段時(shí)間的高電平,從而實(shí)現(xiàn)上電或開(kāi)關(guān)復(fù)位的操作。圖4 復(fù)位電路2.1硬件連接P0口全部連接LED燈,跳冒將P3.2JMP短接到INT0 圖5 實(shí)物連接圖2、軟件編程2.1軟件流程圖開(kāi)外部中斷 等待中斷 調(diào)用LED

9、閃爍程序 判斷中斷次數(shù)是否為4 否 中斷記錄值n = 1 是 圖6 軟件流程圖2.2 C51源程序及其注釋#include<reg52.h>#include<absacc.h>void delay_ms(int n); /延時(shí)Nmsvoid led_blink(void); /閃爍函數(shù)unsigned char n=0;/記錄外部中斷次數(shù)void main(void) IT0 = 1;/電平觸發(fā)外部中斷0 EX0 = 1;/允許中斷0 EA = 1; /開(kāi)總中斷 while(1);void int0_isr(void) interrupt 0 /外部中斷0中斷服務(wù)函數(shù)

10、led_blink();/調(diào)用閃爍子程序 n+; if(n = 4) n=1; void led_blink(void) /閃爍函數(shù) unsigned char flag; switch (n)/不同的中斷值對(duì)應(yīng)不同的閃爍程序 case 0x1: flag =1; break;/速度1case 0x2: flag =2; break;/速度2case 0x3: flag =3; break;/速度3case 0x4: flag =4; break;/速度4 default:break; if(flag=1) P1= 0x00; /點(diǎn)亮小燈delay_ms(500); /延時(shí)0.5s P1 =

11、0xff; /熄滅小燈delay_ms(500);/延時(shí)0.5sif(flag=2) P1= 0x00; /點(diǎn)亮小燈delay_ms(500); /延時(shí)0.5s P1 = 0xff; /熄滅小燈delay_ms(500);/延時(shí)0.5sif(flag=3) P1= 0x00; /點(diǎn)亮小燈delay_ms(1000); /延時(shí)1s P1 = 0xff; /熄滅小燈delay_ms(1000);/延時(shí)1sif(flag=4) P1= 0x00; /點(diǎn)亮小燈delay_ms(2000); /延時(shí)2s P1 = 0xff; /熄滅小燈delay_ms(2000);/延時(shí)2svoid delay_ms(

12、int n) /延時(shí)Nms unsigned char i; while(n-) / 對(duì)于11.0592M時(shí)鐘,約延時(shí)1ms for (i=0;i<250;i+); 3、調(diào)試說(shuō)明 先用KEIL軟件編譯產(chǎn)生HEX文件,再用STC ISP軟件將HEX文件通過(guò)USB下載進(jìn)入單片機(jī)。 第一次按下中斷開(kāi)關(guān),LED燈閃爍頻率為0.5Hz;第一次按下中斷開(kāi)關(guān),LED燈閃爍頻率為1Hz;第一次按下中斷開(kāi)關(guān),LED燈閃爍頻率為2Hz;第一次按下中斷開(kāi)關(guān),LED燈閃爍頻率為20Hz。即每按下中斷開(kāi)關(guān)一次的可以控制LED燈的閃爍速度,達(dá)到了預(yù)定要求。 4、設(shè)計(jì)結(jié)果及錯(cuò)誤分析 外部中斷的記錄值不能實(shí)時(shí)讀取,分析原因是弄錯(cuò)了變亮的作用域的返回值,原來(lái)記錄的變量是定義在中斷服務(wù)函數(shù)里面的,為局部變量,只在這個(gè)函數(shù)體內(nèi)起作用。重新定義為全局變量后,這個(gè)變量的作用域?yàn)檎麄€(gè)文件就可以在閃爍程序中讀到外部中斷記錄值。 不能連續(xù)循環(huán)切換閃爍速度,原來(lái)是外部中斷的記錄值沒(méi)有清零。實(shí)現(xiàn)四種閃爍速度,故當(dāng)外部中斷發(fā)生四次后要使記錄值為零,重新記錄。四、 總結(jié)通過(guò)這次單片機(jī)課程設(shè)計(jì),加強(qiáng)了我動(dòng)手、思考和解決問(wèn)題的能力,使我得到了一次用專(zhuān)業(yè)知識(shí)、專(zhuān)業(yè)技能分析和解決現(xiàn)實(shí)問(wèn)題的能力。電路原理和連接,和芯片上的選擇等方面作了學(xué)習(xí)。對(duì)電子電路、電子元器件等方面的知識(shí)進(jìn)一步加深認(rèn)識(shí),同時(shí)在軟件編程、調(diào)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論