版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 單片機課程設計報告</b></p><p><b> 數(shù)字秒表</b></p><p> 學院:_____________</p><p> 班級:_____________</p><p> 組員:_____________ </p>
2、;<p><b> 數(shù)字秒表的設計</b></p><p><b> 實驗目的</b></p><p> 1.學習74HC573芯片的結(jié)構(gòu)和工作原理。</p><p> 2.學習LED數(shù)碼管顯示的原理及編程方法。</p><p> 3.掌握74HC573擴展鍵盤和顯示器的原理
3、和編程方法。</p><p> 4.掌握AT89C52單片機定時器與中斷的使用。</p><p> 5.掌握數(shù)字秒表的原理和實現(xiàn)方法。</p><p><b> 二、設計要求</b></p><p> 1.設計一個數(shù)字秒表,要求從00:00秒開始計時,最大計時時間為99:99秒。并且具有啟動、暫停和清零(復位)等
4、功能。</p><p> 2.畫出硬件連接電路圖,說明各個控制信號的作用。</p><p> 3.畫出程序流程圖,編寫程序,硬件連接調(diào)試,直至正確。</p><p> 4編寫課程設計報告。</p><p><b> 三、基本原理</b></p><p> 數(shù)字秒表的工作過程為:初始值為0
5、0:00,當啟動鍵按下后,計時開始,以0.01秒為單位加1計時,當暫停鍵按下后,計時停止,當前值保持不變,直到清零(復位)鍵按下后,計數(shù)值清零,變?yōu)?0:00,等待啟動鍵再次按下。當計時到99:99時,再計0.01秒后變?yōu)?0:00。</p><p> 數(shù)字秒表是以0.01S為最小定時單位的定時器,可以利用52單片機自身所具有的16位定時/計數(shù)器實現(xiàn)0.01S定時,每0.01S定時到,修改顯示值,送4位LED顯
6、示。</p><p><b> 四、實驗內(nèi)容</b></p><p> <一>實驗器材與電路圖</p><p><b> 電容30pf的兩個</b></p><p><b> 電阻10k的三個</b></p><p><b>
7、; 晶振一個</b></p><p> AT89C52單片機一塊</p><p><b> 排阻一個</b></p><p> 74HC573芯片一個</p><p><b> 導線與開關(guān)若干</b></p><p><b> 數(shù)碼管一個&l
8、t;/b></p><p><b> 運行圖</b></p><p><b> 復位圖 </b></p><p><b> <二>程序</b></p><p> #include<regx51.h> </p><p
9、> unsigned char tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共陰數(shù)碼管 0-9 </p><p> unsigned char tab_point[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};</p><p>
10、unsigned char sec_shiwei=0; //定義秒十位</p><p> unsigned char sec_gewei=0; //定義秒個位</p><p> unsigned char after_point_shiwei=0; //定義小數(shù)點后秒十位</p><p> unsigned char after_point_gewe
11、i=0; //定義i小數(shù)點后秒個位</p><p> unsigned char second=0,after_second=0;</p><p> /******************************************************************/</p><p> /* 清零/
12、復位函數(shù)聲明 */</p><p> /******************************************************************/</p><p> void CLR(void);</p><p> /********************************
13、**********************************/</p><p> /* 掃描顯示延時函數(shù) */</p><p> /******************************************************************/</p>
14、<p> void delay(unsigned int count)</p><p><b> {</b></p><p> while(--count);</p><p><b> }</b></p><p> /******************************
15、************************************/</p><p> /* 主函數(shù) */</p><p> /******************************************************************/<
16、/p><p> void main()</p><p><b> {</b></p><p> TMOD=0X01; //定時器設置</p><p> TH0=(65536-10000)/256; //TIME0賦初值,每10ms中斷一次</p><p> TL0=(65536-10
17、000)%256; </p><p> EA=1; //打開中斷總開關(guān)</p><p> TR0=0; //先禁止定時器工作</p><p> EX0=1; //外部中斷0設置</p><p><b> IT0=1;</b></p><p> EX1=1;
18、 //外部中斷1設置</p><p><b> IT1=1;</b></p><p><b> ET0=1; </b></p><p> CLR(); //清零</p><p><b> while(1)</b></p><p>
19、<b> {</b></p><p><b> P0=0X00;</b></p><p> P0=sec_shiwei; //顯示秒十位</p><p><b> P2=0xf7;</b></p><p> delay(200); //短暫延時<
20、;/p><p><b> P0=0X00;</b></p><p> P0=sec_gewei; //顯示秒個位 </p><p><b> P2=0xfb;</b></p><p> delay(200);</p><p><b> P0=0X00;
21、</b></p><p> P0=after_point_shiwei; //顯示小數(shù)點后秒十位</p><p><b> P2=0xfd;</b></p><p> delay(200);</p><p><b> P0=0X00;</b></p>
22、<p> P0=after_point_gewei; //顯示小數(shù)點后秒個位</p><p><b> P2=0xfe;</b></p><p> delay(200); //短暫延時</p><p><b> }</b></p><p><b> }&
23、lt;/b></p><p> /******************************************************************/</p><p> /* 定時器中斷函數(shù) */</p><p> /************
24、******************************************************/</p><p> void time0(void) interrupt 1 using 0</p><p><b> {</b></p><p> TH0=(65536-10000)/256; //工作在方式1時,每次都要賦
25、初值</p><p> TL0=(65536-10000)%256;</p><p> after_second++;</p><p> if (after_second==100)</p><p><b> {</b></p><p> after_second=0;</p>
26、;<p> second++; //秒加1</p><p> if(second==100)</p><p><b> second=0;</b></p><p> sec_shiwei=tab[second/10]; //秒十位顯示值處理</p><p> sec_gewei=
27、tab_point[second%10]; //秒個位顯示處理</p><p><b> }</b></p><p> after_point_shiwei=tab[after_second/10]; //秒后十位顯示值處理</p><p> after_point_gewei=tab[after_second%10];
28、 //秒后個位顯示處理</p><p><b> }</b></p><p> /******************************************************************/</p><p> /* 外部中斷函數(shù)
29、 */</p><p> /******************************************************************/</p><p> void start_pause() interrupt 0 using 1</p><p><b> {</b></p>
30、<p> TR0=!TR0; //利用外部中斷打開和關(guān)閉定時器0 用于開始和停止計時</p><p><b> }</b></p><p> void reset() interrupt 2 using 2</p><p><b> {</b></p><p> if(
31、TR0==0) //停止時才可以清零</p><p><b> CLR();</b></p><p><b> }</b></p><p> void CLR()</p><p><b> {</b></p><p> second=0;
32、 //利用外部中斷清零</p><p> after_second=0;</p><p> sec_shiwei=tab[after_second/10]; //秒十位顯示值處理</p><p> sec_gewei=tab_point[after_second%10]; //秒個位顯示處理</p><p> after_p
33、oint_shiwei=tab[second/10]; //秒后十位顯示值處理</p><p> after_point_gewei=tab[second%10]; //秒后個位顯示處理</p><p><b> }</b></p><p><b> 五、實驗心得</b></p>
34、<p> 為期一周的課程設計使我們更進一步的熟悉了以前在課堂上所學到的知識,讓我們對模數(shù)電以及編程知識得到了進一步的掌握,通過這次課程設計,讓我們得到了一次理論與實踐相結(jié)合的升華機會,讓我們進一步加深了對以往所學知識的理解,同時也鍛練了自己獨立思考問題和團隊合作的能力。</p><p> 剛開始拿到課程題目時,一度感到迷茫。但當我們選好題目并進行了一定深入了解后,再結(jié)合以前所學到的一些相關(guān)知識,
35、便覺得它不在那么困難。通過查找資料我們學習了74HC573芯片的結(jié)構(gòu)和工作原理并且掌握了74HC573擴展鍵盤和顯示器的原理和編程方法,掌握AT89C52單片機定時器與中斷的使用,讓我們對數(shù)字秒表的設計有了更直觀清晰的認識。</p><p> 雖然這次課程設計只有一周,但我們從這短短的幾天中學到了不少的東西,每天都過得很充實。從拿到課程題目后,我們首先查找了一些相關(guān)的資料并進行了一定的整理,再根據(jù)題目要求進行分
36、析設計,經(jīng)過仿真確定方案。通過團隊精誠合作,讓我們這次課題得以順利進行。</p><p> 實踐出真知,真理的發(fā)現(xiàn)都是在實踐中的。這樣的課程設計以后應該多多安排,讓學生親手去設計去操作去創(chuàng)新,讓我們更多的機會用來理論聯(lián)系實際,將自己所學到的知識運用于實踐當中,這樣才能夠更好的提高我們的專業(yè)技能,更能夠培養(yǎng)我們的能力,提高我們的素質(zhì),使我們對自己所學的知識更感興趣,從而使我們以更高的熱情去學習去探究。</p
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字秒表課程設計報告
- 數(shù)字秒表課程設計報告
- 課程設計報告---數(shù)字秒表設計
- eda數(shù)字秒表課程設計報告
- 數(shù)字電路課程設計報告---數(shù)字秒表
- 數(shù)字秒表課程設計
- 數(shù)字秒表課程設計
- 數(shù)字秒表課程設計
- 數(shù)字秒表課程設計
- 課程設計-- 數(shù)字秒表
- 數(shù)電課程設計報告---數(shù)字秒表
- 課程設計--數(shù)字秒表設計
- 課程設計---數(shù)字秒表設計
- 課程設計報告數(shù)字秒表電路設計
- 簡易數(shù)字秒表課程設計
- 微機課程設計--數(shù)字秒表
- 數(shù)字秒表課程設計1
- eda數(shù)字秒表課程設計
- 數(shù)電課程設計--數(shù)字秒表報告
- eda課程設計--數(shù)字秒表設計
評論
0/150
提交評論