單片機(jī)__多通道百分秒表設(shè)計(jì) (2)_第1頁(yè)
單片機(jī)__多通道百分秒表設(shè)計(jì) (2)_第2頁(yè)
單片機(jī)__多通道百分秒表設(shè)計(jì) (2)_第3頁(yè)
單片機(jī)__多通道百分秒表設(shè)計(jì) (2)_第4頁(yè)
單片機(jī)__多通道百分秒表設(shè)計(jì) (2)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、單片機(jī)原理及應(yīng)用課程設(shè)計(jì)報(bào)告課題名稱多通道百分秒表設(shè)計(jì)學(xué)院自動(dòng)控制與機(jī)械工程專業(yè)電氣工程及自動(dòng)化班級(jí)電氣三班姓名盧 應(yīng) 軍學(xué)號(hào)201204170320時(shí)間2014.6.232014.7.4目 錄一、內(nèi)容提要21.設(shè)計(jì)任務(wù)22.主要功能23.設(shè)計(jì)提示2二、步驟及方案2三、硬件設(shè)計(jì)31、單片機(jī)的選擇與外圍電路32.單片機(jī)與顯示模塊電路43.開關(guān)電路54.顯示LED電路65.外圍小燈電路76.整體電路protuus仿真圖8四、軟件設(shè)計(jì)81.系統(tǒng)主函數(shù)程序82.初始化函數(shù)程序93、顯示函數(shù)程序94.開關(guān)函數(shù)程序10五、調(diào)試12六、課程設(shè)計(jì)心得體會(huì):131、細(xì)心和耐心是基礎(chǔ):132、互助是我們成功的條件

2、:133、做任何事都要有計(jì)劃:13七、參考文獻(xiàn)14八、附錄15一、內(nèi)容提要1.設(shè)計(jì)任務(wù)基于AT89C51設(shè)計(jì)一個(gè)5位LED數(shù)碼作為“多通道百分秒表”。2.主要功能(1)、顯示時(shí)間為00.00到99.99,每百分之一秒自動(dòng)加一。(2)、設(shè)計(jì)一個(gè)有五個(gè)按鍵的鍵盤。K1:開始,K2:停止,K3:復(fù)位,K4通道加1,K5:通道減1。(3)、設(shè)計(jì)LED提醒,即D1小燈按照當(dāng)前通道隔一秒亮一次,可以通過開關(guān)關(guān)閉該功能。(4)、其他功能:D2、D3小燈按照01、02通道分別計(jì)時(shí)時(shí)間到10秒時(shí)熄滅。(定時(shí):到某一時(shí)間有LED提醒功能)3.設(shè)計(jì)提示(1)、用1個(gè)6位7段LED數(shù)碼管作為顯示設(shè)備,最高位顯示通道號(hào)

3、,低四位顯示時(shí)間。(2)、可采用定時(shí)器,定時(shí)時(shí)間為10MS。(3)、可參考proteus仿真圖二、步驟及方案根據(jù)系統(tǒng)的設(shè)計(jì)要求,選擇AT89C51單片機(jī)作為系統(tǒng)的核心來完成定時(shí)、計(jì)數(shù)的功能,用74HC245來完成數(shù)據(jù)的鎖存和對(duì)LED的刷新控制,用外圍開關(guān)電路實(shí)現(xiàn)對(duì)單片機(jī)的外圍輸入,用小燈來實(shí)現(xiàn)對(duì)于計(jì)時(shí)等功能的提示。該系統(tǒng)的設(shè)計(jì)總體思路如下:開關(guān)K1把開始信號(hào)傳輸給AT89C51單片機(jī),單片機(jī)開始計(jì)數(shù),然后在P2口輸出信號(hào),通過74HC245后傳輸給LED數(shù)碼管控制數(shù)碼管位數(shù)是否啟用,然后P0口傳輸相對(duì)應(yīng)的信號(hào)控制啟用的數(shù)碼管位輸出的具體信號(hào)。同理,其余開關(guān)的信號(hào)分別控制了AT89C51的停止、

4、復(fù)位和通到的加減。外接的小燈接到P1.5、P1.6、P1.7口,分別作用于計(jì)時(shí)提示。綜上,可知7SEG-MPSX6-CC的最高2位用來顯示通道,低四位用來顯示時(shí)間(00.00到99.99秒),按照功能要求,確定由四個(gè)部分組成:主控制器,開關(guān)控制、小燈顯示、LED顯示??傮w設(shè)計(jì)電路結(jié)構(gòu)圖如圖所示:鍵盤輸入單片機(jī)AT89C51LED顯示小燈顯示通道號(hào) 秒數(shù)圖1 總體設(shè)計(jì)電路結(jié)構(gòu)圖三、硬件設(shè)計(jì)1、單片機(jī)的選擇與外圍電路AT89C51作為秒表計(jì)時(shí)系統(tǒng)的核心器件。該器件是INTEL公司生產(chǎn)的MCS51系列單片機(jī)的基礎(chǔ)產(chǎn)品,采用了可靠的CMOS工藝制造技術(shù),具有高性能的8位單片機(jī),屬于標(biāo)準(zhǔn)的MCS51的C

5、MOS產(chǎn)品。不僅結(jié)合了HMOS的高速和高密度技術(shù)及HMOS的低功耗特征,而且繼承和擴(kuò)展了MCS48單片機(jī)的體系結(jié)構(gòu)和指令系統(tǒng)。單片機(jī)小系統(tǒng)的電路圖如圖所示。圖2 單片機(jī)的選擇與外圍電路AT89C51單片機(jī)的主要特征:(1)與MCS51兼容,4K字節(jié)可編程閃爍存儲(chǔ)器;(2)靈活的在線系統(tǒng)編程,掉電標(biāo)識(shí)和快速編程特性;(3)壽命為1000次寫/擦周期,數(shù)據(jù)保留時(shí)間可10年以上;(4)全靜態(tài)工作模式:0HZ33HZ;(5)三級(jí)程序存儲(chǔ)器鎖定;(6)1288位內(nèi)部RAM,32位可編I/O線; (7)兩個(gè)16位定時(shí)器/計(jì)數(shù)器,5個(gè)中斷源,4個(gè)8位并行的I/O接口,1個(gè)全雙工I/O接口。2.單片機(jī)與顯示模

6、塊電路由74HC245芯片和電阻,導(dǎo)線構(gòu)成,控制鎖存單片機(jī)輸出信號(hào)。74HC245元件的封裝:(1)第1腳DIR,為輸入輸出端口轉(zhuǎn)換用,DIR=“1”高電平時(shí)信號(hào)由“A”端輸入“B”端輸出,DIR=“0”低電平時(shí)信號(hào)由“B”端輸入“A”端輸出。 (2)第29腳“A”信號(hào)輸入輸出端,A1=B1、A8=B8,A1與B1是一組,如果DIR=“1”O(jiān)E=“0”則A1輸入B1輸出,其它類同。如果DIR=“0”O(jiān)E=“0”則B1輸入A1輸出,其它類同。(3)第1118腳“B”信號(hào)輸入輸出端,功能與“A”端一樣,不在描述。 (4)第19腳OE,使能端,若該腳為“1”A/B端的信號(hào)將不導(dǎo)通,只有為“0”時(shí)A/

7、B端才被啟用,該腳也就是起到開關(guān)的作用。 (5)第10腳GND,電源地。 (6)第20腳VCC,電源正極。表1 74HC245真值表:3.開關(guān)電路由電源、導(dǎo)線、電阻、開關(guān)(K1、K2、K3、K4、K5五個(gè)開關(guān))構(gòu)成,K1連接P1.0口控制開始;K2連接P1.1口控制暫停;K3連接P1.2口控制復(fù)位清零;K4連接P1.3口控制通道減1;K5連接P1.4口控制通道加1。如圖:圖3 鍵盤電路4.顯示LED電路由7SEG-MPSX6-CC共陰LED8段位顯示器構(gòu)成:結(jié)構(gòu)圖為:abcde fg12345. dp678910e f cc g ha b V c d 圖4 顯示器其真值表為:表2顯示字符共陰極

8、接法八段狀態(tài)斷碼(共陰)spgfedcba0001111113FH10000011006H2010110115BH3010011114FH40110011066H5011011016DH6011111017DH70000011107H8011111117FH9011011116FH.1000000080H綜上則可知:顯示0123456789.斷碼3FH06H5BH4FH66H6DH7DH07H7FH6FH80H5.外圍小燈電路采用了3個(gè)LED小D1、D2、D3,當(dāng)按鈕按下后,3個(gè)LED小燈接入電路,接口為:D1端接到P1.5口、D2端接到P1.6口、D3端接到P1.7口,其中D1小燈按照當(dāng)前通

9、道隔一秒亮一次,D2、D3小燈按照01、02通道分別計(jì)時(shí)時(shí)間到10秒時(shí)熄滅。如圖。圖5 外圍小燈電路圖6.整體電路protuus仿真圖圖6 整體電路四、軟件設(shè)計(jì)系統(tǒng)程序包括:主函數(shù)程序、顯示函數(shù)程序、中斷函數(shù)程序、開關(guān)函數(shù)程序、系統(tǒng)初始化函數(shù)程序,通道設(shè)置函數(shù)程序。主程序結(jié)構(gòu):1.系統(tǒng)主函數(shù)程序主程序程序中調(diào)用了兩個(gè)子函數(shù)程序,分別是中斷初始化函數(shù)程序及顯示函數(shù)程序。開始系統(tǒng)初始化函數(shù)顯示函數(shù)圖7 開始2.初始化函數(shù)程序設(shè)定定時(shí)器狀態(tài)開中斷對(duì)定時(shí)器賦初值結(jié)束圖8初始化函數(shù)程序包括對(duì)定時(shí)器/計(jì)數(shù)器的工作方式設(shè)定、初值設(shè)定。3、顯示函數(shù)程序 開始 判斷通道標(biāo)識(shí)a為1還是為2通道2數(shù)據(jù)通道1數(shù)據(jù)數(shù)碼

10、顯示結(jié)束圖9顯示函數(shù)程序通過識(shí)別兩個(gè)通道的刷新標(biāo)志位flag_1和flag_2來實(shí)現(xiàn)雙通道顯示轉(zhuǎn)換。4.開關(guān)函數(shù)程序開始結(jié)束圖10開關(guān)函數(shù)程序主要通過P1.0、P1.1、P1.2三個(gè)引腳來操作秒表的開始、停止、清零。5.中斷函數(shù)程序:結(jié)束 圖11中斷函數(shù)程序通過P1.3和P1.4控制用戶選擇的通道數(shù),然后根據(jù)開關(guān)函數(shù)來分別對(duì)兩個(gè)通道的刷新標(biāo)志位flag_1和flag_2賦值,進(jìn)而實(shí)現(xiàn)通道的互相切換。五、調(diào)試把程序從KEIL中生成HEX文件,導(dǎo)入單片機(jī)中,測(cè)試是否實(shí)現(xiàn)題目要求的各個(gè)功能。1.由于開始計(jì)算中斷初始時(shí)間不準(zhǔn)確,故重新設(shè)置初始化時(shí)間;2.經(jīng)過調(diào)試,延時(shí)時(shí)間設(shè)為1000效果最佳;3.由于

11、3通道數(shù)要求過于復(fù)雜,故采用雙通道設(shè)計(jì);4.由于難以實(shí)現(xiàn)一個(gè)按鍵具備:開始、停止及清零功能,所以只能采用三個(gè)按鍵分別控制。經(jīng)過耐心的調(diào)試,最終實(shí)現(xiàn)設(shè)計(jì)要求。PROTEUS仿真圖如圖:圖12 通道一圖13 通道二六、課程設(shè)計(jì)心得體會(huì):回顧起此次課程設(shè)計(jì),感覺受益匪淺,從拿到題目到完成整個(gè)編程,從理論到實(shí)踐,學(xué)到很多很多的課堂理論中沒學(xué)到過的東西,不僅對(duì)鍵盤的識(shí)別技術(shù)這一章節(jié)的知識(shí)點(diǎn)有了深刻的認(rèn)識(shí),而且對(duì)這學(xué)期開設(shè)的單片機(jī)這門課程有了更全面的了解,尤其是在學(xué)習(xí)使用proteus軟件片編程和仿真時(shí)收獲良多。通過這次單片機(jī)課程設(shè)計(jì),還使我懂得了實(shí)踐的重要性。同時(shí)在程序調(diào)試的過程中提高自己的發(fā)現(xiàn)問題、解

12、決問題、實(shí)際動(dòng)手和獨(dú)立思考的能力。1、細(xì)心和耐心是基礎(chǔ):制作前一定要做好規(guī)劃設(shè)計(jì),反復(fù)論證和計(jì)算,防止考慮不到的地方使得做好的東西需要翻工。如果制作或使用中發(fā)現(xiàn)問題,既極大地打擊積極性和自信心,還會(huì)極大地消耗時(shí)間,拖延項(xiàng)目的進(jìn)度。制作硬件也一定要耐心細(xì)致,極小的失誤都會(huì)造成短路等問題而直接造成大錯(cuò)。在設(shè)計(jì)中,如果沒有考慮到哪怕任何一個(gè)細(xì)節(jié),都有可能讓沒考慮到的情況造成BUG,使各個(gè)子程序的時(shí)序和運(yùn)行之間可能會(huì)互相干涉和沖突。2、互助是我們成功的條件:上課的時(shí)候的學(xué)習(xí)從來沒有見過真正的單片機(jī),只是從理論的角度去理解枯燥乏味。但在實(shí)習(xí)中見過甚至使用了單片機(jī)及其系統(tǒng),能夠理論聯(lián)系實(shí)際的學(xué)習(xí),開闊了眼

13、界,提高了單片機(jī)知識(shí)的理解和水平。在這次課程設(shè)計(jì)中又讓我體會(huì)到了合作與團(tuán)結(jié)的力量,當(dāng)遇到不會(huì)或是設(shè)計(jì)不出來的地方,我們就會(huì)在QQ群里討論或者是同學(xué)之間相互幫助。團(tuán)結(jié)就是力量,無(wú)論在現(xiàn)在的學(xué)習(xí)中還是在以后的工作中,團(tuán)結(jié)都是至關(guān)重要的,有了團(tuán)結(jié)會(huì)有更多的理念、更多的思維、更多的情感。單片機(jī)是很重要的一門課程,老師和一些工作的朋友都曾說過,如果學(xué)好一門單片機(jī),就憑這個(gè)技術(shù)這門手藝找一個(gè)好工作也不成問題。盡管我們?cè)谡n堂學(xué)到的內(nèi)容很有限,但在以后的學(xué)習(xí)中單片機(jī)還需要好好的深入研究和學(xué)習(xí),學(xué)好了單片機(jī)也就多了一項(xiàng)生存的本錢。最后感謝老師對(duì)我們的精心指導(dǎo)和幫助,感謝同學(xué)們對(duì)我的幫助。3、做任何事都要有計(jì)劃:

14、在這樣一個(gè)復(fù)雜項(xiàng)目的實(shí)施過程中,我們遇到了很多困難和挫折。很幸運(yùn)我們方向一直明確,堅(jiān)持按照計(jì)劃,一步步克服困難,現(xiàn)在想來,我們確實(shí)是因?yàn)橐粋€(gè)明確的計(jì)劃,一點(diǎn)點(diǎn)克服困難,一點(diǎn)點(diǎn)積累經(jīng)驗(yàn),才走到現(xiàn)在的。這其中計(jì)劃的重要性不言而喻。這門課的學(xué)習(xí)確實(shí)給了我們很多,而且不單單是知識(shí)和技能,還有精神層面上的東西。而在項(xiàng)目制作過程中的困難和喜悅,希望和失望,成功和失敗,也都是我們心中永遠(yuǎn)的寶貴財(cái)富。七、參考文獻(xiàn):1 姚國(guó)林,單片機(jī)應(yīng)用與應(yīng)用技術(shù).北京:清華大學(xué)出版社,2009.2 黃建新.,單片機(jī)原理、接口技術(shù)及應(yīng)用. 北京:化學(xué)工業(yè)出版社,20093 李群芳,肖看.單片機(jī)原理、接口及應(yīng)用嵌入式系統(tǒng)技術(shù)基礎(chǔ)

15、.北京:清華大學(xué)出版社,20054 張毅剛,MCS-51單片機(jī)應(yīng)用設(shè)計(jì).哈爾冰:哈爾冰工業(yè)大學(xué)出版社,1997.5 邊春遠(yuǎn),王志強(qiáng).MCS-51單片機(jī)應(yīng)用開發(fā)實(shí)用子程序. 北京:人民郵電出版社,2005.6 .八、附錄1、源程序代碼#include reg51.h#define THC0 0xd8#define TLC0 0xf0void StarandStop();unsigned char code Duan=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;/0-9段數(shù)碼管,共陰極unsigned char DataBuffer4=0,0

16、,0,0,DataBuffer_14=0,0,0,0,DataBuffer_24=0,0,0,0;/四個(gè)數(shù)碼管顯示數(shù)值,數(shù)組變量定義unsigned int a=1;unsigned int hdrSec_1=0,miao_1=0,hdrSec_2=0,miao_2=0;bit flag_1=0,flag_2=0;/三個(gè)通道數(shù)碼管刷新標(biāo)志位sbit P10=P10; sbit P11=P11;sbit P12=P12;sbit P13=P13;sbit P14=P14;sbit P15=P15;sbit P16=P16;sbit P17=P17;sbit P07=P07;/*程序初始化*/vo

17、id timer1_init()TMOD=0x11;/初始化兩個(gè)定時(shí)器TR0=1; /啟動(dòng)定時(shí)器0ET0=1; /允許定時(shí)器中斷EA=1; /總中斷打開TH0=THC0;TL0=TLC0;*顯示程序*/void display()unsigned char b; int x;while(1)if(miao_1=10)P16=0;if(miao_2=10)P17=0;if(a=1)if(miao_1%2=1)P15=0;else if(miao_1%2=0) P15=1;DataBuffer0=DataBuffer_10;DataBuffer1=DataBuffer_11;DataBuffer2

18、=DataBuffer_12;DataBuffer3=DataBuffer_13;if(a=2)if(miao_2%2=1)P15=0;else if(miao_2%2=0)P15=1;DataBuffer0=DataBuffer_20;DataBuffer1=DataBuffer_21;DataBuffer2=DataBuffer_22;DataBuffer3=DataBuffer_23;for(b=0;b1;x-); /*中斷程序*/void timer0() interrupt 1TMOD=0x11;/初始化兩個(gè)定時(shí)器TH0=THC0;TL0=TLC0;/*通道設(shè)置*/if(P13=0)

19、a=1;if(P14=0)a=2;StarandStop(); if(flag_1=1&flag_2=1)hdrSec_1+;hdrSec_2+;if(hdrSec_2=99)hdrSec_2=0;miao_2+;if(miao_2=99) miao_2=0; DataBuffer_20=miao_2%100/10; /前兩位顯示秒表DataBuffer_21=miao_2%10;DataBuffer_22=hdrSec_2%100/10; /后兩位顯示百分秒表DataBuffer_23=hdrSec_2%10;if(hdrSec_1=99)hdrSec_1=0;miao_1+;if(miao

20、_1=99)miao_1=0; DataBuffer_10=miao_1%100/10; /前兩位顯示秒表DataBuffer_11=miao_1%10;DataBuffer_12=hdrSec_1%100/10; /后兩位顯示百分秒表DataBuffer_13=hdrSec_1%10; if(flag_1=1&flag_2=0)hdrSec_1+;if(hdrSec_1=99)hdrSec_1=0;miao_1+;if(miao_1=99) miao_1=0; DataBuffer_10=miao_1%100/10; /前兩位顯示秒表DataBuffer_11=miao_1%10;DataB

21、uffer_12=hdrSec_1%100/10; /后兩位顯示百分秒表DataBuffer_13=hdrSec_1%10;DataBuffer_20=miao_2%100/10; /前兩位顯示秒表DataBuffer_21=miao_2%10;DataBuffer_22=hdrSec_2%100/10; /后兩位顯示百分秒表DataBuffer_23=hdrSec_2%10;if(flag_1=0&flag_2=1)hdrSec_2+;if(hdrSec_2=99)hdrSec_2=0;miao_2+;if(miao_2=99) miao_2=0; DataBuffer_20=miao_2%100/10; /前兩位顯示秒表DataBuffer_21=miao_2%10;DataBuffer_22=hdrSec_2%100/10; /后兩位顯示百分秒表DataBuffer_23=hdrSec_2%10;DataBuffer_10=miao_1%100/10; /前兩位顯示秒表DataBuffer_11=miao_1%10;DataBuffer_12=hdrSec_1%100/10; /后兩位顯示百分秒表DataBuffer_13=hdrSec_1%10;if(flag_

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論