所在位置 : 首頁 > 遊戲問答 > 詳情

倒計時器設計(單片機課程設計報告).

文章來源:網絡整理作者:囧茄發布時間:2023-03-24 09:11:03

《倒計時定時器設計(單片機課程設計報告)》。 由會員共享,可在線閱讀。 更多《倒計時定時器設計(單片機課程設計報告)》(32頁),請在人人文庫在線搜索。

一、學校課程設計報告 課程名稱:單片機原理與應用 課程設計主題:倒計時 系别:通信與控制工程系 專業:電子信息工程 班級:10年級 電信二班 學生姓名:張凡、杜斌 學号: , 起止日期: 2012年12月24日 2013年1月6日 指導教師: 教研室主任: 指導教師評價: 指導教師簽名: 年、月、日、成績、項目權重、成績、張帆、杜斌 1.設計過程中出勤、學習态度等0.22,課程設計質量與答辯0.53,設計報告撰寫與藍圖标準化水平0.3總分教研室審核意見:教研室主任簽字:年,月、日教學部審核意見:主任署名:年、月 日本本系統采用首款芯片,設計倒數計時器,

2、倒計時定時器可在數碼管上顯示倒計時時間,可通過按鍵設置時間,采用4位數碼管顯示,可實現5種倒計時模式,可通過按鍵選擇控制鍵9999s-0s、999s-0s、99s-0s、9s-0s,初始值為手動輸入-0s特性。 首先檢測按鍵,當相應的按鍵被按下時,進入相應的倒計時模式。 工作模式五為倒計時模式,初始值可調,初始值也由獨立按鍵設置。 定時器中斷 20 次後,即 1 秒後,初始值會自動減 1。 初始值減為零後,計時停止。關鍵詞:; 數碼管顯示; 獨立按鍵; 振蕩電路設計要求 11 方案論證與比較 11.1 方案一 11.2 方案二 11.3 方案比較與選擇 12 單元電路設計與計算 22.1 引言

3. 22.2 時鐘振蕩電路設計 32.3 複位電路設計 32.4 數碼管顯示電路設計 42.5 獨立按鍵電路設計 53 系統軟件設計 63.1 倒計時主程序流程 63.2 定時器工作流程 74 系統功能測試及總體指标 85 詳細儀器清單 96 總結與思考與緻謝 10 參考文獻 10 附錄 1:倒計時定時器 DXP 原理圖 1.1 附錄 2:倒計時定時器電路 PCB 闆圖 12 附錄 3:實物圖 13 附錄 4:程序 1417 倒計時定時器設計任務和要求單片機,倒計時時間顯示在數碼管上倒計時器,矩陣鍵盤設置的時間可以被單片機接受。 4位數碼管顯示,可實現5種倒計時模式,通過控制按鍵選擇9999s-0s、999s-0s、99

4. s-03 9s-0s,初始值為手動輸入-0s。 1 方案演示與對比 現在,定時器在很多領域都得到了廣泛的應用,比如體育比賽中的定時器; 遊戲倒計時; 交通信号燈、交通管制員、鬧鐘等。 可見倒計時在社會中的重要性。 當然,倒數計時器的設計方法有很多種,以下是兩種設計方案。 1.1 方案一是基于單片機的LCD液晶顯示模塊1602顯示的倒數計時器。 它主要由單片機控制,用按鍵設置倒計時初始值,用按鍵選擇倒計時初始值,夜景作為顯示模塊顯示倒計時時間。 1.2 方案二是基于單片機數碼管顯示模塊顯示的倒計時定時器,主要由單片機控制,通過按鍵設置初始倒計時時間。

5. 對于刻度值,按下按鈕選擇倒計時的初始值。 采用基于軟件的接口方式,即不使用專門的硬件解碼器,而是使用軟件程序進行解碼。 1.3 方案對比與選擇 對比兩種方案,我們發現方案2總體上優于方案1。首先,方案1的硬件電路雖然簡單,但成本高,編寫程序難度大實現需要的功能,而方案2中使用的顯示模塊是比較熟悉的數碼管,編程比較容易,電路成本也不高。 因此,經過綜合考慮,決定采用方案2。 2單元電路設計 LED數碼管倒計時定時器以正則芯片為核心,起控制作用。 該系統包括四位數碼管顯示電路、按鍵電路、複位電路、時鐘振蕩電路。倒計時整體框圖如下圖1所示: 圖1 倒計時整體框圖 2.1介紹

6. 具有 8K 系統内可編程閃存的低功耗、高性能預 CMOS 微控制器。 在單個芯片上,它具有智能 8 位 CPU 和系統内可編程閃存,使其成為許多嵌入式控制應用系統的高度靈活和超高效的解決方案。 具有以下标準特性: 8k字節Flash,512字節RAM 32位I/O口線,看門狗定時器,内置4KB位電路,2個16位定時器/計數器,1個6向量2級中斷結構,線路端口為全雙工。 此外,它還可以降為 0Hz 靜态邏輯操作,并支持 2 種軟件可選擇的省電模式。 在空閑模式下,CPU停止工作,允許RAM定時器/計數器、串口和中斷繼續工作。掉電保護

7、在保護模式下,RAM的内容被保存,振蕩器被凍結,單片機的所有工作停止,直到下一次中斷或硬件複位。 最高工作頻率為35MHz 6T/12T可選。 UIP1.1.T2EX Pl.2 Pl.3 P1.4.TNT2 pi.s.intJ Pl TNH3 Pl."lNT*P3.C.RXDG P3.1 TXDC Pa.XWTG P3.3.1NT1 P3.4F) P3 ,5-Tl P3.AQ- P3.7.-RI>ftST AL£ PSEN Gun vccPO.O-ADO P0.1 ADI M.1AD2 P0.3.AD3 M.4.AD4 PO.5.AD5 PO.iS .AI>PD.7.&

8. #39;ADP1.0.-A&P2.1.A&P2.2A1©P2.3A11 P2.4/A12 M.5.A13 P2.t5 AHXL 圖2 引腳圖 2.2 時鐘振蕩電路設計 MCU 必須時鐘 It隻能在驅動下工作。 單片機内部有時鐘振蕩電路。 隻要外部振蕩源能産生一定的時鐘信号,送到單片機内部的各個單元,就決定了單片機的工作速度。 本系統采用内部時鐘方式。 時鐘電路如下圖2所示。 通常使用石英晶體振蕩器。 振蕩器在上電延時約10ms後開始振蕩,并在XTAL2引腳産生幅度約為3V的正弦波時鐘信号。 振蕩頻率主要由石英晶體的頻率決定。

9、電路中的兩個電容C1、C2有兩個作用:一是幫助振蕩器起振; 另一種是微調振蕩器的頻率。 本系統C1、C2取值為30pf。 < XTAL 圖3 時鐘振蕩電路 2.3 複位電路設計 在上電或複位過程中,控制CPU複位狀态:讓CPU在此期間一直處于複位狀态,而不是一上電或剛複位就開始工作,防止 CPU 發出錯誤指令和執行錯誤操作也可以提高 EMC 性能。 無論用戶使用哪種類型的單片機,​​都涉及到單片機複位電路的設計。 單片機複位電路的設計直接影響到整個系統的可靠性。很多用戶設計了單片機系統倒計時器,并在實驗室調試成功,但存在“死機”、“程序飛”等現象當場。 這主要是由于單片機的複雜性

10、位電路設計不可靠造成的。 基本複位方法 基本複位方法 基本複位方法 單片機在啟動時需要進行複位,使CPUS系統的各個部件處于一定的初始狀态,并從初始狀态開始工作。 89系列單片機的複位信号由RST引腳輸入到芯片中的施密特觸發器。 當系統處于正常工作狀态且振蕩器穩定時,如果RST引腳出現高電平并保持2個機器周期以上(24個振蕩周期),CPUB可以響應并複位系統。 單片機系統的複位方式有:手動按鍵複位和上電複位。 在本系統中,我們選擇手動按鍵複位,需要人為給複位輸入端RST加一個高電平(圖1)。 一般的方法是在RST端和電源正極Vcc之間接一個按鈕,當人為按下時

11、按下按鈕時,Vcc的+5V電平會直接加到RS基極上。 手動按鈕複位電路如圖所示。 無論人移動多快,按鈕都會保持連接幾十毫秒,完全可以滿足複位的時間要求。 °; 1-JIt 複位電路 侬VCC-7- 圖4 複位電路 2.4 數碼管顯示電路設計 LED數碼管(LED)是由多個發光二極管封裝在一起組成的“8”字形器件。 内部連接都搞定了,隻引出各自的筆畫,公共電極。 LED數碼管常用的段數一般為7段,有的加小數點,有的類似于3位“+1”型。有半數,1、2、3、4、 5、6、8、10位等,LED數碼管根據LED的接法不同

12、分為共陰極和共陽極,了解LED的這些特性對于編程是非常重要的,因為不同類型的數碼管除了硬件電路外還有不同的編程方法。 共陰、共陽數碼管的内部電路發光原理相同,隻是供電極性不同。 顔色有紅、綠、藍、黃等。 LED數碼管廣泛應用于儀器、鐘表、車站、家電等場合。 選擇時要注意産品尺寸、顔色、功耗、亮度、波長等。 這裡我們使用8段數碼管顯示(包括小數點),通常我們使用兩種顯示方式:一種是靜态顯示,一種是動态顯示。其中靜态顯示的特點是顯示是穩定不閃爍,編程簡單,但占用端口資源多,功耗大; 動态顯示的特點是顯示穩定性不如靜态,編程難度更大

13、複雜,但比靜态顯示占用端口資源少。 本設計中,為了減少端口資源,降低功耗,采用了動态顯示的方式。 本系統倒計時時間的最大量程為9999S,要顯示最大量程的值,由此可知,數碼管顯示電路需要用4個數碼管YCt”1代fYOC來産生一個,R5Vb為store one I, 匚YQC butt one t Class vcc Q 顯示電路圖 5 數碼管顯示電路原理圖 2.5 獨立按鍵電路設計 通過5個獨立按鍵控制5種不同的工作模式,由于第5種工作模式是可調倒計時模式,因此增加了四個調整初始值的按鈕,一個定時啟/停按鈕 圖6 獨立按鍵電路 圖3 系統軟件設計 3.1 倒數定時器主程序流程圖 程序開始時,首先設置定時器0,首先設置定時器,定時器設置初始值。

14.檢測按鍵是否按下,如果有按鍵按下,則進入相應的倒計時模式。 定時器0的定時時間為50ms。 變量aa每進入一次定時中斷自動加1。 當 aa 等于 20 時,它計為一秒。 此時定時器清零,重新賦初值,将之前設置的倒計時初值num自動減1,同時進行相關顯示。 圖7主程序流程圖 3.2中斷定時器0的程序流程 定時器0的定時時間為50ms,用于掃描數碼管顯示。 當定時器 0 打開時,定時器 0 開始計時。 此時主程序運行正常。 當定時器0計時時間到,主程序不執行,開始進入中斷程序。 中斷程序中,如果時間為1s,則處理完時間并清零計數标志,賦值給相應的變量并減1,如果不是則計數标志加1,如果倒計時時間為零

15、重新賦值,中斷程序執行完畢後返回主程序。 如圖8所示。 圖8定時器0中斷程序流程圖 4 系統功能測試 硬件調試的主要任務是排除硬件故障,包括設計錯誤和工藝故障。 1、離線檢查:用萬用表根據電路原理圖一步步檢查印制電路中所有器件的引腳,特别是電源是否連接正确:檢查數據總線、地址總線和控制是否正确母線有短路故障,時序是否正确。 正确的; 檢查各開關按鈕是否能正常切換,連接是否正常; 各限流電阻是否短路等。為了保護芯片,先檢查各IC的電位,确認無誤後再插入芯片進行檢查。 2、在線調試:暫時拔下89C52芯片,将仿真器40插入89C52芯片插座進行調試,檢查鍵盤/顯示接口電路是否滿足設計要求

16、可以使用一些簡單的測試軟件來檢查接口是否正常工作。 比如我們可以設計一個軟件,讓89C52的P1、P2口輸出55H或AAH,同時讀取P3口。 運行後用萬用表檢測對應端口電平是否為一高一低。 8位是否為1,如果正常,說明89C52工作正常。 也可以設計一個靜态顯示程序,讓所有的LED都顯示“8”。 檢查 LED 是好是壞。 如果運行測試結果不符合預期,很容易根據故障現象判斷故障原因,采取有針對性的措施排除故障。 起初,數碼管的亮度并不理想。 經檢查發現是段選擇電阻(P0口接限流電阻)偏大。 最後換一個470歐的電阻後,數碼管顯示正常。軟件調試的任務是使用開發工具

17、進行在線仿真調試,發現并改正程序錯誤,同時也發現硬件故障。 程序的調試應逐個模塊進行。 首先對各個功能子程序分别進行調試,檢查程序是否能實現預期的功能,接口電路的控制是否正常等,最後将子程序逐級連接起來進行聯調。 本系統的編程是在Keil C軟件中用C語言完成的。 程序中使用了定時器。 為了使倒計時時間準确,必須計算定時器的初值。 程序完成後,會生成一個 HEX 文件。 然後用軟件模拟。 經過模拟和實際測試,在實際使用中完全沒有出現閃爍現象。 程序中,定時器每50ms中斷一次,變量aa自增。 中斷20次後,秒顯示遞減,誤差很小,約為0.1%。電路中的五個按鍵可以

18、分别用于設置倒計時的計數範圍,系統由5V電源驅動。 經測試分析,系統穩定可用,滿足設計要求。 5 詳細儀器清單表 1 儀器清單 儀器名稱 數量獨立按鍵 10 USB 接口 1 個開關 2 四位共陰數碼管 1 晶振電阻 8200R 電阻 830PF 電容 28.2K 電阻 1470R 電阻 122UF 電容 16 總結與緻謝 在設計過程中倒計時課程設計 在實習期間,我深刻體會到實踐是對理論應用的最好檢驗。 本次設計是對我本學期所學知識的綜合檢驗和檢驗。 動手能力和理論知識的應用能力都得到了提高。 同時加深了我對網絡資源的了解,大大提高了我查閱資料的能力。 和效率,讓我可以有更多的時間來設計軟件部分。這個系統需要我們

19、必須有豐富的編程經驗,能看懂單片機開發闆的原理圖,熟悉那些I/O口的功能,能準确運用數字等各種知識力量。 在軟件調試的過程中,我學到了很多,掌握了一些調試軟件的方法。 在仿真圖和設計電路圖的設計中,對Keil、Keil等軟件的掌握更加牢固,設計的基于單片機的倒計時定時器精度高,滿足應用要求。 本次課程設計使我掌握了很多實踐知識。 在老師和同學的幫助下,我對單片機有了更進一步的了解。 這次課程設計對我來說意義深遠,它讓我對未來看得更清楚。 在這裡,我要對那些傳授我知識的老師們表示深深的感謝。 是你們的無私奉獻,造就了今天有一定知識的我們。參考文獻1 朱定華,戴如萍

20. 單片機原理與應用 M 北京:清華大學出版社,20032 樓然淼,李光飛. 單片機課程設計指導 M. 北京航空航天大學出版社,20073 張鑫,單片機原理與應用(第2版) M.電子工業出版社,20104 譚浩強。 C程序設計(第二版) 清華大學出版社,1999 附錄一:倒計時定時器DXP原理圖 附錄二:倒計時定時器電路PCB闆圖K 附錄三:物理圖 附錄四:程序# /* 設計者:杜斌,張Fan*/# uchar char# uint ; ; 圖表

21. emp41;char ,a;char code duan=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;=P280;sbit key2= P2A1; =P282;key4=P283;sbit key5=P3A6;sbit =P3A5; sbit=P2A4; sbit=P2A5; =P2A6; sbit JIAGE=P2A7;uint num1=9999,num2=99

22, 9, num3=99, num4=9, num5=0, t, i; 無效延遲(uint t); void main() P1=0xf0; P0=0x3f; TMOD=0x01; TH0=(65536-50000) /256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;while(1)if(key1=0)delay(10);if(key1 =0)鍵1=0; 對于(我= 0;我

23.;P0=;延遲(6);如果(key2=0)延遲(10);如果(key2=0)key2=0;for(i=0;i

24.);if(key4=0)delay(10);if(key4=0)key4=0;P1=0xfe;for(i=0;)num5=0;while(!);delay(20); while(!);if(=0)delay(10);if(=0)num5=num5+100;if(num5>10000)num

25. 5=0;while(!);delay(20);while(!);if(=0) delay(10);if(=0)num5=num5+10;if(num5>10000)num5= 0;while(!);delay(20);while(!);if(JIAGE=0)delay(0);num5=num5+1;if(num5>10000)while(!JIAGE);delay(20) ;while(!JIAGE);for(i=0;i

26. =0xfd;中斷;案例 2:P1=0xfb;中斷;案例 3:P1=0xf7;中斷;P0=;延遲(6); 延遲(uint t)uint i,j;for(i=0;i

27. mp13=/1000;if(num1=0)P0=0x3f;EA=0;numi-;if(key2=0)=;=/10;=/100;P0=0x3f;EA=0;num2- ;if(key3=0)=;=/10;if(num3=0)P0=0x3f;EA=0; num3-;27if(key4=0)=;if(num4=0)P0=0x3f;EA=0;num4-;if(key5=0)=;=/10;=/100;=/1000;P0= 0x3f;如果(!)&&(num5>0) num5-;#

高考倒計時器

高考倒計時器

類型:休閑遊戲大小: 131MB

玩法:高考倒計時器

立即下載