版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、武漢理工大學(xué)華夏學(xué)院單片機原理與接口技術(shù)課程設(shè)計單片機原理與接口技術(shù)課程設(shè)計題 目: 數(shù)字電子表設(shè)計 學(xué)院(系): 信息工程系 年級專業(yè): 學(xué) 號: 學(xué)生姓名: 指導(dǎo)教師: 基于單片機數(shù)字電子表的設(shè)計 摘 要 隨著電子技術(shù)的發(fā)展,計算機在現(xiàn)代科學(xué)技術(shù)的發(fā)展中起著越來越重要的作用。多媒體技術(shù)、網(wǎng)絡(luò)技術(shù)、智能信息處理技術(shù)、自適用控制技術(shù)、數(shù)據(jù)挖掘與處理技術(shù)等都離不開計算機。本課程設(shè)計是基單片機原理與接口技術(shù)的簡單應(yīng)用。運用所學(xué)的單片機原理和接口技術(shù)知識完成數(shù)字電子表的設(shè)計。電子表已成為人們?nèi)粘I钪斜夭豢缮俚谋匦杵?,廣泛用于個人家庭以及辦公室等公共場所,給人們的生活、學(xué)習(xí)、工作、娛樂帶來極大的方便
2、。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進的石英技術(shù),使電子表具有走時準(zhǔn)確、性能穩(wěn)定、攜帶方便等優(yōu)點,它還用于計時、自動報時及自動控制等各個領(lǐng)域。盡管目前市場上已有現(xiàn)成的電子表集成電路芯片出售,價格便宜、使用也方便,但鑒于電子表電路的基本組成包含了數(shù)字電路的主要組成部分,因此進行電子表的設(shè)計是必要的,用c語言設(shè)計電子表顯示程序,要求根據(jù)輸入程序顯示電子表畫面。研究電子表及擴大其應(yīng)用,有著非?,F(xiàn)實的意義。關(guān)鍵詞 led,定時/計器數(shù), c語言,調(diào)試,運行。 目錄前言5第一章 數(shù)字電子表的設(shè)計要求與設(shè)計方案61.1 課程設(shè)計的目的61.2 要求完成的主要任務(wù)61.3 設(shè)計方案6第二章 數(shù)字電子表的硬
3、件設(shè)計82.1 電子表的硬件框圖82.2 輸入、輸出顯示電路設(shè)計92.3 系統(tǒng)總電路圖 9第三章 數(shù)字電子表的軟件設(shè)計103.1 主程序流程圖103.2 中斷程序設(shè)計103.3 顯示處理程序設(shè)計123.4 電子表主程序設(shè)計13第四章 數(shù)字電子表的安裝與調(diào)試174.1 硬件調(diào)試17 4.2 軟件調(diào)試174.3 調(diào)試過程17第五章 設(shè)計體會與小結(jié)18 5.1 總結(jié)設(shè)計體會與心得18附錄19參考文獻213前言單片機課程設(shè)計是電子技術(shù)學(xué)習(xí)中非常重要的一個環(huán)節(jié),是將理論知識和實踐能力相統(tǒng)一的一個環(huán)節(jié),是真正鍛煉學(xué)生能力的一個環(huán)節(jié)。在生活中,數(shù)字電子表的優(yōu)點受到人們的歡迎,在很多場合得到了廣泛的應(yīng)用。單片
4、原理及應(yīng)用是一門技術(shù)性、應(yīng)用性很強的學(xué)科,實踐教學(xué)是它的一個極為重要的環(huán)節(jié)。不論是硬件擴展、接口應(yīng)用還是編程方法、程序調(diào)試,都離不開實驗教學(xué)。如果不在切實認(rèn)真地抓好學(xué)生的實踐技能的鍛煉上下功夫,單憑課堂理論課學(xué)習(xí),勢必出現(xiàn)理論與實踐脫節(jié)的局面。任隨書本上把單片機技術(shù)介紹得多么重要、多么實用多么好用,同學(xué)們?nèi)匀粫械侥侵皇强罩袠情w,離自己十分遙遠(yuǎn),或者會感到對它失去興趣,或者會感到它高深莫測無從下手,這些情況都會令課堂教學(xué)的效果大打折扣。本次仿真設(shè)計的目的就是讓同學(xué)們在理論學(xué)習(xí)的基礎(chǔ)上,通過完成一個涉及mcs52單片機都種資源應(yīng)用并具有綜合功能的數(shù)字電子表的設(shè)計與編程應(yīng)用,使學(xué)生不但能夠?qū)⒄n堂上
5、學(xué)到的理論知識與實際應(yīng)用結(jié)合起來,而且能夠?qū)﹄娮与娐贰㈦娮釉骷?、印制電路板等方面的知識進一步加深認(rèn)識,同時在軟件編程、排版調(diào)試、相關(guān)儀器設(shè)備的使用技能等方面得到較全面的鍛煉和提高,為今后能夠獨立進行某些單片機應(yīng)用系統(tǒng)的開發(fā)設(shè)計工作打下一定的基礎(chǔ)。該電子時鐘不但具有定時作用還有溫度采集作用。定時部分可以顯示時、分、秒,月,日,而且用按鍵還可以實現(xiàn)時間和日期的調(diào)整。在這次單片機課程設(shè)計中,同學(xué)們完成了單片機數(shù)據(jù)采集與定時系統(tǒng)的硬件電路設(shè)計。本次綜合實踐是在此基礎(chǔ)上,完成該系統(tǒng)的軟件設(shè)計與調(diào)試。待仿真成功后,再將程序燒寫入單片機中。第一章 數(shù)字電子表的設(shè)計要求與設(shè)計方案1.1 課程設(shè)計的目的 (1
6、)鞏固,加深和擴大單片機應(yīng)用的知識面,提高綜合及靈活運用所學(xué)知識解決工業(yè)控制的能力; (2)培養(yǎng)針對課題需要,選擇和查閱有關(guān)手冊,圖標(biāo)及文獻資料的自學(xué)能力,提高組成系統(tǒng),編程,調(diào)試的動手能力; (3)通過對課題設(shè)計方案的分析,選擇,比較,熟悉單片機用系統(tǒng)開發(fā),研制的過程,軟件硬件設(shè)計的方法,內(nèi)容及步驟。1.2要求完成的主要任務(wù):(1)成數(shù)字電子表的設(shè)計和調(diào)試。 (2)要求采用四位八段數(shù)碼管顯示時間和日期,并且可以用按鍵修改時間和日期。1.3 設(shè)計方案(1)系統(tǒng)結(jié)構(gòu) 整個電子時鐘系統(tǒng)電路可分為五大部分:中央處理單元(cpu)、電源電路部分、顯示部分
7、、鍵盤輸入部分。(2)顯示部分顯示部分是整個電子時鐘最為重要的部分,它為時間的顯示的顯示,共需要8位led顯示器。采用動態(tài)顯示方式,所謂動態(tài)顯示方式是時間(或溫度)數(shù)字在led上一個一個逐個顯示,它是通過位選端控制在哪個led上顯示數(shù)字,由于這些led數(shù)字顯示之間的時間非常的短,使的人眼看來它們是一起顯示時間數(shù)字的,并且動態(tài)顯示方式所用的接口少,節(jié)省了cpu的管腳。由于端口的問題以及動態(tài)顯示方式的優(yōu)越性,在此設(shè)計的連接方式上采用共陰級接法。顯示器led有段選和位選兩個端口,首先說段選端,它由led八個端口構(gòu)成,通過對這八個端口輸入的不同的二進制數(shù)據(jù)使得它的時間顯示也不同,從而可以得到我們所要的
8、時間顯示。(3)實現(xiàn)數(shù)字時鐘原理為:在單片機內(nèi)部存儲器設(shè)三個字節(jié)分別存放時鐘的時、分、秒信息。利用定時器與軟件結(jié)合實現(xiàn)1秒定時中斷,沒產(chǎn)生一次中斷,存儲器內(nèi)相應(yīng)的秒值加1:;若秒值達到60,則將其清零,并將相應(yīng)的分字節(jié)值加1若分值;若分值達到60,則清零分字節(jié),并將時字節(jié)值加1;若時值達到24,則將時字節(jié)清零。該方案具有硬件電路簡單的特點。但由于每次執(zhí)行程序時,定時器都要重新賦初值,所以該時鐘精度不高。第二章 數(shù)字電子表的硬件設(shè)計2.1 電子表的硬件框圖電子表電路的核心是at89c52單片機,其內(nèi)部帶有4kb的flash rom,無需外擴程序存儲器;電子表沒有大量的運算和暫存數(shù)據(jù),現(xiàn)有的128
9、b片內(nèi)ram已滿足要求,也不必外擴片外ram。系統(tǒng)配備6位led顯示,采用單片機的并行口作為鍵盤,顯示器接口電路。利用p0口作為8位led顯示的位選口,其中,p0.0p0.7分別對應(yīng)為led0led7,p1口則作為段選口,p2口的低3位為鍵盤輸入口,對應(yīng)02行,p0口同時用作鍵盤的掃描口由于采用公陰極數(shù)碼管,因此p0口輸出低電平選中相應(yīng)的位,而p1口輸出高電平點亮相應(yīng)的段。單片機晶振手動復(fù)位數(shù)碼管顯示時間調(diào)整按鍵日期調(diào)整按鍵2.2 輸入、輸出顯示電路設(shè)計串行口 at89c52p1口4位獨立式鍵盤移位寄存器移位寄存器led1led22.3 系統(tǒng)總電路圖第三章 數(shù)字電子表的軟件設(shè)計3.1 主程序流
10、程圖在編程,首先進行了初始化,定義程序的入口地址以及中斷的入口地址,自主程序開始定義了一組固定單元用來存儲計數(shù)的時、分、秒,在顯示初值之后,進入主循環(huán)。在主程序中,對不同的按鍵進行掃描,實現(xiàn)秒表,時間調(diào)整,復(fù)位清零等功能。系統(tǒng)總流程圖如下圖:/*/* 3.2 中斷程序設(shè)計 */*/void time1_isr(void) interrupt 3 using 0/定時器1中斷;定時器1用來動態(tài)掃描 static unsigned char num; th1=0xf8;/重入初值 tl1=0xf0; switch (num) case 0:p2=0;p0=strtabnum;break; /分別調(diào)
11、用緩沖區(qū)的值進行掃描 case 1:p2=1;p0=strtabnum;break; case 2:p2=2;p0=strtabnum;break; case 3:p2=3;p0=strtabnum;break; case 4:p2=4;p0=strtabnum;break; case 5:p2=5;p0=strtabnum;break; case 6:p2=6;p0=strtabnum;break; case 7:p2=7;p0=strtabnum;break; default:break;num+; /掃描8次,使用8個數(shù)碼管if(num=8) num=0;void tim(void) i
12、nterrupt 1 using 1/定時器0中斷static unsigned char count;/定義內(nèi)部靜態(tài)變量th0=0xd8; /重新賦值tl0=0xf0;count+; switch (count) case 0: case 20: case 40: case 60: case 80:displaypro(); /隔一定時間調(diào)用顯示處理 break; default:break; if (count=100) count=0; second+; /秒加1 if(second=60) second=0; minute+; /分加1 if(minute=60) minute=0;
13、hour+; /時加1 if(hour=24) hour=0; day+; if(day=28)&&(month=2) day=1;month+; if(month<=7)&&(month!=2) if(month%2=1)&&(day=31) day=1;month+; if(month>7) if(month%2=0) month+;day=1; /*/* 3.3 顯示處理程序設(shè)計 */*/void displaypro(void) if(!key2) /按鍵1去抖以及動作 if(!key2) delay(40000); t+;
14、if(t%2=0) if(!key1) /按鍵1去抖以及動作 if(!key1) delay(40000); hour+;if(hour=24)hour=0; if(!key3) /按鍵1去抖以及動作 if(!key3) delay(40000); minute+;if(minute=60)minute=0; if(!key4) /按鍵去抖以及動作 delay(15000); if(!key4) if(minute>=1) minute-; displaypro(); i=hour;j=minute;k=second; if(t%2=1) i=month;j=day;k=0; strta
15、b0=tabi/10; /顯示小時十位 strtab1=tabi%10; /顯示小時個位 strtab2=0x40; /顯示"-" strtab3=tabj/10; /顯示分鐘十位 strtab4=tabj%10; /顯示分鐘個位 strtab5=0x40; /顯示"-" strtab6=tabk/10; /顯示秒鐘十位 strtab7=tabk%10; /顯示秒鐘個位 /*/* 3.4 電子表主程序設(shè)計主函數(shù) */*/main()/主函數(shù) tmod |=0x01;/定時器0 10ms in 12m crystal 用于計時 th0=0xd8; /初值
16、tl0=0xf0; et0=1; tr0=1; tmod |=0x10; /定時器1用于動態(tài)掃描 th1=0xf8; /初值 tl1=0xf0; et1=1; tr1=1; ea =1; /總中斷允許if(t%2=0)while(1)/主循環(huán) if(!key1) /按鍵1去抖以及動作 if(!key1) delay(40000); hour+;if(hour=24)hour=0; /正常時間 小時 加1 displaypro(); if(!key3) /按鍵去抖以及動作 delay(20000); if(!key3) minute+;if(minute=60)minute=0;/分加1 dis
17、playpro(); if(!key4) /按鍵去抖以及動作 delay(15000); if(!key4) if(minute>=1) minute-; displaypro(); if(t%2=1)while(1)/主循環(huán) if(!key1) /按鍵1去抖以及動作 delay(20000); if(!key1) month+;if(month=13)month=1; /正常時間 小時 加1 displaypro(); if(!key3) /按鍵去抖以及動作 delay(20000); if(!key3) day+;if(day=29)&&(month=2)day=1;
18、 if(month<=7)&&(month!=2) if(month%2=1) if(day=32) day=1; if(month%2=0) if(day=31) day=1; if(month>7) if(month%2=0) if(day=32) day=1; if(month%2=1) if(day=31) day=1; displaypro(); 第四章 數(shù)字電子表的安裝與調(diào)試4.1 硬件調(diào)試單片機基礎(chǔ)電路包括電源,單片機,外部時鐘振蕩電路,復(fù)位電路和外部接口電路。調(diào)試過程注意一下幾點:1 檢查電源是否完好。2 單片機電源要連接正確,并且保證at89c52
19、的p1口輸出高電平。3 如果使用p0口做i/o口,要接上拉電阻。4.2 軟件調(diào)試在硬件調(diào)試完畢的基礎(chǔ)上,需要進一步完善程序,也就是進入軟件調(diào)試階段。在本次設(shè)計中,軟件調(diào)試的主要部分是時鐘子程序的調(diào)試,在硬件調(diào)試階段,已經(jīng)將時鐘程序調(diào)試完畢了,只需在主程序中調(diào)用即可。具體步驟:通過keil軟件編寫程序,燒寫at89c52芯片中,在上電的情況下,8個led數(shù)碼管顯示的是01-01-00,當(dāng)按鍵s2有按下的時候,啟動時鐘,當(dāng)再次檢測到按鍵s2按下時,就會顯示月日;當(dāng)按鍵s1有按下的時候,時進行加1操作;當(dāng)按鍵s3有按下的時候,分進行加1操作;當(dāng)按鍵s4有按下的時候,分進行減1操作;通過s1,s2,s
20、3,s4的配合調(diào)節(jié),可以顯示當(dāng)前正確的時間和日期,達到了設(shè)計要求的目的。4.3 調(diào)試過程1 硬件調(diào)試完成后,將編寫好的程序燒寫在at89c52芯片中,在上電的情況下,8個led數(shù)碼管顯示的是01-01-00,然后調(diào)節(jié)s1,s2,s3,則初步達到了設(shè)計的要求,但是當(dāng)調(diào)節(jié)分的時候調(diào)的超過了當(dāng)前的時間,則需要重新按下60次s3,經(jīng)過考慮后,添加了一段分鐘減一程序,相應(yīng)的增加按鍵s4;當(dāng)時間調(diào)超過后,可以按下s4進行減操作,大大方便了時間校正的操作。2 在調(diào)試的過程中,按下按鍵時,led顯示都會閃爍一下,理想的應(yīng)該是要調(diào)節(jié)時間或日期時,所要調(diào)節(jié)的值的led會閃爍,這一點在調(diào)試的過程中沒能實現(xiàn)。第五章
21、設(shè)計體會與小結(jié)5.1 總結(jié)設(shè)計體會與心得本次做的電子表是以單片機(at89c52)為核心,結(jié)合相關(guān)的元器件(共陰極led數(shù)碼顯示器、鎖存/譯碼等),再配以相應(yīng)的軟件,達到實現(xiàn)時鐘日期顯示的功能,也具有顯示和時鐘、日期的校準(zhǔn),以及多路開關(guān)定時輸出等功能,在軟件調(diào)試的過程中,遇到了很多困難,第一次是只實現(xiàn)了時間的調(diào)試,未能實現(xiàn)日期的顯示,后來經(jīng)過調(diào)試后達到了日期顯示的效果,唯一有一點遺憾的是按鍵按下去之后總會閃爍一下,但整體上這次單片機的課程設(shè)計自我感覺還是很完美的,經(jīng)過自己的努力制作出了數(shù)字電子表,第一次做編寫單片機的程序能有成功,也讓自己對單片機有了更大的興趣。通過這次的設(shè)計使我認(rèn)識到我對單片
22、機方面的知識知道的太少了,對于書本上的很多知識還不能靈活運用,有很多我們需要掌握的知識在等著我去學(xué)習(xí),我會在以后的學(xué)習(xí)生活中彌補我所缺少的知識。本次的設(shè)計使我從中學(xué)到了一些很重要的東西,那就是如何從理論到實踐的轉(zhuǎn)化,怎樣將我所學(xué)到的知識運用到我以后的工作中去。在大學(xué)的課堂的學(xué)習(xí)只是在給我們灌輸專業(yè)知識,而我們應(yīng)把所學(xué)的用到我們現(xiàn)實的生活中去,此次的電子時鐘設(shè)計給我奠定了一個實踐基礎(chǔ),我會在以后的學(xué)習(xí)、生活中磨練自己,使自己適應(yīng)于以后的競爭。通過兩周的學(xué)習(xí),我對單片機的硬件設(shè)計,軟件設(shè)計掌握,對硬件電路的工作原理有了新一層的理解。這是我第一次編寫單片機的程序,通過把課本上的理論與生活中的實際問題
23、結(jié)合起來,使我學(xué)到很多東西。把程序拆分成幾部分一一進行編寫、調(diào)試,在編程中出現(xiàn)問題時,嚴(yán)格謹(jǐn)慎,仔細(xì)分析、調(diào)試,一定會從中發(fā)現(xiàn)錯誤,克服困難。附錄一部分源程序在軟件設(shè)計的章節(jié)中,已經(jīng)介紹了中斷程序設(shè)計,顯示處理程序設(shè)計,電子表主程序設(shè)計,在此附錄中介紹頭文件,端口定義,以及延時函數(shù)等內(nèi)容;#include<reg52.h> /包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義sbit key1=p30; /定義端口參數(shù)sbit key2=p31;sbit key3=p32;sbit key4=p33;sbit led=p12; /定義指示燈參數(shù)code unsigned char tab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /共陰數(shù)碼管 0-9unsigned char strtab8; /定義緩沖區(qū)unsigned char minute=00,hour=00,second=00; /定義并且初始化值 00:00:00unsigned char month=01, d
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度健康養(yǎng)生類產(chǎn)品包裝設(shè)計合同3篇
- 二零二五版租賃房屋租賃合同網(wǎng)絡(luò)安全保障協(xié)議4篇
- 2025年度集裝箱裝卸運輸操作規(guī)范合同
- 二零二五年度民間個人借款合同金融創(chuàng)新服務(wù)細(xì)則
- 二零二五版農(nóng)業(yè)保險代理服務(wù)合同范本8篇
- 2025年度房產(chǎn)抵押經(jīng)營性貸款合同樣本
- 2025年南京住建部房屋租賃合同規(guī)范版
- 課題申報參考:面向微生物組中介效應(yīng)的群落水平關(guān)聯(lián)檢驗方法研究
- 課題申報參考:美式“小多邊主義”沖擊下中國伙伴關(guān)系的升級與轉(zhuǎn)型研究
- 2025年木材銷售企業(yè)庫存管理服務(wù)合同
- 汽車修理廠管理方案
- 人教版小學(xué)數(shù)學(xué)一年級上冊小學(xué)生口算天天練
- 九年級上冊-備戰(zhàn)2024年中考?xì)v史總復(fù)習(xí)核心考點與重難點練習(xí)(統(tǒng)部編版)
- 三年級數(shù)學(xué)添括號去括號加減簡便計算練習(xí)400道及答案
- 蘇教版五年級上冊數(shù)學(xué)簡便計算300題及答案
- 澳洲牛肉行業(yè)分析
- 老客戶的開發(fā)與技巧課件
- 計算機江蘇對口單招文化綜合理論試卷
- 成人學(xué)士學(xué)位英語單詞(史上全面)
- KAPPA-實施方法課件
- GB/T 13813-2023煤礦用金屬材料摩擦火花安全性試驗方法和判定規(guī)則
評論
0/150
提交評論