版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、信息與電氣工程學院課程設計說明書(2012/2013學年第二學期)課程名稱:單片機原理及接口技術題目:簡易多彩廣告燈控制設計專業(yè)班級:自動化10-03設計周數:2周2013年6月26日1、課程設計目的1.1 原始數據及主要任務21.2 技術要求22、課程設計正文2.1 硬件設計22.1.1 確定硬件電路總體設計方案22.1.2 單元電路設計32.1.2.1 時鐘電路32.1.2.2 復位電路32.1.2.3 鍵盤輸入電路42.1.2.4 數字顯示電路52.1.2.5 廣告燈電路52.1.2.6 總電路圖62.1.3 系統(tǒng)調試72.2 軟件設計72.2.1 系統(tǒng)分析72.2.2 系統(tǒng)設計82.2
2、.2.1 按鍵確認程序82.2.2.2 數碼管顯示程序82.2.2.3 延時程序82.2.2.4 .四種廣告燈控制程序82.2.3 系統(tǒng)實施93、 課程設計總結17184、 參考文獻1、課程設計目的1.1 原始數據及主要任務設計并制作出一個以單片機為核心的彩燈閃爍控制系統(tǒng):(1)確定總體設計方案(2)、設計鍵盤輸入電路(3)、設計顯示電路(4)、合理分配地址,編寫系統(tǒng)程序(5)、利用Protel設計硬件電路原理圖和PCB圖(6)、軟硬件聯(lián)機調試1.2技術要求設計一個以MCS-51單片機為核心的簡易多彩廣告燈閃爍控制系統(tǒng),2位數碼管顯示閃爍控制方案,分別顯示01、02、03、和10號方案,初始化
3、為00,彩燈滅;2個控制按鍵,一個加一數字鍵,一個確定鍵,循環(huán)10個花型的方案。方案01為左循環(huán)亮一秒閃爍;方案02為右循環(huán)亮一秒閃爍;方案03為“100000000、1100000011111111”遞增間隔1秒閃爍;方案10為“01010101,10101010”間隔一秒閃爍;其余方案燈滅。2、課程設計正文2.1硬件設計2.1.1確定硬件電路總體設計方案根據設計要求,首先確定硬件的主要組成部分,主要包括了單片機最小系統(tǒng)中的時鐘電路、復位電路和本課設需要的按鍵控制電路、LED燈顯示電路、廣告燈方案顯示電路,最后由5V直流電源對各部分電路提供電源??偟脑O計框圖如圖1。圖1硬件設計總框圖2.1.
4、2單元電路設計2.1.2.1 時鐘電路時鐘電路提供的時鐘信號是單片機工作時必須的控制信號,只有正確的提供了時鐘信號,單片機才能嚴格按照時序執(zhí)行指令進行工作。時鐘頻率直接影響單片機的速度,時鐘電路的質量也直接影響單片機系統(tǒng)的穩(wěn)定性。常用的時鐘電路設計有兩種方式,一種是內部時鐘方式,另一種事外部時鐘方式。本課設采用的是內部時鐘方式。內部是中方式的時鐘電路由一個6MHz的晶振和兩個30pF的電容組成,時鐘電路的電路圖如圖2。C1I30pf X1C36M1 TOU1 19 >XTAL118XTAL2圖2時鐘電路2.1.2.2 復位電路復位是單片機的初始化操作,除了進入系統(tǒng)的正常初始化之外,當由于
5、程序運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài),為擺脫死鎖狀態(tài),也需要復位按鍵使RST引腳為高電平使單片機復位。本課設采用51單片機典型手動復位電路,電路由一個200的電阻、一個1KQ的電阻和一個22uF的極性電容組成。當按下復位鍵后復位口RST變?yōu)楦唠娖?,經過兩個機器周期單片機復位,單片機從地址為0000H處重新執(zhí)行程序。復位電路的電路圖如圖3。圖3復位電路2.1.2.3 鍵盤輸入電路本課設的鍵盤輸入電路由一個加一鍵和一個確定鍵組成,每個按鍵都接一個1K的上拉電阻。加一鍵控制方案類型,并通過顯示電路的顯示,共有10種方案類型,其中第01、02、03、10號方案對應有相應的廣告燈顯示方案,其余為廣告
6、燈全滅。確定鍵確定方案讓廣告燈開始閃亮。鍵盤輸入電路如圖4.2.1.2.4 數字顯示電路數字顯示電路主要有兩個共陽極數碼管組成,采用靜態(tài)顯示方案,將共陽極數碼管的段碼由P0、P2口輸出,驅動數碼管顯示。每條支路加一個200的限流電阻。顯示電路復位后顯示00,當不斷按下加一鍵是,數碼管分別顯示01、02、03、04、05、06、07、08、09、10,分別對應十種相應的顯示方案。顯示電路電路圖如圖5.ponrADQpg3TApzFO3TAD3rnjarADSPNJEVAS _PKW*專二PZA1E3 F 工工A11 5HAiRP2SVA13 陛 MAi,工7稿傕=' pj.inxiF3.
7、tfTD P3jST113 1 - 運 幗172孑而圖4鍵盤輸入電路圖5數字顯示電路2.1.2.5 廣告燈電路廣告燈電路為本課設主要控制的電路,由八個發(fā)光二極管組成,每個發(fā)光二極管接一個200的限流電阻。廣告燈電路如圖6.當確定鍵按下后,廣告燈即開始按照數碼管顯示的數字顯示不同的閃亮方案,其中方案01為左循環(huán)亮一秒閃爍;方案02為右循環(huán)亮一秒閃爍;方案03為“100000000、間隔1100000011111111”遞增間隔1秒閃爍;方案10為“01010101,10101010一秒閃爍;其余方案燈滅。圖6廣告燈電路2.1.2.6總電路圖總電路如圖7.圖7總電路圖2.1.3系統(tǒng)調試首先在pro
8、teus中畫好電路圖,加載程序查看仿真效果。對不滿足要求的地方,首先檢察設計思路是否正確,在設計思路正確的前提下針對錯誤的類型檢察硬件的選擇和對應軟件的設計是否正確,發(fā)現錯誤后首先考慮是否可以通過改變軟件來實現,軟件不能實現的再考慮改變硬件電路實現。本課設在仿真調試中遇到的難點主要是對加一鍵的確定,由于在方案運行時要求加一鍵仍然有效,而每種方案中的延時程序與按鍵的延時去抖程序相互交錯,給確定加一鍵的一次有效按下帶來了很大的困難,經常出現按時間短了沒有效果,按時間長了又會確認兩次的情況。最后幾經修改才打到了要求的效果,當上一種方案正在運行時,按下加一鍵不要松開,等廣告燈全滅后再松開,可使加一鍵每
9、次都成功確認一次。在硬件實物做好后,加載程序調試,對與仿真情況不符的電路檢察焊接情況和硬件的好壞。最后對操作的流暢性進行完善,使硬件電路易于操作,不會出現錯誤判斷。在硬件調試時,本課設遇到的困難主要是由于查閱資料時的疏漏我們把數碼管的c腳和e腳接反了,導致數字無法正常輸出。由于硬件電路已經完成,要改動是比較復雜的。后來在研究是發(fā)現,所謂的數碼管段碼其實是人為規(guī)定的,變動硬件中的c腳和e腳與變動程序中的c、e兩腳對應的電平是一樣,所以我將書中的共陽極數碼管段碼“根據”我們電路進行了修改,換了c、e對應的電平。重新編譯加載后,果然顯示正常了,從而避免了對硬件的修改。2.2軟件設計2.2.1 系統(tǒng)分
10、析本課設的程序主要分為按鍵確認、延時、數碼管顯示和四種廣告燈控制幾部分。按鍵確認采用典型的延時去抖法,是按鍵每次按下都只被有效確認一次。延時程序主要用于去抖和廣告燈閃亮間隔的控制,數碼管顯示則是給相應的P口賦值段碼。四種廣告燈控制用于控制8個發(fā)光二極管的閃亮順序和個數。程序設計的總框圖如圖8.開始圖8程序設計總框圖2.2.2 系統(tǒng)設計2.2.2.1 按鍵確認程序通過voidkey_detect()子函數采集相應的P口的電平判斷按鍵是否按下,程序見系統(tǒng)實施中的源程序。2.2.2.2 數碼管顯示程序通過voiddisplay(void)子函數來顯示相應的方案數,程序見系統(tǒng)實施中的源程序。2.2.2
11、.3 延時程序通過voiddelay(unsignedint)子函數來完成延時功能,程序見系統(tǒng)實施中的源程序。2.2.2.4 .四種廣告燈控制程序通過分別調用voidright_loop()、voidleft_loop()、voidother_program()、voidji_ou()四種子函數來顯示相應的閃爍方案,程序見系統(tǒng)實施中的源程序。2.2.3 系統(tǒng)實施本課設所用源程序如下:#include<reg52.h>#include<intrins.h>unsignedcharcodetable=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0x
12、f8,0x80,0x90;unsignedintflag=0;voidkey_detect(void);voiddisplay(void);voiddelay(unsignedint);voidright_loop();voidleft_loop();voidother_program();voidincrease();voidji_ou();sbitk1=P0A0;/加一鍵sbitk2=P0A1;確定鍵voidmain()while(1)key_detect();if(flag=11)flag=0;display();/*函數功能:實現任務一:流水燈左循環(huán)亮1秒閃爍*/voidleft_lo
13、op()unsignedchartemp;temp=0x7f;while(1)temp=_crol_(temp,1);delay(100);P1=temp;delay(100);P1=0xff;if(k1=0)P1=0xff;/燈全滅delay(20);if(k1=0)P1=0xff;flag+;delay(10);while(!k1);/檢測是否松開按鍵delay(20);while(!k1);break;/*函數功能:實現任務二:流水燈右循環(huán)亮1秒閃爍*/*voidright_loop()unsignedchartemp;temp=0xfe;while(1)temp=_cror_(temp
14、,1);delay(100);P1=temp;delay(100);P1=0xff;if(k1=0)delay(20);if(k1=0)P1=0xff;flag+;while(!k1);/檢測是否松開按鍵delay(20);while(!k1);break;/*函數功能:所有燈滅*/voidother_program()P1=0xff;delay(10);if(k1=0)delay(10);if(k1=0)P1=0xff;flag+;delay(10);while(!k1);/檢測是否松開按鍵rdelay(20);while(!k1);*函數功能:實現任務三:遞增間隔1秒閃爍*/voidinc
15、rease()unsignedinti=0;unsignedchara=0xff,0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00;while(1)if(i>8)i=0;P1=ai;delay(100);P1=0xff;delay(100);i+;if(k1=0)delay(10);if(k1=0)P1=0xff;flag+;delay(10);while(!k1);/檢測是否松開按鍵rdelay(20);while(!k1);break;/*函數功能:實現任務十:實現奇偶間隔1秒閃爍*/*voidji_ou()unsignedchara=0x55,0xaa
16、;unsignedinti=0;while(1)if(i>1)i=0;P1=ai;delay(100);P1=0xff;delay(100);i+;if(k1=0)delay(10);if(k1=0)P1=0xff;flag+;delay(10);while(!k1);/檢測是否松開按鍵delay(20);while(!k1);break;/*函數功能:數碼管上的顯示*/voiddisplay(void)/顯示函數unsignedintshi,ge;shi=flag/10;/取十位ge=flag%10;/取個位P2=tableshi;/送十位數delay(1);P3=tablege;/送
17、個位數delay(1);*函數功能:按鍵檢測*/voidkey_detect()if(k1=0)delay(10);if(k1=0)flag+;while(!k1);/檢測是否松開按鍵relseif(k2=0)delay(10);if(k2=0)switch(flag)case1:left_loop();break;case2:right_loop();break;case3:increase();break;case10:ji_ou();break;default:other_program();while(!k2);/檢測是否松開按鍵r/*函數功能:延時入口參數:z*/voiddelay(
18、unsignedintz)unsignedintx,y;for(x=z;x>0;x-)for(y=619;y>0;y-);3、課程設計總結經過了兩周的忙碌,課程設計圓滿結束了,我在本次課程設計中主要負責程序的編寫和調試。剛開始看到課設要求時,感到完全無法下手,不知道該怎么把平時所學的每個元件的知識與要求聯(lián)系起來,后來經過和其他組員商量,決定先畫出程序流程圖,再從流程圖入手逐步找的每個環(huán)對應的元件。本課設所用程序為C語言,主要利用對加一按鍵的判斷對標志變量flag進行從1到10輪賦值,其中對按鍵的判斷中用到了典型的延時去抖程序。利用得到的flag值確定數碼管的段碼,將段碼直接賦給P口,控制數碼管的顯示。然后再判斷確定鍵按下后利用switch開關語句對flag進行判斷,調用對應的廣告燈子程序,控制P口的電平變化,來實現廣告流水燈的控制。在程序調試過程中,深切體會到了細節(jié)決定成敗這句話的正確性,平時再使用產品時總覺得道理很簡單,覺得按一下按鍵就是讓某個電路接通,可真正自己設計時才發(fā)現用程序去確定一次按鍵是要考慮很多因素的,就連斷開的一瞬間也得考慮到,利用這個電平變化來控制程序走向。每一點疏漏都會使目標無法完
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇省教育機構2025年度勞動合同規(guī)范文本2篇
- 2025年金融資產交易居間委托服務合同2篇
- 二零二五年度法院離婚案件財產分割操作合同3篇
- 2025年度綠化帶病蟲害防治服務合同范本4篇
- 二零二五年度醫(yī)療設備采購與租賃合同參考文本4篇
- 2025版模具行業(yè)市場調研與購銷合同4篇
- 2025年人才招聘解決方案合同
- 2025年古玩字畫擔保協(xié)議
- 2025年寬帶網絡使用合同
- 2025年融資居間服務合同的比較研究
- 2025年度版權授權協(xié)議:游戲角色形象設計與授權使用3篇
- 心肺復蘇課件2024
- 《城鎮(zhèn)燃氣領域重大隱患判定指導手冊》專題培訓
- 湖南財政經濟學院專升本管理學真題
- 全國身份證前六位、區(qū)號、郵編-編碼大全
- 2024-2025學年福建省廈門市第一中學高一(上)適應性訓練物理試卷(10月)(含答案)
- 《零售學第二版教學》課件
- 廣東省珠海市香洲區(qū)2023-2024學年四年級下學期期末數學試卷
- 房地產行業(yè)職業(yè)生涯規(guī)劃
- 江蘇省建筑與裝飾工程計價定額(2014)電子表格版
- MOOC 數字電路與系統(tǒng)-大連理工大學 中國大學慕課答案
評論
0/150
提交評論