版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 《單片機(jī)應(yīng)用技術(shù)》</b></p><p><b> 課程設(shè)計(jì)</b></p><p> 2012年 6 月18</p><p> 題 目∶鍵控秒表</p><p> 院 系∶機(jī)電工程系</p><p> 專業(yè)班級(jí)∶電氣1011
2、</p><p> 姓 名∶</p><p> 學(xué) 號(hào)∶</p><p> 指導(dǎo)教師∶</p><p><b> 摘要</b></p><p> 二十世紀(jì)跨越了三個(gè)“電”的時(shí)代,即電氣時(shí)代,電子時(shí)代和現(xiàn)已進(jìn)入的電腦時(shí)代。但是,實(shí)際工作中,并不是需要計(jì)算機(jī)的場合都需要計(jì)算機(jī)很高的性能
3、。應(yīng)用的關(guān)鍵是看能否夠用,是否有很好的性能價(jià)格比。單片機(jī)又稱單片微控制器,它不是完成某一個(gè)邏輯工程的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。概括的講:一個(gè)芯片就成了一臺(tái)計(jì)算機(jī)。它的體積小、質(zhì)量輕、價(jià)格便宜,為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。</p><p> 自從1976年問世以來,單片機(jī)獲得了巨大的發(fā)展,縱觀我們現(xiàn)在生活的各個(gè)領(lǐng)域,從導(dǎo)彈的導(dǎo)航裝置,到飛機(jī)上的各種儀表的控制,從計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,
4、到工業(yè)自動(dòng)化過程的實(shí)時(shí)控制和數(shù)據(jù)處理,這些都離不開單片機(jī)。所以,學(xué)習(xí)單片機(jī)在我國是有著廣泛前景的。</p><p><b> 目錄</b></p><p><b> 摘要1</b></p><p> 一、課題研究目的3</p><p> 二、實(shí)驗(yàn)內(nèi)容及要求4</p>&l
5、t;p><b> 1、實(shí)驗(yàn)內(nèi)容4</b></p><p><b> 2、實(shí)驗(yàn)要求4</b></p><p><b> 三、仿真原理圖5</b></p><p><b> 四、系統(tǒng)程序6</b></p><p><b> 五
6、、材料清單9</b></p><p> 六、鍵控秒表實(shí)物圖10</p><p> 七、心得及體會(huì)11</p><p><b> 八、總結(jié)12</b></p><p><b> 九、參考文獻(xiàn)13</b></p><p><b> 一、課
7、題研究目的</b></p><p> 1.通過本次課程設(shè)計(jì)加深對(duì)單片機(jī)課程的全面認(rèn)識(shí)復(fù)習(xí)和掌握,對(duì)單片機(jī)課程的應(yīng)用進(jìn)一步的了解。</p><p> 2.掌握鍵控秒表系統(tǒng)的制作,進(jìn)一步熟悉單片機(jī)計(jì)數(shù)器結(jié)構(gòu)的工作方式,初始值設(shè)置和停止等基本應(yīng)用方法,掌握C語言控制單片機(jī)的基本技能。</p><p> 3.通過此次課程設(shè)計(jì)能夠?qū)纹瑱C(jī)軟硬件結(jié)合起來,對(duì)程
8、序進(jìn)行編輯,校驗(yàn)。</p><p> 4.該實(shí)驗(yàn)通過單片機(jī)的鍵控原理,設(shè)計(jì)簡單的系統(tǒng),擁有正確的增一、減一、清零、自動(dòng)加一功能,并同時(shí)可以用數(shù)碼管顯示,在現(xiàn)實(shí)生活中應(yīng)用廣泛,具有現(xiàn)實(shí)意義。</p><p> 5.通過本次設(shè)計(jì),提高自身電路設(shè)計(jì)能力,并鍛煉團(tuán)隊(duì)合作精神。</p><p><b> 二、實(shí)驗(yàn)內(nèi)容及要求</b></p>
9、;<p><b> 1、實(shí)驗(yàn)內(nèi)容</b></p><p> 利用AT89C52設(shè)計(jì)一個(gè)2位LED數(shù)碼管顯示“秒表”,可顯示時(shí)間為00~59秒。并設(shè)計(jì)一個(gè)“增一”按鍵,一個(gè)“減一”按鍵,一個(gè)“清零”按鍵,一個(gè)“自動(dòng)增一”按鍵。</p><p> 按鍵說明:按“增一”按鍵,系統(tǒng)加一計(jì)數(shù),數(shù)碼管顯示數(shù)字加一;</p><p>
10、按“減一”按鍵,系統(tǒng)減一計(jì)數(shù),數(shù)碼管顯示數(shù)字減一;</p><p> 按“清零”按鍵,系統(tǒng)清零,數(shù)碼管顯示“00”;</p><p> 按一下“自動(dòng)加一”按鍵,系統(tǒng)自動(dòng)進(jìn)行加一循環(huán),并在數(shù)碼管上顯示,再按一下“自動(dòng)加一”按鍵,系統(tǒng)會(huì)暫停自動(dòng)加一循環(huán),數(shù)碼管顯示的數(shù)字將停留在當(dāng)前顯示值上。</p><p><b> 2、實(shí)驗(yàn)要求</b>&l
11、t;/p><p> 了解AT89c52芯片的的工作原理和工作方式 ,使用該芯片對(duì)LED數(shù)碼管進(jìn)行顯示控制,實(shí)現(xiàn)用單片機(jī)的端口控制數(shù)碼管,顯示數(shù)字,并能用按鍵實(shí)現(xiàn)秒表增一、減一、清零復(fù)位功能。</p><p> 畫出使用單片機(jī)控制LED數(shù)碼管顯示的電路圖,并編程完成軟件部分,最后調(diào)試秒表的增一、減一、清零、自動(dòng)加一。</p><p><b> 三、仿真原理
12、圖</b></p><p><b> 四、系統(tǒng)程序</b></p><p> #include <reg52.h></p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><
13、p> sbit dula=P2^0;</p><p> sbit wela=P2^1;</p><p> sbit key1=P1^0; //加1</p><p> sbit key2=P1^1; //減1</p><p> sbit key3=P1^2; //清0</p><p>
14、 sbit key4=P1^3; //按下自動(dòng)加1,再按下停止保持</p><p> uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};</p><p> uchar n,num;</p><p> v
15、oid display(uchar);</p><p> void delay(uint xms)</p><p><b> {</b></p><p><b> uint x,y;</b></p><p> for(x=xms;x>0;x--)</p><p>
16、; for(y=110;y>0;y--);</p><p><b> }</b></p><p> void keyscan()</p><p><b> {</b></p><p> if(key1==0)</p><p><b> {</
17、b></p><p> delay(10);</p><p> if(key1==0)</p><p><b> {</b></p><p><b> num++;</b></p><p> if(num==60)</p><p>&l
18、t;b> num=0;</b></p><p> while(!key1);</p><p><b> }</b></p><p><b> }</b></p><p> if(key2==0)</p><p><b> {</b
19、></p><p> delay(10);</p><p> if(key2==0)</p><p><b> {</b></p><p> if(num==0)</p><p><b> num=60;</b></p><p><
20、;b> num--;</b></p><p> while(!key2);</p><p><b> }</b></p><p><b> }</b></p><p> if(key3==0)</p><p><b> {</b&
21、gt;</p><p> delay(10);</p><p> if(key3==0)</p><p><b> {</b></p><p><b> num=0;</b></p><p> while(!key3);</p><p>&l
22、t;b> }</b></p><p><b> }</b></p><p> if(key4==0)</p><p><b> {</b></p><p> delay(10);</p><p> if(key4==0)</p>&
23、lt;p><b> {</b></p><p> while(!key4);</p><p><b> TR0=~TR0;</b></p><p><b> }</b></p><p><b> }</b></p><p
24、><b> }</b></p><p> void main()</p><p><b> {</b></p><p> TMOD=0x01;</p><p> TH0=(65536-50000)/256;</p><p> TL0=(65536-50000
25、)%256;</p><p><b> EA=1;</b></p><p><b> ET0=1;</b></p><p><b> while(1)</b></p><p><b> {</b></p><p> key
26、scan();</p><p> display(num);</p><p><b> }</b></p><p><b> }</b></p><p> void display(uchar num1)</p><p><b> {</b>&
27、lt;/p><p> uchar shi,ge;</p><p> shi=num1/10;</p><p> ge=num1%10;</p><p><b> dula=1;</b></p><p> P0=table[shi];</p><p><b>
28、 dula=0;</b></p><p><b> P0=0xff;</b></p><p><b> wela=1;</b></p><p><b> P0=0xfe;</b></p><p><b> wela=0;</b><
29、;/p><p><b> delay(5);</b></p><p><b> dula=1;</b></p><p> P0=table[ge];</p><p><b> dula=0;</b></p><p><b> P0=0xf
30、f;</b></p><p><b> wela=1;</b></p><p><b> P0=0xfd;</b></p><p><b> wela=0;</b></p><p> delay(5); </p><p><b
31、> }</b></p><p> void timer0() interrupt 1</p><p><b> {</b></p><p><b> n++;</b></p><p><b> if(n==20)</b></p><
32、;p><b> {</b></p><p><b> n=0;</b></p><p><b> num++;</b></p><p> if(num==60)</p><p><b> num=0;</b></p><
33、p><b> }</b></p><p> TH0=(65536-50000)/256;</p><p> TL0=(65536-50000)%256;</p><p><b> ?。?lt;/b></p><p><b> 五、材料清單</b></p>
34、<p><b> 六、鍵控秒表實(shí)物圖</b></p><p><b> 七、心得及體會(huì)</b></p><p> 根據(jù)課程設(shè)計(jì)的要求和芯片的功能寫出相應(yīng)的程序。然后再進(jìn)行程序調(diào)試和相應(yīng)的修改,達(dá)到了本次設(shè)計(jì)的目的。</p><p> 通過本次設(shè)計(jì),我從中感受到了自己優(yōu)缺點(diǎn)。優(yōu)點(diǎn)是我能很好并迅速的將電路布置
35、并組裝好,但是對(duì)于電路組線設(shè)計(jì)還有很多不足。雖然元器件布置比較美觀,但是背部的組線就比較凌亂,不利用出現(xiàn)問題后對(duì)其進(jìn)行排查。</p><p> 在本次設(shè)計(jì)過程中,我做的準(zhǔn)備工作相對(duì)于其他同學(xué)來說是做得最好的,需要的相關(guān)工具我都準(zhǔn)備的很齊全,以至于在制作的時(shí)候很多同學(xué)來我這里借東西,所以我感覺,無論做什么事情,準(zhǔn)備工作一定要做好,才能一氣呵成,減少走的彎路。</p><p> 在本次設(shè)計(jì)
36、中,在寫程序時(shí),我得到了一些啟發(fā)。就是在寫程序時(shí)候,要盡量做到由各個(gè)子程序組成,在有些程序后面最好加注釋,這樣在程序出錯(cuò)的檢查過程中可以更容易查找的到,也更簡潔,更明白易懂。</p><p> 本次設(shè)計(jì),最大的收獲就是讓我學(xué)會(huì)將理論知識(shí)與實(shí)際相結(jié)合,并從中收獲到一些書本和課堂上學(xué)不到的知識(shí)。</p><p><b> 八、總結(jié)</b></p><
37、;p> 通過這次的設(shè)計(jì),我對(duì)單片機(jī)這門課程有了更深的了解,同時(shí)也嘗試著去怎么應(yīng)用自己所掌握的知識(shí),將知識(shí)以最好的方式融入到現(xiàn)實(shí)中。</p><p> 在這其中,深感自己在電路線路設(shè)計(jì)排布這方面還需很大的努力,單片機(jī)課程設(shè)計(jì)不僅給我提供了展現(xiàn)應(yīng)用自己所掌握的知識(shí)平臺(tái),又是檢驗(yàn)自己所學(xué)知識(shí)的一次考核。在設(shè)計(jì)過程中,難免會(huì)遇到一些困難,尤其在調(diào)試過程中,會(huì)因?yàn)槟承┰虺霾粊斫Y(jié)果,但通過同學(xué)的鼓勵(lì)和老師的幫助,
38、我還是順利完成了。從中我明白要把所學(xué)到的理論轉(zhuǎn)化為實(shí)踐需要一段努力學(xué)習(xí)的過程。在學(xué)習(xí)過程中,一定要注意理論和實(shí)踐同步進(jìn)行,光有理論知識(shí)還是遠(yuǎn)遠(yuǎn)不夠的,要用時(shí)間去檢驗(yàn)理論,用理論指導(dǎo)實(shí)踐。</p><p> 社會(huì)在進(jìn)步,我們不論在什么地方,什么崗位我門都要以學(xué)為主.學(xué)以學(xué)以置用,才能把我們的工作做的更好。并要堅(jiān)持不懈的去努力,不能因?yàn)槔щy而懦弱,要遇強(qiáng)更強(qiáng),以最大的信心去接受更嚴(yán)峻的挑戰(zhàn)。</p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 秒表課程設(shè)計(jì)
- 秒表課程設(shè)計(jì)
- 秒表課程設(shè)計(jì)
- 秒表課程設(shè)計(jì)-- 秒表系統(tǒng)的設(shè)計(jì)
- 秒表 課程設(shè)計(jì)
- 數(shù)字秒表課程設(shè)計(jì)
- 數(shù)字秒表課程設(shè)計(jì)
- 電子秒表 課程設(shè)計(jì)
- 數(shù)字秒表課程設(shè)計(jì)
- 電子秒表課程設(shè)計(jì)
- 數(shù)字秒表課程設(shè)計(jì)
- 多用秒表課程設(shè)計(jì)
- 電子秒表課程設(shè)計(jì)
- 課程設(shè)計(jì)-- 數(shù)字秒表
- 課程設(shè)計(jì)--數(shù)字秒表設(shè)計(jì)
- 課程設(shè)計(jì)---數(shù)字秒表設(shè)計(jì)
- eda課程設(shè)計(jì)--秒表設(shè)計(jì)
- 電子秒表課程設(shè)計(jì)
- 電子秒表課程設(shè)計(jì)
- 秒表課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論