版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 湖南文理學(xué)院課程設(shè)計(jì)報(bào)告 課程名稱: 單片機(jī)技術(shù)課程設(shè)計(jì) 課題名稱: 五彩燈控制器 系 部: 電氣與信息工程學(xué)院 專業(yè)班級: 自動(dòng)化09103 學(xué)生姓名: 周聲平 指導(dǎo)教師: 梅英 完成時(shí)間: 2012年6月15日 報(bào)告成績: 評閱意見: 評閱教師 日期 目 錄 一 設(shè)計(jì)題目3二 設(shè)計(jì)要求3三 設(shè)計(jì)作用及軟件3四 所用設(shè)備與目的3五 系統(tǒng)設(shè)計(jì)方案3 1 系統(tǒng)總體設(shè)計(jì)3 2 系統(tǒng)工作原理4六 系統(tǒng)硬件設(shè)計(jì)7 1 單片機(jī)最小系統(tǒng)7 2 單元電路設(shè)計(jì)8七 系統(tǒng)軟件設(shè)計(jì)10 1 主程序流程設(shè)計(jì)10 2 子程序設(shè)計(jì).13八 實(shí)驗(yàn)調(diào)試結(jié)果.14九 設(shè)計(jì)中的問題及解決方法.19十 設(shè)計(jì)心得.19十一 參考
2、文獻(xiàn).20十二 程序清單.20 一 設(shè)計(jì)題目 五彩燈控制器 二 設(shè)計(jì)要求8個(gè)彩燈的控制電路的任務(wù)為:用at89c51單片機(jī)設(shè)計(jì)設(shè)計(jì)5個(gè)按鍵實(shí)現(xiàn)對8個(gè)led的控制,并利用數(shù)碼管顯示按下的按鍵號,5個(gè)按鍵對應(yīng)的功能為:1號鍵:此鍵按下,對應(yīng)所有的燈都熄滅;2號鍵:此鍵按下,led1-led8流動(dòng)點(diǎn)亮;3號鍵:此鍵按下,led1-led8依次點(diǎn)亮;4號鍵:此鍵按下,led1、led3、led5、led7和led2、led4、led6、led8輪流點(diǎn)亮。5號鍵:此鍵按下,led1led8閃爍。 三 設(shè)計(jì)作用與目的1)了解單片機(jī)的基本原理及相關(guān)的簡單應(yīng)用。2)掌握用單片機(jī)設(shè)計(jì)系統(tǒng)的一般步驟。3)了解le
3、d數(shù)碼管的基本知識和驅(qū)動(dòng)方法。4)掌握單片機(jī)系統(tǒng)各個(gè)組成部分的作用以及分布位置。5)學(xué)會運(yùn)用單片機(jī)的硬件資源。 四 所用設(shè)備及軟件 at89c51及其他小工具 proteus 五 系統(tǒng)設(shè)計(jì)方案 1 系統(tǒng)總體設(shè)計(jì) 軟件方面:通過匯編語言編程實(shí)現(xiàn)不同要求的狀態(tài),由延時(shí)程序?qū)崿F(xiàn)1秒的延時(shí)時(shí)間。 硬件方面:彩燈啟動(dòng)與停止由p1.6和p1.7口進(jìn)行控制,彩燈的顯示狀態(tài)由at89c51的p2口輸出顯示。芯片的控制由at89c51的外接晶振和復(fù)位電路進(jìn)行控制。 所謂接口是cpu與外界的連接部件,以實(shí)現(xiàn)cpu與外部設(shè)備的耦合和匹配。本課題只要求外接晶振電路、復(fù)位電路、控制電路、顯示接口電路。根據(jù)總體設(shè)計(jì)要求,
4、確定系統(tǒng)功能接口,設(shè)計(jì)出系統(tǒng)的電路原理圖(如圖3-1所示)。顯示設(shè)備為8個(gè)led燈,采用共陽極接法。利用89c51的p2口進(jìn)行顯示輸出和p1.6和p1.7進(jìn)行啟動(dòng)和停止控制。五彩燈分為 2部分,即彩燈控制器(主控模塊)和顯示模塊(受控模塊)。整個(gè)系統(tǒng)工作由軟件程序控制運(yùn)行,根據(jù)需要,用戶可以在 led 彩燈工作時(shí)通過主控模塊上的按鍵來控制led彩燈的不同的點(diǎn)亮模式。上電后系統(tǒng)經(jīng)過初始化,直接進(jìn)入一號功能鍵模式。再等待按鍵輸入控制信號控制中斷的來臨并掃描按鍵進(jìn)入中斷子服務(wù)程序?qū)崿F(xiàn)1鍵、2鍵、3鍵、4鍵和5鍵的各種功能。led 彩燈控制器按照程序設(shè)定好的按下不同按鍵實(shí)現(xiàn)不同的5個(gè)亮燈花樣模式并顯示
5、按下的是幾號功能鍵。七段碼 led 顯示器用來顯示當(dāng)前是幾號鍵已經(jīng)按下,這兩個(gè)功能都是通過查詢而進(jìn)入不同的中斷子程序。 圖1 系統(tǒng)電路原理圖 2 系統(tǒng)工作原理 此次使設(shè)計(jì)一個(gè)能控制八路彩燈的控制器,其中彩燈用發(fā)光二極管模擬。由p1.6和p1.7口控制電路啟動(dòng)與停止,根據(jù)彩燈的亮滅要求,利用數(shù)據(jù)指針查表,將查到的內(nèi)容送給p2口進(jìn)行顯示。若查到的內(nèi)容為跳出代碼就重新開始循環(huán) at89c51外形及引腳排列如圖所示: 圖2 at89c51引腳圖管腳說明: vcc:+5v電源輸入端。vss:電源接地端。xtal1:片內(nèi)放大器輸入端。xtal2:片內(nèi)放大器輸出端。rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保
6、持rst腳兩個(gè)機(jī)器周期的高電平時(shí)間。 p0口:p0口為一個(gè)8位漏級開路雙向i/o口,每腳可吸收8ttl門電流。當(dāng)p1口的管腳第一次寫1時(shí),被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時(shí),p0 口作為原碼輸入口,當(dāng)fiash進(jìn)行校驗(yàn)時(shí),p0輸出原碼,此時(shí)p0外部必須被拉高。 p1口:p1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗(yàn)時(shí),p1口作為第八位地址接收。 p2口:p
7、2口為一個(gè)內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個(gè)ttl門電流,當(dāng)p2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時(shí),p2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時(shí),p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗(yàn)時(shí)接收高八位地址信號和控制信號。 p3口:p3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個(gè)ttl門電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上
8、拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。 ale/prog:當(dāng)訪問外部存儲器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時(shí),ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時(shí),將跳過一個(gè)ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時(shí), ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效
9、。 psen:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個(gè)機(jī)器周期兩次psen有效。但在訪問外部數(shù)據(jù)存儲器時(shí),這兩次有效的psen信號將不出現(xiàn)。 ea/vpp:當(dāng)ea保持低電平時(shí),則在此期間外部程序存儲器(0000h-ffffh),不管是否有內(nèi)部程序存儲器。注意加密方式1時(shí),ea將內(nèi)部鎖定為reset;當(dāng)ea端保持高電平時(shí),此間內(nèi)部程序存儲器。 xtal1和xtal2:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。六 系統(tǒng)硬件設(shè)計(jì) 1 單片機(jī)最小系統(tǒng) 1.1 外接晶振電路及延時(shí)電路 每個(gè)單片機(jī)系統(tǒng)里都有晶振,他結(jié)合單片機(jī)內(nèi)部的電路,產(chǎn)生單片機(jī)所必須的時(shí)鐘頻率,單片機(jī)的一切指令的執(zhí)
10、行都是建立在這個(gè)基礎(chǔ)上的,晶振的提供的時(shí)鐘頻率越高,那單片機(jī)的運(yùn)行速度也就越快。晶振用一種能把電能和機(jī)械能相互轉(zhuǎn)化的晶體在共振的狀態(tài)下工作,以提供穩(wěn)定,精確的單頻振蕩。外接晶振電路是向at89c51芯片提供基準(zhǔn)頻率。外接晶振及延時(shí)電路圖如下: 圖3 外接晶振電路 圖4 延時(shí)電路2 單元電路設(shè)計(jì) 2.1 控制電路 利用單片機(jī)芯片at89c51的p1.6和p1.7口進(jìn)行彩燈的啟動(dòng)和停止這兩個(gè)狀態(tài)的控制,如果按下p1.6的開關(guān)按鈕彩燈就啟動(dòng),當(dāng)按下p1.7的按鈕時(shí)彩燈就立即停止(全部熄滅)??刂齐娐穲D如下: 圖5 控制電路圖 2.2 顯示電路八個(gè)彩燈的顯示依靠p2口來控制進(jìn)行亮或滅顯示,采用共陽極接
11、法,其中在線路中加限流電阻對芯片的保護(hù)。其顯示電路圖如下: 圖6 顯示電路 2.3 系統(tǒng)硬件原理電路圖 將at89c51芯片、外接晶振電路、復(fù)位電路、控制電路和顯示電路等資料匯集起來,熟悉芯片個(gè)引腳的功能及連接方法,繪制如下系統(tǒng)硬件原理電路圖: 圖7 系統(tǒng)硬件原理圖七 系統(tǒng)軟件設(shè)計(jì) 開始堆棧初始化給p1初始化復(fù)位程序中所有的標(biāo)志位updown、startend、yuan、quan、zuoyi、給流動(dòng)燈復(fù)初值調(diào)用鍵盤檢測程序f0為1?調(diào)用鍵盤處理程序調(diào)用顯示程序yn 表一 主程序流程圖void main() p0=0xc0; if(k1=0) p0= 0xf9;p2=0x00; if(k2=0)
12、 p0= 0xa4; p2=0x01; delay(500); p2=0x02; delay(500); p2=0x04; delay(500); p2=0x08; delay(500); p2=0x10; delay(500); p2=0x20; delay(500); p2=0x40; delay(500); p2=0x80; delay(500); if(k3=0) p0=0xb0; p2=0x01; delay(500); p2=0x03;delay(500); p2=0x07;delay(500); p2=0x0f;delay(500); p2=0x1f;delay(500); p2
13、=0x3f;delay(500); p2=0x7f; delay(500); p2=0xff;delay(1000); if(k4=0) p0=0x99; p2=0x55; delay(500); p2=0xaa; delay(500); if(k5=0) p0=0x92; p2=0xff; delay(500); p2=0x00; delay(500); 功能說明:圖1主程序流程圖,編寫匯編主程序,開始給堆棧初始化,把p1復(fù)位也就讓彩燈一開始處于滅的狀態(tài),把所有標(biāo)志位復(fù)位,否則下次運(yùn)行時(shí)容易出錯(cuò),。給流動(dòng)代碼復(fù)初值,然后調(diào)用鍵盤程序看是否有鍵按下沒有就跳轉(zhuǎn)顯示程序返回,f0為則調(diào)用功能鍵處理
14、程序然后在調(diào)用顯示程序返回循環(huán)。 24 2 子程序設(shè)計(jì)開始給r7復(fù)值d1: 給r6復(fù)值r6j減1到0?r7減1到0?返回nyyn 表2 延時(shí)子程序流程圖 void delay(unsigned int i)/延時(shí)子程序unsigned int j;while(i-) for(j=0;j115;j+); 八 實(shí)驗(yàn)調(diào)試結(jié)果 圖8 未按鍵之前的仿真圖 剛開始時(shí)所有l(wèi)ed燈全部亮,數(shù)碼管顯示0. 圖9 按1號鍵仿真圖 1號鍵按下后,產(chǎn)生中斷,硬件自身識別外部中斷0或1,并掃描鍵盤進(jìn)入相應(yīng)的中斷子程序。此時(shí)產(chǎn)生外部中斷并掃描鍵盤進(jìn)入子程序?qū)崿F(xiàn)1號鍵功能,led彩燈為全滅,led數(shù)碼管顯示1,此后一直循環(huán)
15、此功能直到下一個(gè)中斷產(chǎn)生才結(jié)束。 圖10 按2號鍵仿真圖 關(guān)閉1號鍵,2號鍵按下后,產(chǎn)生中斷,硬件自身識別intt0或intt1并掃描鍵盤進(jìn)入相應(yīng)的中斷子程序。此時(shí)產(chǎn)生intt0中斷并掃描鍵盤進(jìn)入子程序?qū)崿F(xiàn)2號鍵功能,led1-led8流動(dòng)點(diǎn)亮,led數(shù)碼管顯示2,此后一直循環(huán)此功能直到下一個(gè)中斷產(chǎn)生才結(jié)束。 圖11 按3號鍵仿真圖關(guān)閉2號鍵,3號鍵按下后,產(chǎn)生中斷,硬件自身識別intt0或intt1并掃描鍵盤進(jìn)入相應(yīng)的中斷子程序。此時(shí)產(chǎn)生intt0中斷并掃描鍵盤進(jìn)入子程序?qū)崿F(xiàn)3號鍵功能,led1-led8依次點(diǎn)亮,led數(shù)碼管顯示3,此后一直循環(huán)此功能直到下一個(gè)中斷產(chǎn)生才結(jié)束。 圖12 按4
16、號鍵仿真圖 關(guān)閉2號鍵,4號鍵按下后,產(chǎn)生中斷,硬件自身識別intt0或intt1并掃描鍵盤進(jìn)入相應(yīng)的中斷子程序。此時(shí)產(chǎn)生intt0中斷并掃描鍵盤進(jìn)入子程序?qū)崿F(xiàn)4號鍵功能,led1、led3、led5、led7和led2、led4、led6、led8輪流點(diǎn)亮,led數(shù)碼管顯示4,此后一直循環(huán)此功能直到下一個(gè)中斷產(chǎn)生才結(jié)束。 圖13 按5號鍵仿真圖 5號鍵按下后,產(chǎn)生中斷,硬件自身識別intt0或intt1并掃描鍵盤進(jìn)入相應(yīng)的中斷子程序。此時(shí)產(chǎn)生intt0中斷并掃描鍵盤進(jìn)入子程序,led數(shù)碼管顯示鍵號5,等上一次顯示周期完畢后實(shí)現(xiàn)4號鍵功能,led1led8閃爍,此后一直循環(huán)此功能直到下一個(gè)中斷
17、產(chǎn)生才結(jié)束。 九 設(shè)計(jì)中的問題及解決方法 接到老師發(fā)的課程設(shè)計(jì)后我按著書和自己的思路編寫程序,編寫后進(jìn)行軟件仿真調(diào)試發(fā)現(xiàn)當(dāng)我按下2號鍵時(shí)沒有出現(xiàn)后面的led燈依次點(diǎn)亮,出現(xiàn)了前面的燈點(diǎn)亮后面的燈就滅了,最后我在程序中添加了delay(500)后,在編譯運(yùn)行仿真不會出現(xiàn)剛剛的情況經(jīng)過調(diào)試我的仿真結(jié)果基本符合設(shè)計(jì)要求。 十 設(shè)計(jì)心得 回顧此次單片機(jī)課程設(shè)計(jì),我仍感慨頗多,的確,從選題到定稿,從理論到實(shí)踐,在接近四星期的日子里,可以說得是苦多于甜,但是學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計(jì)使我懂得了只有把所學(xué)的理論知識與實(shí)踐相結(jié)合起來,才能提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)
18、計(jì)的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,比如說不懂一些元器件的使用方法,對單片機(jī)結(jié)構(gòu)掌握得不好通過這次課程設(shè)計(jì)之后,一定把以前所學(xué)過的知識重新溫故。這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多問題,最后在梅英老師的指導(dǎo)下,終于迎刃而解。俗話說“好的開始是成功的一半”。說起課程設(shè)計(jì),我認(rèn)為最重要的就是做好設(shè)計(jì)的預(yù)習(xí),認(rèn)真的研究老師給的題目,選一個(gè)自己有興趣的題目。其次,老師對實(shí)驗(yàn)的講解要一絲不茍的去聽去想,因?yàn)橹挥卸济靼琢?,做起設(shè)計(jì)就會事半功倍,如果沒弄明白,就迷迷糊糊的去選題目做設(shè)計(jì),到頭來一點(diǎn)收獲也沒有。最后,要重視程序的模塊化,修改的方便,也要注重程序的調(diào)試,掌握其方法。 在這次難得的課程設(shè)計(jì)過程中我鍛煉了自己的思考能力和動(dòng)手能力。通過題目選擇和設(shè)計(jì)電路的過程中,加強(qiáng)了我思考問題的完整性.十一 參考文獻(xiàn) 何立民.單片機(jī)應(yīng)用技術(shù)選編,北京:北京航空大學(xué)出版社,1998 張毅剛.新編51單片機(jī)應(yīng)用設(shè)計(jì)(第三版),哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2008 陳堂敏.劉煥平主編.單片機(jī)原理與應(yīng)用,北京:北京理工大學(xué)出版社,2007 十二 程序清單 #includesbit k1=p10;sbit k2=p11;sbit k3=p12;sbit k4=p13;sbit
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東經(jīng)貿(mào)職業(yè)學(xué)院《中國稅制》2023-2024學(xué)年第一學(xué)期期末試卷
- 山東海事職業(yè)學(xué)院《數(shù)字合成》2023-2024學(xué)年第一學(xué)期期末試卷
- 山東管理學(xué)院《管理會計(jì)理論與實(shí)務(wù)(會計(jì))》2023-2024學(xué)年第一學(xué)期期末試卷
- 幼兒明信片制作課程設(shè)計(jì)
- dcs系統(tǒng)課程設(shè)計(jì)
- 安桌猜數(shù)字游戲課程設(shè)計(jì)
- 《XSMD股份有限公司財(cái)務(wù)風(fēng)險(xiǎn)控制研究》
- 《商業(yè)銀行員工心理資本對其組織公民行為的影響研究》
- 《我國全民健身志愿服務(wù)體系建設(shè)研究》
- 快遞分揀課程設(shè)計(jì)
- 混凝土售后服務(wù)承諾書
- 規(guī)范權(quán)力運(yùn)行方面存在問題及整改措施范文(五篇)
- 新改版教科版四年級上冊科學(xué)全冊問答題梳理
- 芳療實(shí)證全書
- 政治經(jīng)濟(jì)學(xué)智慧樹知到課后章節(jié)答案2023年下寧波大學(xué)
- 減壓孔板計(jì)算
- 博物館學(xué)概論課件:博物館與觀眾
- 城市綜合管廊規(guī)劃設(shè)計(jì)要點(diǎn)
- 反恐培訓(xùn)內(nèi)容
- 皮帶滾筒數(shù)據(jù)標(biāo)準(zhǔn)
- 學(xué)習(xí)解讀新制定《無障礙環(huán)境建設(shè)法》專題PPT
評論
0/150
提交評論