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