版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 1、 課設(shè)目的</b></p><p> 單片機(jī)課程設(shè)計(jì)是配合電子技術(shù)基礎(chǔ)課程與實(shí)驗(yàn)教學(xué)的一個(gè)非常重要的教學(xué)環(huán)節(jié)。 它不但能鞏固我 們已所學(xué)的單片機(jī)技術(shù)的理論知識(shí), 而且能提高我們的電子電路的設(shè)計(jì)水平, 還能加強(qiáng)我們綜合分析問(wèn) 題和解決問(wèn)題的能力,進(jìn)一步培養(yǎng)我們的實(shí)驗(yàn)技能和動(dòng)手能力,啟發(fā)我們的創(chuàng)新意識(shí)幾創(chuàng)新思維。節(jié)日彩燈應(yīng)用于各種場(chǎng)合,如學(xué)校,企事業(yè)單位,家庭
2、等可以應(yīng)用于節(jié)日彩燈的控制、廣告燈控制等場(chǎng)所。通過(guò)這個(gè)實(shí)驗(yàn),能夠?qū)ν瑢W(xué)們的動(dòng)手能力有所提高和培養(yǎng),提高同學(xué)對(duì)單片機(jī)的基本原理的理解,學(xué)會(huì)一些單片機(jī)的簡(jiǎn)單應(yīng)用。</p><p><b> 2、總體設(shè)計(jì)</b></p><p> 總體設(shè)計(jì)本系統(tǒng)采用AT89C51單片機(jī)作為中央處理器。其主要任務(wù)收集按鍵的信息,判斷按 鍵時(shí)否按下來(lái)執(zhí)行相應(yīng)彩燈的點(diǎn)亮方式 在本系統(tǒng)中, A
3、T89C51單片機(jī)的 P1口用于接按鍵,方便使用者選擇方式。P0口接 的時(shí)LED彩燈。下面將從硬件電路設(shè)計(jì)和軟件電路設(shè)計(jì)及仿真效果三個(gè)方面詳細(xì)闡述。通過(guò)這個(gè)實(shí)驗(yàn),能夠?qū)ν瑢W(xué)們的動(dòng)手能力有所提高和培養(yǎng),提高同學(xué)對(duì)單片機(jī)的基本原理的理解,學(xué)會(huì)一些單片機(jī)的簡(jiǎn)單應(yīng)用。了解單片機(jī)的基本原理以及基本應(yīng)用;提高動(dòng)手制作單片機(jī)開(kāi)發(fā)板的能力;掌握基本I/O口的輸入輸出方法;掌握中斷的處理方法以及編程方法;掌握焊接單片機(jī)開(kāi)發(fā)板所需要的最基本的最小系統(tǒng)電路。
4、</p><p><b> 3、硬件設(shè)計(jì)</b></p><p> 在設(shè)計(jì)中用到單片機(jī)最小系統(tǒng):復(fù)位電路以及時(shí)鐘(晶振)電路、以及各種顏色的彩燈。</p><p><b> 復(fù)位電路:</b></p><p> 復(fù)位是單片機(jī)的初始化操作,目的是使CPU以及各個(gè)寄存器處于一個(gè)確定的初始狀態(tài)。分
5、為手動(dòng)復(fù)位方式和上電自動(dòng)方式。</p><p><b> 時(shí)鐘電路:</b></p><p> 51單片機(jī)的時(shí)鐘信號(hào)可由芯片內(nèi)部的震蕩電路產(chǎn)生,也可以由外部產(chǎn)生。</p><p><b> 程序燒寫(xiě)電路:</b></p><p> 在使用串口進(jìn)行燒寫(xiě)電路時(shí),用到MAX232芯片以及幾個(gè)104
6、瓷片電容。用STC軟件進(jìn)行程序燒寫(xiě)。</p><p><b> 硬件所用器件:</b></p><p><b> 3.1電路圖</b></p><p> 3.2 AT89C51簡(jiǎn)介</p><p> AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的低電壓,高性能CMOS 8位微處理
7、器,俗稱單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器。</p><p><b> 主要管腳說(shuō)明:</b></p><p><b> VCC:供電電壓。
8、</b></p><p><b> GND:接地。</b></p><p> P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外
9、部必須被拉高。</p><p> P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 </p><p> P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸
10、出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。</p>
11、<p> P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。</p><p> ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期
12、間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。</p><p>
13、 /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。</p><p><b> 4、軟件設(shè)計(jì)</b></p><p> 首先單片機(jī)執(zhí)行四種方案的程序等待中斷。中斷中判斷是第幾次執(zhí)行相應(yīng)的程序。</p><p> 4.1 程序流程圖
14、如圖所示:</p><p> 圖4-1 程序流程圖</p><p><b> 4.2 系統(tǒng)調(diào)試</b></p><p> 問(wèn)題:在系統(tǒng)軟件調(diào)試中,中斷執(zhí)行時(shí)不能返回程序</p><p> 解決方法:在中斷中燈的延時(shí)指令for(i=0;i<200;i++) for(j=0;j<200;j++);修改為f
15、or(i=0;i<149;i++) for(j=0;j<149;j++);后,單片機(jī)正常執(zhí)行指令。</p><p><b> 4.3 程序清單</b></p><p> #include<reg52.h></p><p> #define uint unsigned int</p><p>
16、 #define uchar unsigned char</p><p> unsigned int i,j,y,n,m=0;</p><p> uint c,d,e;</p><p> uint p=0xff;</p><p> void delay()</p><p><b> {</
17、b></p><p> for(i=0;i<150;i++)</p><p> for(j=0;j<500;j++);</p><p><b> }</b></p><p> void main()</p><p> {uint a=0x7f;</p>
18、<p> uint b=0x7f;</p><p><b> uint x;</b></p><p> EA=1;EX0=1;IT0=1;</p><p><b> while(1)</b></p><p> //第一次 ****************************
19、****************************************** </p><p> {for(x=0;x<8;x++) //P0控制N的 第一個(gè)| 流水顯示 7~0</p><p><b> {</b></p><p><b> P0=a>>x;</b><
20、;/p><p><b> delay();</b></p><p><b> }</b></p><p> for(x=0;x<7;x++) //P2控制N的 \ 流水顯示 1~7</p><p><b> {</b></p><
21、p><b> P2=b>>x;</b></p><p><b> delay();</b></p><p><b> }</b></p><p> for(x=0;x<8;x++) //P1控制N的 第二個(gè)| 流水顯示 7~0</p><
22、;p><b> {</b></p><p> P1=a>>x;</p><p><b> delay();</b></p><p><b> }</b></p><p> P2=0x00; //P2.0控制 1亮
23、</p><p><b> delay();</b></p><p> //第二次 ********************************************************************** </p><p><b> P0=0xff;</b></p><p&g
24、t;<b> P2=0xff;</b></p><p> P1=0xff; //全滅</p><p> delay();delay();delay();</p><p> P0=0x0f; //P0.7~0.4 亮</p><p> delay();delay();delay();</p&
25、gt;<p> P0=0x00; //P0.0~0.7 亮</p><p> delay();delay();delay();</p><p> P2=0x1f; //P2.7~2.5 亮</p><p> delay();delay();delay();</p><p> P2=0x01;
26、//P2.7~2.1 亮</p><p> delay();delay();delay();</p><p> P1=0x0f; //P1.7~1.4 亮</p><p> delay();delay();delay();</p><p> P1=0x00; //P1.0~1.7 亮</p>&l
27、t;p> delay();delay();delay();</p><p> P2=0x00; //P2 口控制全亮 目的控制P2.0</p><p><b> delay();</b></p><p> //第三次 ****************************************************
28、****************** </p><p><b> P0=0xff;</b></p><p><b> P2=0xff;</b></p><p> P1=0xff; //全滅</p><p><b> delay();</b></p>
29、<p> P0=0x00; //P0 控制的 第一個(gè)| 全亮</p><p> delay();delay();delay();</p><p> P2=0x01; //P2 控制的 \ 全亮</p><p> delay();delay();delay();</p><p> P1=0x00; /
30、/P1 控制的 第二個(gè)| 全亮</p><p> delay();delay();delay();</p><p> P2=0x00; //P2 控制的 第三個(gè)1 亮</p><p> delay();delay();delay();</p><p> //第四次 ********************************
31、************************************** </p><p><b> P0=0xff;</b></p><p><b> P2=0xff;</b></p><p> P1=0xff; //全滅</p><p> delay();delay();del
32、ay();</p><p> for(x=0;x<3;x++) //閃爍3次</p><p><b> {</b></p><p><b> P0=0x00;</b></p><p><b> P2=0x00;</b></p><p>
33、 P1=0x00;//全滅</p><p> delay();delay();delay();</p><p><b> P0=0xff;</b></p><p><b> P2=0xff;</b></p><p> P1=0xff;//全亮</p><p&g
34、t; delay();delay();delay();</p><p><b> } </b></p><p><b> }</b></p><p><b> }</b></p><p> void int0() interrupt 0 </p><
35、;p><b> {EX0=0;</b></p><p><b> IT0=0;</b></p><p> EA=0; //關(guān)中斷</p><p><b> c=P0;</b></p><p><b> d=P1;</b><
36、/p><p> e=P2; //保護(hù)現(xiàn)場(chǎng)</p><p> m++; //中斷次數(shù) 第幾次中斷</p><p><b> m=m%3;</b></p><p> if(m==1) //第一次中斷</p><p><b> {</b></p&
37、gt;<p> for(n=0;n<5;n++) //5次循環(huán)</p><p><b> {</b></p><p> for(y=0;y<9;y++) //從下到上一排一排點(diǎn)亮</p><p><b> {</b></p><p> P1=p>>y;
38、P2=p<<y;P0=p>>y;</p><p> for(i=0;i<149;i++)</p><p> for(j=0;j<149;j++);</p><p><b> }</b></p><p><b> }</b></p><p
39、><b> }</b></p><p> if(m==2) //第二次中斷</p><p><b> {</b></p><p> for(n=0;n<10;n++) //閃爍10次</p><p><b> {</b></p><p
40、><b> P1=0xff;</b></p><p><b> P2=0xff;</b></p><p> P0=0xff;//全滅</p><p> for(i=0;i<149;i++)</p><p> for(j=0;j<149;j++);</p>
41、<p><b> P1=0x00;</b></p><p><b> P2=0x00;</b></p><p> P0=0x00; //全亮</p><p> for(i=0;i<149;i++)</p><p> for(j=0;j<149;j++);</
42、p><p><b> }}</b></p><p> if(m==0)//第三次中斷</p><p><b> {</b></p><p> for(n=0;n<5;n++) //循環(huán)5次</p><p><b> {</b></p
43、><p> for(y=0;y<9;y++) //從上到下依次點(diǎn)亮</p><p><b> {</b></p><p> P1=p<<y;P2=p>>y;P0=p<<y;</p><p> for(i=0;i<149;i++)</p><p>
44、; for(j=0;j<149;j++);</p><p><b> }}</b></p><p><b> }</b></p><p><b> P1=d;</b></p><p><b> P2=e;</b></p>&l
45、t;p> P0=c; //恢復(fù)現(xiàn)場(chǎng)</p><p> EA=1;IT0=1;EX0=1; //開(kāi)中斷</p><p><b> }</b></p><p><b> 結(jié)束語(yǔ)</b></p><p> 通過(guò)本次課程設(shè)計(jì),加強(qiáng)了我的動(dòng)手操作能力,將課堂上所學(xué)的知識(shí)應(yīng)用到實(shí)踐中來(lái),并且了
46、解了單片機(jī)的基本工作原理和使用方法,在實(shí)踐過(guò)程中練習(xí)了IO口的輸入輸出方式,熟練的掌握了中斷的處理及其編程方法,掌握焊接單片機(jī)開(kāi)發(fā)板所需要的最基本的最小系統(tǒng)電路。通過(guò)本次課設(shè),使我對(duì)51單片機(jī)個(gè)C語(yǔ)言有了進(jìn)一步了解。使我能夠綜合運(yùn)用以前在課堂中學(xué)到的知識(shí)做一些簡(jiǎn)單的電子產(chǎn)品的仿真。初步掌握了這些元件,可以編寫(xiě)一個(gè)較完整的實(shí)用程序。</p><p><b> 參考文獻(xiàn)</b></p&g
47、t;<p> 1、《單片機(jī)基礎(chǔ)》 李廣弟 北京航空航天大學(xué)</p><p> 2、《MCS-51系列單片微型計(jì)算機(jī)原理與接口技術(shù)》 曹素芬 東北大學(xué)出版社</p><p> 3、《單片微型計(jì)算機(jī)原理、應(yīng)用及接口技術(shù)》 張迎新 編著 國(guó)際工業(yè)出版社</p><p><b> 摘要</b></p>&l
48、t;p> 節(jié)日彩燈使生活中常常用到的裝飾物品。它集中地運(yùn)用了單片機(jī)、LED、 等技術(shù),是典型的基于單片機(jī)的電子產(chǎn)品。本文以 AT89C51 單片機(jī)為控制核心,采用模 塊化的設(shè)計(jì)方案,運(yùn)用 LED 彩燈、按鍵等組成電路,實(shí)現(xiàn)彩燈在開(kāi)啟時(shí)滿足不一樣的閃亮 方法。按鍵可以在彩燈使用的時(shí)候選擇不同的亮法,使彩燈變化多樣。通過(guò)按鍵能方便使用者選擇不同樣的亮法。</p><p> 關(guān)鍵詞: 節(jié)日彩燈 AT89C51
49、 循環(huán)</p><p><b> 目 錄</b></p><p> 1、 課設(shè)目的…………………………………………………………………1</p><p> 2、 總體設(shè)計(jì)…………………………………………………………………2</p><p> 3、 硬件設(shè)計(jì)……………………………………………………………………3<
50、;/p><p> 3.1 電路圖…………………………………………………………………………3</p><p> 3.2 AT89C51簡(jiǎn)介………………………………………………………………4</p><p> 4、 軟件部分的程序流程圖…………………………………………………6</p><p> 4.1 程序流程…………………………………………
51、…………………………6</p><p> 4.2 系統(tǒng)調(diào)試………………………………………………………………………6</p><p> 4.3 程序清單………………………………………………………………………7</p><p> 結(jié)束語(yǔ)……………………………………………………………………………12</p><p> 參考文獻(xiàn)…………………
52、………………………………………………………13</p><p> 《單片機(jī)原理及接口技術(shù)》課程設(shè)計(jì)</p><p> 題目: 節(jié)日彩燈設(shè)計(jì) </p><p> 班 級(jí): </p><p> 姓 名:
53、 </p><p> 學(xué) 號(hào): </p><p> 指導(dǎo)教師: </p><p> 時(shí) 間: </p><p><b> 課程設(shè)計(jì)成績(jī)?cè)u(píng)定表</b&g
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)---簡(jiǎn)易節(jié)日彩燈
- 單片機(jī)課程設(shè)計(jì)---節(jié)日彩燈控制
- 單片機(jī)課程設(shè)計(jì)---單片機(jī)節(jié)日彩燈控制器
- 單片機(jī)課程設(shè)計(jì)--節(jié)日彩燈控制器設(shè)計(jì)
- 單片機(jī)節(jié)日彩燈控制器課程設(shè)計(jì)報(bào)告
- 單片機(jī)課程設(shè)計(jì)---用單片機(jī)設(shè)計(jì)節(jié)日彩燈控制器
- 彩燈單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--節(jié)日彩燈控制器的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--鍵控彩燈
- 單片機(jī)彩燈控制課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)彩燈實(shí)驗(yàn)
- 基于單片機(jī)課程設(shè)計(jì)--彩燈設(shè)計(jì)
- 基于單片機(jī)彩燈控制課程設(shè)計(jì)
- 單片機(jī)流水彩燈課程設(shè)計(jì)
- 單片機(jī)流水彩燈課程設(shè)計(jì)
- 單片機(jī)花樣彩燈課程設(shè)計(jì)報(bào)告
- 單片機(jī)課程設(shè)計(jì):彩燈控制器設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--藝術(shù)彩燈控制系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-- 彩燈控制器的設(shè)計(jì)
- 彩燈控制器的設(shè)計(jì) 單片機(jī)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論