版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、XXXXXXXXXXX 學校課程設計報告課程名稱:單片機原理及應用課程設計設計題目:倒計時器系別:通信與控制工程系專業(yè):電子信息工程班級:10級電信2班學生姓名:張帆杜斌學號:10409203、10409221起止日期:2012年12月24日 2013年1月6日指導教師:教研室主任:指導教師評語:指導教師簽名:年月日成績 評 疋項目權(quán)重成績張帆杜斌1、設計過程中出勤、學習態(tài)度等方面0.22、課程設計質(zhì)量與答辯0.53、設計報告書寫及圖紙規(guī)范程度0.3總成績教研室審核意見:教研室主任簽字:年月日教學系審核意見:主任簽字:年月日本系統(tǒng)采用STC89C52乍為主控芯片,設計一款的倒計時器,該倒計時器
2、能在 數(shù)碼管顯示倒計時的時間,時間可由按鍵進行設定,4位數(shù)碼管做顯示,能夠?qū)崿F(xiàn)5種倒計時模式,通過控制按鍵進行選擇 9999s-0s、999s-0s、99s-0s、9s-0s、 開始值由人工輸入-0s的特點。首先檢測按鍵,當相應的按鍵按下時,進入相應 的倒計時方式。工作方式五為可調(diào)初值的倒計時方式,初值也是通過獨立按鍵來 設定。定時中斷二十次后即一秒后,初值自動減一。當初值減到零后,計時停止。 關(guān)鍵詞:STC89C52;數(shù)碼管顯示;獨立按鍵;振蕩電路設計要求11方案論證與對比11.1方案一11.2方案二11.3方案對比與選擇12單元電路設計與計算22.1 STC89C52 簡介22.2時鐘振蕩
3、電路的設計32.3復位電路的設計 32.4數(shù)碼管顯示電路的設計42.5獨立按鍵電路的設計 53系統(tǒng)軟件設計63.1倒計時主程序流程 63.2定時器工作流程74系統(tǒng)功能測試與整體指標85詳細儀器清單96總結(jié)與思考及致謝 10參考文獻10附錄一:倒計時器 DXP原理圖 11附錄二:倒計時器電路 PCB板圖12附錄三:實物圖13附錄四:程序145倒計時器設計任務與要求本項目是由單片機執(zhí)行設定的程序, 在數(shù)碼管顯示倒計時的時間,且能由單 片機接受矩陣鍵盤設定的時間。由4位數(shù)碼管做顯示,能夠?qū)崿F(xiàn)5種倒計時模式, 通過控制按鍵進行選擇 9999s-0s 999s-0s、99s-0s 9s-0s、開始值由人
4、工輸入-Os。1方案論證與對比現(xiàn)在,在許多領域中,定時器得到了廣泛的應用,比如在體育比賽中的計時 器;游戲中的倒計時;紅綠燈,交通控制器,鬧鐘等等。可見倒計時器在社會中 的重要性。當然,設計倒計時器的方法很多,以下是兩個設計方案。1.1方案一基于STC89S52單片機的LCD液晶顯示模塊1602顯示的倒計時器。主要是以 單片機來控制,用按鍵來設定倒計時初始時刻的值,用按鍵來進行倒計時初值的 選擇,LCD1602液晶作為顯示模塊來顯示倒計時間。1.2方案二基于STC89S52單片機的數(shù)碼管顯示模塊顯示的倒計時器。主要是以單片機來控制,用按鍵來設定倒計時初始時刻的值,按鍵來進行倒計時初值的選擇。
5、采用以軟件為主的接口方法,即不使用專門的硬件譯碼器,而采用軟件程序進行譯 碼。1.3方案對比與選擇比較兩個方案,我們發(fā)現(xiàn),方案二總體比方案一好。首先方案一雖然硬件電 路簡單,但造價較高,且在編寫程序?qū)崿F(xiàn)所要求的功能時較難,而方案二所用的顯示模塊是比較熟悉的數(shù)碼管,編寫程序是相對容易,且電路造價不高,因此, 綜合考慮之后決定采用方案二。2單元電路設計LED數(shù)碼管倒計時器以STC89C5單片機為核心,起著控制作用,系統(tǒng)包括四 位數(shù)碼管顯示電路,按鍵電路,復位電路,時鐘振蕩電路。倒計時的總體框圖如 下圖1所示:圖1倒計時的總體框圖2.1 STC89C52 簡介STC89C52是一種低功耗、高性能 C
6、MOS位微控制器,具有8K在系統(tǒng)可編 程Flash存儲器。在單芯片上,擁有靈巧的 8位CPU和在系統(tǒng)可編程Flash, 使得STC89C52為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。具 有以下標準功能:8k字節(jié)Flash,512字節(jié)RAM 32位I/O 口線,看門狗定 時器,內(nèi)置4KB EEPRO,MMAX81(復位電路,2個16位 定時器/計數(shù)器,一個6 向量2級中斷結(jié)構(gòu),全雙工串行口。另外 STC89X52可降至0Hz靜態(tài)邏輯操作, 支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM定時器 /計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被
7、凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復位為止。最高運作頻率 35MHz 6T/12T 可選。U1P1.0.-T2 P1.1.T2EXPl.2 Pl.3 P1.4.TNT2 Pl.S.lNTJ Pl.-gTNTI Pl.'lNT*P3.0.RXDG P3.1 TXIK:P3.3.1NT1Pm.4TG PjhSTlP3.A-Q"P3.7/RI>ftSTAL£ PSEN 駅GKDvccPO.O-ADO PO.l ADI M.1AD2 M.3.AD3 M.4.AD4 PO.5-AD5 PO.iS.HJMPD.7.-ADP1.0.-A&P2.1.A&a
8、mp;P2.2A1©P2.3A11 PS.AIS M.5.A13 P2.t5 AH P5.7/A13XIX2-3TCB9C-52CPU圖2 STC89C52引腳圖2.2時鐘振蕩電路的設計單片機必須在時鐘的驅(qū)動下才能工作。在單片機內(nèi)部有一個時鐘振蕩電路,只要外界一個振蕩源就能產(chǎn)生一定的時鐘信號送到單片機內(nèi)部的各個單元,決定單片機的工作速度。本系統(tǒng)使用的是內(nèi)部時鐘方式。時鐘電路如下圖2所示。一 般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在XTAL2引腳產(chǎn)生幅度為3V左右的正弦波時鐘信號,其振蕩頻率主要由石英晶振的頻率 確定。電路中兩個電容 C1、C2的作用有兩個:一
9、是幫助振蕩器起振;二是對振 蕩器的頻率進行微調(diào)。本系統(tǒng)的 C1、C2的值為30pf。y< XTAL>鄧f丄1MCH3 Ti( XTAL$>圖3時鐘振蕩電路2.3復位電路的設計在上電或復位過程中,控制 CPU勺復位狀態(tài):這段時間內(nèi)讓 CPU保持復位狀態(tài),而不是一上電或剛復位完畢就工作, 防止CPU發(fā)出錯誤的指令、執(zhí)行錯誤操 作,也可以提高電磁兼容性能。 無論用戶使用哪種類型的單片機,總要涉及到單 片機復位電路的設計。而單片機復位電路設計的好壞 ,直接影響到整個系統(tǒng)工作 的可靠性。許多用戶在設計完單片機系統(tǒng),并在實驗室調(diào)試成功后,在現(xiàn)場卻出現(xiàn) 了 “死機”、“程序走飛”等現(xiàn)象,這
10、主要是單片機的復位電路設計不可靠引起的。 基本的復位方式基本的復位方式基本的復位方式基本的復位方式單片機在啟動時都需要復位,以使CPUS系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。 89系列單片機的復位信號是從 RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。當 系統(tǒng)處于正常工作狀態(tài)時,且振蕩器穩(wěn)定后,如果RST引腳上有一個高電平并維 持2個機器周期(24個振蕩周期)以上,則CPU就可以響應并將系統(tǒng)復位。單片 機系統(tǒng)的復位方式有:手動按鈕復位和上電復位。此系統(tǒng)我們選用了手動按鈕復 位,手動按鈕復位需要人為在復位輸入端 RST上加入高電平(圖1)。一般采用 的辦法是在RST端和正電源Vcc之間接一
11、個按鈕。當人為按下按鈕時,則 Vcc 的+5V電平就會直接加到RST端。手動按鈕復位的電路如所示。由于人的動作再 快也會使按鈕保持接通達數(shù)十毫秒,所以,完全能夠滿足復位的時間要求。勺(如復位電路T0K圖4復位電路2.4數(shù)碼管顯示電路的設計led數(shù)碼管(LED Segment Displays )是由多個發(fā)光二極管圭寸裝在一起組成“ 8”字型的器件,弓I線已在內(nèi)部連接完成,只需引出它們的各個筆劃,公共電極。led數(shù)碼管常用段數(shù)一般為7段有的另加一個小數(shù)點,還有一種是類似于 3 位“+T型。位數(shù)有半位,1, 2,3, 4,5, 6,8,10位等等.,led數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽兩
12、類,了解LED的這些特性,對編程是很重 要的,因為不同類型的數(shù)碼管,除了它們的硬件電路有差異外,編程方法也是不 同的。共陰和共陽極數(shù)碼管的內(nèi)部電路, 它們的發(fā)光原理是一樣的,只是它們的 電源極性不同而已。顏色有紅,綠,藍,黃等幾種。led數(shù)碼管廣泛用于儀表,時鐘,車站,家電等場合。選用時要注意產(chǎn)品尺寸顏色,功耗,亮度,波長等。 在這里我們使用的是8段數(shù)碼管顯示(包含小數(shù)點),通常在顯示上我們采用的 方法一般包括兩種:一種是靜態(tài)顯示,另一種是動態(tài)顯示。其中靜態(tài)顯示的特點 是顯示穩(wěn)定不閃爍,程序編寫簡單,但占用端口資源多,所耗得電能較大;動態(tài) 顯示的特點是顯示穩(wěn)定性沒靜態(tài)好, 程序編寫復雜,但是相
13、對靜態(tài)顯示而言占用 端口資源少。在本設計中,為了減少端口資源,降低電能消耗,采用的是動態(tài)顯 示方法。本系統(tǒng)的倒計時時間的最大范圍是 9999S,要顯示出最大范圍的值,從 而可知數(shù)碼管顯示電路要用到 4位數(shù)碼管。顯不電路圖5 數(shù)碼管顯示電路原理圖2.5獨立按鍵電路設計通過5個獨立按鍵控制不同的5種工作方式。因為第五種工作方式為可調(diào)的 倒計時模式,所以另外加了四個調(diào)初始值的按鍵,一個計時開始/停止鍵。獨立按嚏電略圖6獨立按鍵電路圖3系統(tǒng)軟件設計3.1倒時計器主程序流程圖程序的的開始時先設定定時器0,先給定時,器裝初值。檢測按鍵是否按下, 如果有按鍵按下,進入相應的倒計時方式。定時器0的定時時間是5
14、0ms,每當進入定時中斷一次變量aa自動加一,當aa等于20時即為計時一秒,此時計時器 清零,重新賦初值,并且之前設定的倒計時初值num值自動減一,同時進行相關(guān) 的顯示。圖7主程序流程圖3.2定時器0的中斷程序流程定時器0的定時時間是50ms用作掃描數(shù)碼管顯示,在定時器0開啟時,定 時器0開始定時,此時主程序正常運行,當定時器0的定時時間到時,主程序不 在執(zhí)行,開始進入中斷程序,在中斷程序中,若計時了1s就對時間進行處理且計數(shù)標志清零,賦值給相應的變量且減 1,若沒有則計數(shù)標志就進行加1,若倒 計時的時間為零則重新賦值,中斷程序執(zhí)行完后返回主程序。如圖8所示。圖8定時器0的中斷程序流程圖84系
15、統(tǒng)功能測試硬件調(diào)試的主要任務是排除硬件故障,其中包括設計錯誤和工藝性故障。1、 脫機檢查:用萬用表逐步按照電路原理圖檢查印制電路中所有器件的各引腳,尤其是電源的連接是否正確:檢查數(shù)據(jù)總線、地址總線和控制總線是否有短路等故 障,順序是否正確;檢查各開關(guān)按鍵是否能正常開關(guān),是否連接正常;各限流電 阻是否短路等內(nèi)容。為了保護芯片,應先對各 IC電位進行檢查,確定其無誤后 再插入芯片檢查。2、聯(lián)機調(diào)試:暫時拔掉89C52芯片,將仿真器的40仿真插入 89C52的芯片插座進行調(diào)試,檢驗鍵盤/顯示接口電路是否滿足要求設計??梢?通過一些簡單的測軟件來查看接口工作是否正常。 例如,我們可以設計一個軟件, 使
16、89C52的P1、P2 口輸出55H或AAH,同時讀P3 口,運行后用萬用表檢查相 應端口電平是否一高一低,在仿真器中檢查讀入的P3 口 8位是否為1,如果正常則說明89C52正常工作。還可以設計一個使所有 LED全顯示“ 8.”的靜態(tài)顯 示程序來檢驗LED的好壞。如果運行測試結(jié)果與預期不符,很容易根據(jù)故障現(xiàn) 象判斷故障原因并采取針對性措施排除故障。開始時,數(shù)碼管的亮度不夠理想。 經(jīng)檢查知,是段選電阻(接 P0 口的限流電阻)太大。最后,換成 470歐的電阻 后,數(shù)碼管顯示正常。軟件調(diào)試的任務是利用開發(fā)工具進行在線仿真調(diào)試,發(fā)現(xiàn)和糾正程序錯誤, 同時也能發(fā)現(xiàn)硬件故障。程序的調(diào)試應一個模塊一個模
17、塊地進行, 首先單獨調(diào)試 各功能子程序,檢驗程序是否能夠?qū)崿F(xiàn)預期的功能,接口電路的控制是否正常等. 最后逐步將各子程序連接起來進行聯(lián)調(diào)。本系統(tǒng)的程序的編寫就是在Keil C軟件中用C語言完成的。在程序中用到了一個定時器,為了使倒計時的時間準確, 必須計算對定時器的初值,當程序完成之后,生成HEX文件。再利用Proteus軟件進行仿真。經(jīng)過仿真和實際測試,在實際使用時完全沒有閃爍。在程序中,定時器50ms 中斷一次,變量aa自增,中斷20次時,秒的顯示自減,誤差很小大約為 0.1%。 電路中的五個按鍵可以分別用來設定倒計時的計數(shù)范圍,系統(tǒng)由5V電源來驅(qū)動。經(jīng)過測試與分析,此系統(tǒng)穩(wěn)定可用,滿足設計
18、要求。5詳細儀器清單表格1儀器清單儀器名稱數(shù)量STC89C521獨立按鍵10USB 接口1開關(guān)2四位共陰極數(shù)碼管1晶振12M11K電阻8200R電阻830PF電容28.2K電阻1470R電阻122UF電容1106總結(jié)與致謝在設計倒計時器課程設計的過程中,我深切體會到,實踐是理論運用的最 好檢驗。本次設計是對我這一學期所學知識的一次綜合性檢測和考驗,無論是動手能力還是理論知識運用能力都得到了提高,同時加深了我對網(wǎng)絡資源認識,大大提高了查閱資料的能力和效率,使我有能有更多的時間去設計軟件部分。 本系 統(tǒng)要求我們要有豐富的編程經(jīng)驗,還要能會看單片機開發(fā)板原理圖,能熟悉那些 I/O 口的作用,且能夠準
19、確的運用數(shù)電等多方面的知識。在軟件調(diào)試過程中,我 學會不少的東西,掌握一些調(diào)試軟件的方法。在設計仿真圖和設計電路圖中,對 Proteus、Keil和Protel等軟件掌握的更加牢固,而且所設計的基于單片機的 倒計時器,精確度高,達到了應用要求這次課程設計使我掌握了很多實踐知識, 在老師和同學的幫助下對單片機有了進一步的了解。這次課程設計對我來說有著 深遠的意義,讓我對未來的路又看得清楚了些。 在此我要深深的感謝那些傳授我 知識的老師們,是你們無私的奉獻,才會有如今掌握一定知識的我們。11參考文獻1朱定華,戴汝平單片微機原理與應用M北京:清華大學出版社,20032樓然苗,李光飛單片機課程設計指導
20、M.北京航空航天大學出版社,20073張鑫,單片機原理及應用(2版)M.電子工業(yè)出版社,20104譚浩強著 C程序設計(第二版)M.清華大學出版社,199912附錄一:倒計時器 DXP原理圖13#口BB0E口14附錄二:倒計時器電路 PCB板圖訐JCISdin16附錄三:實物圖17附錄四:程序#include <reg52.h>/* 設計者:杜斌、張帆 */#defi ne uchar un sig ned charchar#defi ne uint un sig ned intchar temp14; char temp23; char temp32; temp41;char t
21、emp54,a;sbitchar code dua n=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;sbitkey仁 P2A0;sbitkey2=P2A1;sbitkey3=P2A2;key4=P2八3;sbit key5=P3A6;sbit start5=P3A5; sbit JIAQIAN=P2A4; sbit JIABAI=P2A5; sbitJIASHI二卩2八6; sbit JIAGE二P2"7;uint num仁9999, nu m2=999, nu m3
22、=99, nu m4=9, nu m5=0,t,i;void delay( uint t);void mai n()P1=0xf0;P0=0x3f;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;while(1)if(key仁=0)delay(10);if(key仁=0)key 仁0;for(i=0;i<4;i+)switch(i)case 0:P1=0xfe;break;case 1:P1=0xfd;break;case 2:P1=0xfb;break;case 3:P1=0xf7;break
23、;20P0二temp1i;delay(6);if(key2=0)delay(IO);if(key2=0)key2=0;for(i=0;i<3;i+)switch(i)case 0:P1=0xfe;break;case 1:P1=0xfd;break;case 2:P1=0xfb;break;P0=temp2i;delay(6);if(key3=0)delay(10);if(key3=0)key3=0;if (key3=0)for(i=0;i<2;i+)22switch(i)case 0:P1=0xfe;break;case 1:P1=0xfd;break;P0=temp3i;del
24、ay(6);if(key4=0)delay(10);if(key4=0)24key4=0;P1=0xfe; for(i=0;i<1;i+) P0=temp4i;delay(6); if(key5=0)delay(10);if(key5=0)key5=0;if(JIAQIAN=O)delay(10);if(JIAQIAN=0) num5=n um5+1000;if(n um5>10000) nu m5=0;while(!JIAQIAN);delay(20); while(!JIAQIAN);if(JIABAI=0)delay(10);if(JIABAI=0)num5二nu m5+100;if(n um5>10000) nu m5=0;while(!JIABAI); delay(20);while(!JIABAI);if(JIASHI=O)delay(10);if(JIASHI=0)num5二nu m5+10;if(n um5>10000)nu m5=0;while(!JIASHI);delay(20);while(!JIASHI);if(JIAGE=O)delay(0);num5二nu m5+1;if(n um5>10000)27nu m5=0;while(!JIAGE);delay(20);while(!JIAGE);for(i=0;i<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國彈性墻面涂料行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國無塑餐盒封口紙行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 山東省日照市莒縣高三上學期期末考試(語文)試卷(含答案)
- 吊車租賃合同范本參考
- 2025加盟合同書樣式
- 貨車包月合同范本
- 范文環(huán)保驗收合同范本
- 裝修管理服務合同范本
- 搭棚施工承包合同
- 2025技術(shù)許可合同
- 五年級上冊口算練習1000題及答案
- 五年級數(shù)學(小數(shù)四則混合運算)計算題及答案匯編
- 數(shù)學六年級上冊《弧長》課件
- 體檢科運營可行性報告
- 廣東省廣州市黃埔區(qū)2023-2024學年八年級上學期期末生物試卷+
- 北京市豐臺區(qū)市級名校2024屆數(shù)學高一第二學期期末檢測模擬試題含解析
- 設立項目管理公司組建方案
- 薪酬戰(zhàn)略與實踐
- 答案之書(解答之書)-電子版精選答案
- 中國古代文學史 馬工程課件(上)01總緒論
- 上海中心大廈-介紹 課件
評論
0/150
提交評論