單片機(jī)課程設(shè)計(jì)-8個(gè)按鍵控制8個(gè)LED自動設(shè)定控制流水燈_第1頁
單片機(jī)課程設(shè)計(jì)-8個(gè)按鍵控制8個(gè)LED自動設(shè)定控制流水燈_第2頁
單片機(jī)課程設(shè)計(jì)-8個(gè)按鍵控制8個(gè)LED自動設(shè)定控制流水燈_第3頁
單片機(jī)課程設(shè)計(jì)-8個(gè)按鍵控制8個(gè)LED自動設(shè)定控制流水燈_第4頁
單片機(jī)課程設(shè)計(jì)-8個(gè)按鍵控制8個(gè)LED自動設(shè)定控制流水燈_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

年4月19日單片機(jī)課程設(shè)計(jì)—8個(gè)按鍵控制8個(gè)LED自動設(shè)定控制流水燈文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。東北石油大學(xué)實(shí)習(xí)總結(jié)報(bào)告實(shí)習(xí)類型生產(chǎn)實(shí)習(xí)實(shí)習(xí)單位東北石油大學(xué)實(shí)習(xí)基地實(shí)習(xí)起止時(shí)間7月7日至7月16日指導(dǎo)教師劉東明、孫鑒所在院(系)電子科學(xué)學(xué)院班級電子科學(xué)與技術(shù)15-2學(xué)生姓名學(xué)號7月16日目錄TOC\o"1-2"\h\z\u第1章按鍵控制流水燈設(shè)計(jì) 11.1實(shí)習(xí)目的 11.2實(shí)習(xí)要求 2第2章電路工作原理 22.1STC89C52單片機(jī)工作原理 22.2LED工作原理 32.3按鍵工作原理 32.4整體電路圖 52.5本章小結(jié) 6第3章C程序設(shè)計(jì) 73.1程序設(shè)計(jì)流程圖 73.2實(shí)驗(yàn)結(jié)果 83.3本章小結(jié) 9總結(jié)及體會 10參考文獻(xiàn) 11附錄 12按鍵控制流水燈設(shè)計(jì)實(shí)習(xí)目的本次實(shí)習(xí)以STC89C52單片機(jī)為控制核心。經(jīng)過它實(shí)現(xiàn)對八盞LED燈的亮滅進(jìn)行設(shè)定,并在設(shè)定完成之后能夠按照之前的設(shè)定實(shí)現(xiàn)流水燈效果。外部電路為按鍵控制流水燈。P0口控制八盞燈,P1口控制矩陣鍵盤,P2口控制獨(dú)立按鍵,程序利用單片機(jī)內(nèi)部計(jì)時(shí)器中斷實(shí)現(xiàn)流水效果。要求流水燈能夠自行設(shè)定、暫停、復(fù)位,工作穩(wěn)定,可靠性高。生產(chǎn)實(shí)習(xí)的主要目的是培養(yǎng)理論聯(lián)系實(shí)際的能力,提高實(shí)際動手操作能力。本專業(yè)的生產(chǎn)實(shí)習(xí)旨在廣泛了解實(shí)際單片機(jī)電子產(chǎn)品工作的全過程,熟悉電子產(chǎn)品的主要技術(shù)管理模式,并在實(shí)習(xí)的操作過程中學(xué)習(xí)掌握電子產(chǎn)品的焊接安裝調(diào)試的實(shí)際操作技能。鞏固和加深理解所學(xué)的理論,開闊眼界,提高潛力,為培養(yǎng)高素質(zhì)大學(xué)本科人才打下必要的基礎(chǔ)。透過學(xué)習(xí),是理論與實(shí)際相結(jié)合,能夠使學(xué)生加深對所學(xué)知識的理解,并為后續(xù)專業(yè)課的學(xué)習(xí)帶給必要的感性知識,同時(shí)直接了解本業(yè)的生產(chǎn)過程和生產(chǎn)資料,為將來走上工作崗位帶給必要的實(shí)際生產(chǎn)知識。實(shí)習(xí)要求1.深入學(xué)習(xí)單片機(jī)開發(fā)軟件Keil的使用,熟悉單片機(jī)電路設(shè)計(jì),根據(jù)實(shí)際應(yīng)用電路對程序進(jìn)行調(diào)試。2.熟悉單片機(jī)硬件開發(fā)平臺的應(yīng)用,掌握單片機(jī)編程器、仿真器的使用,能檢查和分析軟硬件故障。3.體會單片機(jī)內(nèi)部資源的功能使用,以單片機(jī)開發(fā)板現(xiàn)有資源進(jìn)行應(yīng)用性設(shè)計(jì)。掌握單片機(jī)常見外圍器件的使用。4.對去年生產(chǎn)實(shí)習(xí)焊接的51開發(fā)板的程序有更深入的了解。電路工作原理STC89C52單片機(jī)工作原理單片機(jī)(Microcontrollers)是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機(jī)存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的微型計(jì)算機(jī)系統(tǒng)。例如STC89C52單片機(jī)是經(jīng)過32個(gè)輸入輸出口的高低電平變化來實(shí)現(xiàn)對外部電路的控制,痛過相應(yīng)的程序?qū)崿F(xiàn)對32個(gè)輸入輸出口的控制,這就是單片機(jī)工作的最基本原理。如圖2-1所示為STC89C52單片機(jī)工作的最小系統(tǒng)電路圖。圖2-1STC89C52最小工作系統(tǒng)整個(gè)電路使用5V直流電源供電,其中復(fù)位電路能夠使單片機(jī)復(fù)位;晶振電路相當(dāng)于單片機(jī)的心臟,為單片機(jī)提供12MHz的高頻脈沖使單片機(jī)正常工作;MAX232是將單片機(jī)輸出的TTL電平轉(zhuǎn)換成PC機(jī)能接收的232電平或?qū)C機(jī)輸出的232電平轉(zhuǎn)換成單片機(jī)能接收的TTL電平,實(shí)現(xiàn)單片機(jī)與PC機(jī)之間的通信,以便于下載程序。LED工作原理LED(light-emittingdiode),即發(fā)光二極管,俗稱LED小燈,51開發(fā)板使用的是普通貼片發(fā)光二極管。這種二極管一般的正向?qū)妷菏?.8~2.2V之間,工作電流一般在1~20mA之間。其中當(dāng)電流在1~5mA之間變化時(shí),隨著經(jīng)過LED的電流越來越大,肉眼會感覺到這個(gè)燈越來越亮,而當(dāng)電流從5~20mA變化時(shí),看到的發(fā)光二極管的亮度變化不明顯了。當(dāng)電流超過20mA時(shí),LED就有燒壞的危險(xiǎn)。因此在51開發(fā)板的使用中需要根據(jù)相應(yīng)的電流參數(shù)設(shè)計(jì)一個(gè)與LED串聯(lián)的限流電阻。如圖2-2所示為單片機(jī)I/O口控制LED的電路原理圖。圖2-2單片機(jī)控制LED電路圖圖中PR2為排阻,在電路中起到限流作用,防止LED被燒毀。因?yàn)閱纹瑱C(jī)是能夠編程控制的,即P00~P07的高低電平也是能夠控制的,因此對應(yīng)的8個(gè)LED的亮滅狀態(tài)也是能夠控制的,這就達(dá)到了單片機(jī)控制LED的目的。按鍵工作原理獨(dú)立按鍵工作原理獨(dú)立式按鍵比較簡單,它們各自與獨(dú)立的輸入線相連接,如圖2-3所示。圖2-3獨(dú)立式按鍵原理圖4條輸人線接到單片機(jī)的I/O口上,當(dāng)按健K1按下時(shí),+5V經(jīng)過電阻然后再經(jīng)過按鍵K1最終進(jìn)人GND形成一條通路,這條線路的全部電壓都加到這個(gè)電阻上,P20這個(gè)引腳就是個(gè)低電平。當(dāng)松開按健后,線路斷開,就不會有電值經(jīng)過,P20和+5V就應(yīng)該是等電位,是個(gè)高電平。我們就能夠經(jīng)過P20這個(gè)10口的高低電平來判斷是否有按鍵按下。矩陣按鍵工作原理在某一個(gè)系統(tǒng)設(shè)計(jì)中,如果需要使用很多按鍵時(shí),做成獨(dú)立按鍵會占用大量I/O口,因此引用了矩陣鍵盤的設(shè)計(jì)。如圖2-4所示為51開發(fā)板上的矩陣按鍵電路原理圖,使用8個(gè)I/O口來實(shí)現(xiàn)16個(gè)按鍵。圖2-4矩陣按鍵原理圖在程序設(shè)計(jì)中分別用四個(gè)I/O口掃描4行,另外4個(gè)掃描4列,確定了按鍵在哪行哪列也就確定了按鍵的具體位置。整體電路圖如圖2-5所示為鍵盤控制LED流水燈整體電路圖。圖2-5總電路原理圖本章小結(jié)本章主要介紹了單片機(jī)最小系統(tǒng)、LED工作原理、按鍵工作原理。并從硬件電路的設(shè)計(jì)出發(fā),簡單分析單片機(jī)控制LED的工作過程。理論分析基本完成,接下來就是具體的程序設(shè)計(jì)與調(diào)試,經(jīng)過具體的程序來實(shí)現(xiàn)相應(yīng)的功能,這也是單片機(jī)開發(fā)中最具技術(shù)含量的環(huán)節(jié)之一。C程序設(shè)計(jì)程序設(shè)計(jì)流程圖如圖3-1所示為主程序流程圖。開計(jì)時(shí)器中斷開計(jì)時(shí)器中斷開始K1是否按下掃描矩陣鍵盤選擇需要點(diǎn)亮的LEDK2是否按下保存選擇的數(shù)據(jù)擇需要點(diǎn)亮的LED計(jì)時(shí)器中斷程序選擇數(shù)據(jù)實(shí)現(xiàn)LED流水燈K3是否按下是否是否否是圖3-1程序設(shè)計(jì)框圖主程序由3個(gè)獨(dú)立按鍵控制,K1,K2和K3。開始從主函數(shù)執(zhí)行程序語句,不斷循環(huán)掃描按鍵,當(dāng)K1按下時(shí),進(jìn)入選擇狀態(tài),程序會不斷地掃描矩陣鍵盤,經(jīng)過矩陣鍵盤選擇需要點(diǎn)亮的LED;選擇結(jié)束后按下K2,程序會將選定后的數(shù)據(jù)送入中斷程序,中斷程序根據(jù)接收的數(shù)據(jù)選澤對應(yīng)的LED實(shí)現(xiàn)流水燈效果;當(dāng)按下K3后程序又會進(jìn)入矩陣鍵盤掃描重新選擇LED。實(shí)驗(yàn)結(jié)果如圖3-2所示,當(dāng)按下K1后進(jìn)入選擇定狀態(tài)。圖3-2選擇LED如圖3-2,控制矩陣鍵盤分別選擇了第1,6,8盞燈。再按下K2鍵,讓選擇的第1,6,8盞燈實(shí)現(xiàn)流水燈效果。如圖3-3所示。圖3-3流水燈如圖3-3,按下K2之后,LED由之前第1,6,8盞燈亮變?yōu)榈?,2,7盞燈亮,實(shí)現(xiàn)了流水燈右移的效果。當(dāng)按下K3鍵,實(shí)驗(yàn)結(jié)果如圖3-4所示。圖3-4回到初始狀態(tài)由圖3-4可知,當(dāng)按下K3鍵之后,程序又回到了設(shè)定LED的狀態(tài)。本章小結(jié)由實(shí)驗(yàn)結(jié)果能夠看出,本次單片機(jī)課程設(shè)計(jì)已達(dá)到預(yù)期要求,電路工作穩(wěn)定,滿足設(shè)計(jì)要求。在整個(gè)設(shè)計(jì)過程中,程序設(shè)計(jì)與調(diào)試最為復(fù)雜,出現(xiàn)過按鍵燈不亮,沒有出現(xiàn)滾動流水等現(xiàn)象等一系列程序問題。但最終在不斷地檢查、調(diào)試之后,問題也逐漸得到解決。最終實(shí)現(xiàn)按鍵控制流水燈的效果??偨Y(jié)及體會本次設(shè)計(jì)經(jīng)過對單片機(jī)進(jìn)行編程控制,進(jìn)而控制外部電路,成功地設(shè)計(jì)了八個(gè)按鍵控制八盞燈亮滅實(shí)現(xiàn)流水燈的效果。深入了解到單片機(jī)開發(fā)軟件Keil的使用,熟悉單片機(jī)電路設(shè)計(jì),根據(jù)實(shí)際應(yīng)用電路對程序進(jìn)行調(diào)試。熟悉單片機(jī)硬件開發(fā)平臺的應(yīng)用,掌握了單片機(jī)編程器、仿真器的使用,能檢查和分析軟硬件故障。體會到單片機(jī)內(nèi)部資源的功能使用,以單片機(jī)開發(fā)板現(xiàn)有資源進(jìn)行應(yīng)用性設(shè)計(jì)。經(jīng)過這次實(shí)習(xí)使我進(jìn)一步弄懂所學(xué)到的課本知識,鞏固和深化對單片機(jī)的結(jié)構(gòu)、指令系統(tǒng)、中斷系統(tǒng)、鍵盤/顯示系統(tǒng)、接口技術(shù)、系統(tǒng)擴(kuò)展、定時(shí)/控制、程序設(shè)計(jì)、應(yīng)用開發(fā)、等基本理論知識的理解,提高單片機(jī)應(yīng)用于技術(shù)的實(shí)踐操作技能,掌握單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)、研制的方法,培養(yǎng)利用單片機(jī)進(jìn)行科技革新、開發(fā)和創(chuàng)新的基本能力,為畢業(yè)后從事與單片機(jī)相關(guān)的工作打下一定的基礎(chǔ)。參考文獻(xiàn)童詩白,華成英.模擬電子技術(shù)基礎(chǔ)(第四版)[M].北京:高等教育出版社,.閻石.數(shù)字電子技術(shù)基礎(chǔ)(第五版)[M].北京:高等教育出版社,.韓建,全星慧,周圍.電子技術(shù)課程設(shè)計(jì)指導(dǎo)[M].哈爾濱:哈爾濱工程大學(xué)出版社,.黎小桃.數(shù)字電子電路分析與應(yīng)用[M].北京:北京理工大學(xué)出版社,.高吉祥.電子技術(shù)基礎(chǔ)實(shí)驗(yàn)與課程設(shè)計(jì)[M].北京:電子工業(yè)出版社,.陳明義.電子技術(shù)課程設(shè)計(jì)實(shí)用教程(第3版)[M].長沙:中南大學(xué)出版社,.程春雨.模擬電子技術(shù)實(shí)驗(yàn)與課程設(shè)計(jì)[M].北京:電子工業(yè)出版社,.宋雪松,李東明,崔長勝.手把手教你學(xué)51單片機(jī)(C語言版)[M].北京:清華大學(xué)出版社,.

附錄:#include<reg52.h>#include<intrins.h>#defineKEYP1sbitk1=P2^0;sbitk2=P2^1;sbitk3=P2^2;sbitk4=P2^3;unsignedcharLED=0x00,LED1=0x00;unsignedcharx=0;unsignedcharKeyValue;unsignedcharA1=0x00,A2=0x00,A3=0x00,A4=0x00,A5=0x00,A6=0x00,A7=0x00,A8=0x00;voidDelay10ms(unsignedintc);voidKeyDown(); //矩陣鍵盤檢測voidkongzhil();voidkongzhi2();voidmain(void){TMOD=0x01;//定時(shí)器工作狀態(tài)為1 TH0=(65536-50000)/256; TL0=(65536-50000)%6; EA=1;//開總中斷 ET0=1;//開定時(shí)器中斷 TR0=1;//開啟定時(shí)器 while(1) {intn=0; if(k1==0) { Delay10ms(1); if(k1==0) n=1; } if(k3==0) { Delay10ms(1); if(k3==0) n=3; } if(k4==0) { Delay10ms(1); if(k4==0) n=4; } switch(n) { case1:KeyDown();break; case3:kongzhil();break; case4:kongzhi2();break; default:break; } } }voidKeyDown(void){intk=1; while(k) { chara=0; KEY=0x0f; if(KEY!=0x0f) { Delay10ms(1);//延時(shí)消抖 if(KEY!=0x0f) { KEY=0X0F; switch(KEY)//掃描行 { case(0X07): KeyValue=0;break; case(0X0b): KeyValue=4;break; case(0X0d):KeyValue=8;break; case(0X0e): KeyValue=12;break; } KEY=0XF0; switch(KEY)//掃描列 { case(0X70): KeyValue=KeyValue+3;break; case(0Xb0): KeyValue=KeyValue+2;break; case(0Xd0):KeyValue=KeyValue+1;break; case(0Xe0): KeyValue=KeyValue;break; } while((a<50)&&(KEY!=0xf0)) //松手檢測 { Delay10ms(1); a++; } switch(KeyValue) //選擇需要亮的燈 { case(0):A1=~A1;break; case(1):A2=~A2;break; case(2):A3=~A3;break; case(3):A4=~A4;break; case(4):A5=~A5;break; case(5):A6=~A6;break; case(6):A7=~A7;break; case(7):A8=~A8;break; default:break; } } } if(A1==0xff)//保存數(shù)據(jù) (LED1=LED1|0x80); elseif(A1==0x00) (LED1=LED1&0x7f); if(A2==0xff) (LED1=LED1|0x40); elseif(A2==0x00) (LED1=LED1&0xbf); if(A3==0xff) (LED1=LED1|0x20); elseif(A3==0x00) (LED1=LED1&0xdf); if(A4==0xff) (LED1=LED1|0x10); elseif(A4==0x00) (LED1=LED1&0xef); if(A5==0xff) (LED1=LED1|0x08); elseif(A5==0x00) (LED1=LED1&0xf7); if(A6==0xff) (LED1=LED1|0x04); elseif(A6==0x00) (LED1=LED1&0xfb); if(A7==0xff) (LED1=LED1|0x02); elseif(A7==0x00) (LED1=LED1&0xfd); if(A8==0xff) (LED1=LED1|0x01); elseif(A8==0x00) (LED1=LED1&0xfe); LED=LED1; if(k2==0) { Delay10ms(1); if(k2==0) { k=0;LED=LED1; }; }; if(k4==0) { Delay10ms(1); if(k4==0) { k=0;

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論