基于ATC5的電子秒表設(shè)計(jì)報(bào)告_第1頁(yè)
基于ATC5的電子秒表設(shè)計(jì)報(bào)告_第2頁(yè)
基于ATC5的電子秒表設(shè)計(jì)報(bào)告_第3頁(yè)
基于ATC5的電子秒表設(shè)計(jì)報(bào)告_第4頁(yè)
基于ATC5的電子秒表設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于AT89C52的電子秒表設(shè)計(jì)報(bào)告 所 在 學(xué) 院 :微電子與固體電子學(xué)院 所 在 專(zhuān) 業(yè):固體電子工程 小 組 成 員:余希猛衡相文何彬德完 成 日 期:2013年4月20日摘要隨著計(jì)算機(jī)在社會(huì)領(lǐng)域的滲透,單片機(jī)的應(yīng)用正在不斷地走向深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)技術(shù)不斷更新。單片機(jī)是指集成在一個(gè)芯片上的微型計(jì)算機(jī),主要包括CPU、隨機(jī)存儲(chǔ)器、只讀存儲(chǔ)器、基本輸入/輸出接口電路、定時(shí)器/計(jì)數(shù)器等部件。本文設(shè)計(jì)的主要思路是采用ATMEL公司的AT89C52單片機(jī)作為中央處理器,LED數(shù)碼顯示器,ISD1420語(yǔ)音芯片,設(shè)計(jì)具有計(jì)時(shí)和鬧鈴以及語(yǔ)音播報(bào)功能的電子秒表。正文中首先介紹了系統(tǒng)硬件的設(shè)計(jì)思路

2、以及工作原理,電子秒表按鍵功能,其次簡(jiǎn)單闡述了程序的流程、程序各功能模塊的分析和實(shí)現(xiàn)過(guò)程,最后簡(jiǎn)單總結(jié)了本次設(shè)計(jì)的難點(diǎn)、關(guān)鍵點(diǎn)以及收獲的經(jīng)驗(yàn)。關(guān)鍵詞:?jiǎn)纹瑱C(jī),LED數(shù)碼管顯示器 ,AT89C52目 錄1 緒論41.1 引言41.2 器件選擇41.3 設(shè)計(jì)方案41.4 方案論證52 功能概述63 硬件設(shè)計(jì)83.1處理器設(shè)計(jì)83.2 電路設(shè)計(jì)94 軟件設(shè)計(jì)105 測(cè)試數(shù)據(jù)與理論分析-156 總結(jié)161緒論1.1 引言單片機(jī)自問(wèn)世以來(lái),以其良好性能,價(jià)格低廉等特點(diǎn)。越來(lái)越被人們重視。此次的電子秒表設(shè)計(jì),我們決定采用STC系類(lèi)的52單片機(jī),作為電路的中央處理芯片。1.2 器件選擇中央處理芯片:STC8

3、9C52RC。顯示器:8段數(shù)碼管。語(yǔ)音芯片:ISD1420。以及各種電阻,電容,74系列芯片。1.3 設(shè)計(jì)方案方案一:采用PIC單片機(jī)控制數(shù)碼管。Microchip公司PIC系列單片機(jī)是近年來(lái)重點(diǎn)發(fā)展的單片機(jī)系列產(chǎn)品,品種最為豐富,其性能比低檔產(chǎn)品有所提高,增加了中斷功能,帶A/D,內(nèi)部E2PROM數(shù)據(jù)存儲(chǔ)器,雙時(shí)鐘工作,比較輸出,捕捉輸入,PWM輸出, LCD驅(qū)動(dòng)等等,其封裝從8腳到68腳,可用于高、中、低檔的電子產(chǎn)品設(shè)計(jì)中,價(jià)格適中,廣泛應(yīng)用在各類(lèi)電子產(chǎn)品中。方案二:采用C52單片機(jī)控制數(shù)碼管。為了使電子秒表功能更好。我們決定采用8個(gè)8段數(shù)碼管,這樣做使得電子秒表更加美觀,對(duì)時(shí)間的讀取更加

4、方便明了。同時(shí)對(duì)時(shí)間精確更提高一步,精確到1毫秒。電路外設(shè)置8個(gè)按鍵,起到控制電子秒表實(shí)現(xiàn)不同功能。另外添加了幾個(gè)LED二極管,用來(lái)提示使用者當(dāng)前電子秒表處于什么狀態(tài)。鬧鈴方面,除了使用者自己定下的時(shí)間外,電路本身會(huì)在整時(shí)自動(dòng)報(bào)時(shí),例如,當(dāng)電子秒表計(jì)時(shí)到10-00-00,即10分鐘時(shí)。鬧鈴響起,LED燈點(diǎn)亮。方案三:采用555定時(shí)器控制數(shù)碼管。由555定時(shí)器構(gòu)成的多諧振蕩器,是一種信號(hào)比較好的時(shí)鐘發(fā)生器。主要由555定時(shí)器,電容,電阻構(gòu)成。調(diào)節(jié)電位器,就可以獲得一定頻率的波信號(hào)。然后輸入計(jì)數(shù)器,使計(jì)數(shù)器開(kāi)始計(jì)數(shù)。1.4 方案論證方案一:使用PIC單片機(jī)控制數(shù)碼管。PIC系列單片機(jī)的性能雖然比其

5、他的系列單片機(jī)更好,但是由于我們小組本來(lái)一直在使用C51的開(kāi)發(fā)板,而沒(méi)有PIC的開(kāi)發(fā)板。并且再次學(xué)習(xí)PIC的開(kāi)發(fā)板,時(shí)間上也有些緊急。所以我們最終就決定還是使用C51單片機(jī)來(lái)完成本次的設(shè)計(jì)。方案二:使用C52單片機(jī)控制數(shù)碼管。使用C52單片機(jī)需要用C語(yǔ)言編程序,考慮到我們上學(xué)期對(duì)C語(yǔ)言有了初步的學(xué)習(xí),有一定的基礎(chǔ)。所以這個(gè)方案一開(kāi)始就吸引了我們。然后我們正好也有C51單片機(jī)的開(kāi)發(fā)板,這讓我們?cè)僖淮沃幸膺@個(gè)方案。排除這些因素,C51單片機(jī)本身的一些優(yōu)勢(shì)也是不錯(cuò)的。通過(guò)外接兩個(gè)74HC573芯片,可以很好的方便控制8個(gè)數(shù)碼管。而且在硬件電路的焊接方面也是很方便的。所以我們通過(guò)比較論證,最終還是決定

6、采用方案二。方案三:使用555定時(shí)器控制數(shù)碼管。555定時(shí)器通過(guò)外部電容與電阻的搭配產(chǎn)生固定的頻率,來(lái)控制計(jì)數(shù)器實(shí)現(xiàn)電子秒表功能。使用此方案能夠獲得較精確的計(jì)數(shù)時(shí)間,使得電子秒表的精確度能更好。但是經(jīng)過(guò)我們小組的商議,一致認(rèn)為該方案的硬件方面有較大的難度。每個(gè)數(shù)碼管都需要一個(gè)555定時(shí)電路。在焊電路時(shí)容易發(fā)生一些意想不到的問(wèn)題。所以我們決定不采用此方案。2功能概述此次設(shè)計(jì)的功能實(shí)現(xiàn)主要依靠電路外圍的8個(gè)輸入按鍵?,F(xiàn)在主要對(duì)這8個(gè)按鍵的各自功能,以及先后按下的不同現(xiàn)象進(jìn)行敘述。(1)當(dāng)電路接通電源后,將有一段音樂(lè):世上只有媽媽好。大概10秒鐘會(huì)結(jié)束音樂(lè)播放,音樂(lè)結(jié)束后,8段數(shù)碼管將顯示 “HEL

7、LO”字符。提醒使用人員進(jìn)入操作任務(wù)。此時(shí)可有兩種選擇:a按下K2鍵,或者b按下K1鍵。其中K1是進(jìn)入計(jì)時(shí)狀態(tài),K2是進(jìn)入調(diào)用數(shù)據(jù)狀態(tài)。(注:若想要調(diào)用數(shù)據(jù),需要在計(jì)時(shí)前執(zhí)行。)a 當(dāng)使用人員按下k2鍵時(shí):數(shù)碼管進(jìn)入調(diào)用數(shù)據(jù)狀態(tài)。由于在單片機(jī)程序中,秒表存儲(chǔ)了5組數(shù)據(jù),分別為10-10-00 , 20-20-00 ,30-30-00 ,40-40-00 ,50-50-00.所以當(dāng)按下k2鍵一次時(shí),調(diào)用出 10-10-00,當(dāng)按下兩次時(shí),調(diào)用出 20-20-00,以此類(lèi)推。當(dāng)調(diào)出50-50-00后,再按兩次,調(diào)用數(shù)據(jù)重新回到10-10-00,依次循環(huán)。調(diào)用完成后。按下k1鍵確認(rèn)。此時(shí)可以再用K5

8、,K6,K7,K8來(lái)調(diào)節(jié)時(shí)間。然后再按下k3鍵,計(jì)時(shí)開(kāi)始。b 當(dāng)使用人員不想調(diào)用數(shù)據(jù)時(shí),可以按下K1鍵:數(shù)碼管顯示 00-00-00,此時(shí)使用人員可根據(jù)自己意愿,選擇定下鬧鈴時(shí)間,或者進(jìn)入計(jì)時(shí)開(kāi)始。若想要定下鬧鈴時(shí)間,就可以按下k2鍵。紅燈提示進(jìn)入設(shè)置鬧鈴狀態(tài)。然后通過(guò)k5,k6,k7,k8四個(gè)鍵調(diào)節(jié)鬧鈴時(shí)間。其中k5鍵是使秒鐘數(shù)遞減,即每按一下k5,就使秒鐘數(shù)減1;k6鍵是使秒鐘數(shù)遞增;k7鍵是使分鐘數(shù)遞減;k8鍵是使分鐘數(shù)遞增。當(dāng)使用者確定好鬧鈴時(shí)間后,再按下k1鍵,數(shù)碼管清零。此時(shí)鬧鈴時(shí)間就設(shè)置好了。然后按下k3鍵。計(jì)時(shí)開(kāi)始。計(jì)時(shí)到達(dá)鬧鈴時(shí)間時(shí),蜂鳴器鳴叫0.5秒,同時(shí)黃燈亮起。語(yǔ)音播報(bào)

9、鬧鈴時(shí)間。(2) 當(dāng)數(shù)碼管處于計(jì)時(shí)狀態(tài)時(shí)。按下k4鍵時(shí),計(jì)時(shí)停止,并保留當(dāng)前的時(shí)間。再按下k3鍵時(shí),計(jì)時(shí)重新從保留的時(shí)間處開(kāi)始。可反復(fù)操作。無(wú)論數(shù)碼管是處于計(jì)時(shí)狀態(tài),還是暫停狀態(tài),只要按下k1鍵,數(shù)碼管就會(huì)全部清零。下面再對(duì)八個(gè)按鍵進(jìn)行歸納說(shuō)明一下:K1鍵:主要起到清零的作用,當(dāng)調(diào)用數(shù)據(jù)完畢,定時(shí)完畢后,也需要按下K1鍵,然后再執(zhí)行計(jì)時(shí)或設(shè)置計(jì)時(shí)起點(diǎn)的功能。K2鍵:主要起到調(diào)用數(shù)據(jù)與定鬧鈴的作用。在數(shù)碼管顯示“HELLO“字樣時(shí)按K2鍵進(jìn)入調(diào)用數(shù)據(jù)狀態(tài),在數(shù)碼管顯示”00-00-00“字樣時(shí)按K2鍵進(jìn)入定鬧鈴狀態(tài)。K3鍵:起到開(kāi)始計(jì)時(shí)的作用。即在一定情況下,按下K3鍵就可以進(jìn)入計(jì)時(shí)狀態(tài)。K4鍵

10、:起到暫停計(jì)時(shí)的作用。即當(dāng)電子秒表正在計(jì)時(shí)時(shí),按下K4鍵就可以使計(jì)數(shù)暫停。K5鍵:設(shè)置時(shí)間,使秒鐘數(shù)遞減。K6鍵:設(shè)置時(shí)間,使秒鐘數(shù)遞增。K7鍵:設(shè)置時(shí)間,使分鐘數(shù)遞減。K8鍵:設(shè)置時(shí)間,使分鐘數(shù)遞增。硬件按鍵的連接及布局:K7 K5 K3 K1K8 K6 K4 K23硬件設(shè)計(jì)3.1 處理器設(shè)計(jì)(a)AT89SC52的最基本電路圖。(b)AT89SC52的其他引腳連接。 P0口:連接到兩個(gè)74HC573上,起到控制數(shù)碼管的段選和位選的作用。 P1口:連接到兩個(gè)74HC377上,起到控制錄放音芯片的作用。 P3口:連接到8個(gè)按鍵。用來(lái)控制秒表的工作。(c)注意問(wèn)題。 上拉電阻的連接。STC系列芯

11、片中,有的IO口需要接上拉電阻,而有的IO口就不需要。比如P1口作為輸出端口時(shí)必須接上拉電阻。這種小問(wèn)題是必須要注意的。不然會(huì)很難檢測(cè)出問(wèn)題的。(a)放音電路圖(b)數(shù)碼管電路圖4 軟件設(shè)計(jì)調(diào)用數(shù)據(jù)程序 if(key1=0) DelayMs(20); while(p) if(key0=0) a=0;n=1;m=0;p=0;d=1; diaoyong(); switch(e) case 2: hour=10;minute=10;second=0;break; case 3: hour=20;minute=20;second=0;break; case 4: hour=30;minute=30;s

12、econd=0;break; case 5: hour=40;minute=40;second=0;break; case 6: hour=50;minute=50;second=0;break; default:break; TempData0=dofly_DuanMahour/10; TempData1=dofly_DuanMahour%10; TempData2=0x40; TempData3=dofly_DuanMaminute/10; TempData4=dofly_DuanMaminute%10; TempData5=0x40; TempData6=dofly_DuanMaseco

13、nd/10; TempData7=dofly_DuanMasecond%10; 鬧鐘程序while(n) if(key1=0) ding2=0; while(d) H=hour;M=minute; TempData0=dofly_DuanMahour/10; TempData1=dofly_DuanMahour%10; TempData2=0x40; TempData3=dofly_DuanMaminute/10; TempData4=dofly_DuanMaminute%10; TempData5=0x40; TempData6=dofly_DuanMasecond/10; TempData

14、7=dofly_DuanMasecond%10; Display(0,8);if(key0=0)d=0;hour=0;minute=0;second=0;ding2=1;num=KeyScan(); switch(num) case 1:hour+;if(hour=60)hour=0; break; case 2:hour-;if(hour=255)hour=59; break; case 3:minute+; if(minute=60)minute=0; break; case 4:minute-; if(minute=255)minute=59; break; default:break;

15、 計(jì)數(shù)程序while (m) unsigned int i; extern unsigned char hour,minute,second;i+; if(i=5) i=0;UpdateTimeFlag=1; num+; if(num=77) num=0;second+;if(second=100) second=0; minute+; if(minute=60) minute=0; hour+; if(hour=60) hour=0;其他子程序void Display(unsigned char FirstBit,unsigned char Num) static unsigned char

16、 i=0; DataPort=0; LATCH1=1; LATCH1=0; DataPort=dofly_WeiMai+FirstBit; LATCH2=1; LATCH2=0; DataPort=TempDatai; LATCH1=1; LATCH1=0; i+; if(i=8)i=0;unsigned char KeyScan(void)unsigned char keyvalue; if(KeyPort!=0xff) DelayMs(10); if(KeyPort!=0xff) keyvalue=KeyPort; while(KeyPort!=0xff)Display(0,8); ;sw

17、itch(keyvalue) case 0xfe:return 1;break; case 0xfd:return 2;break; case 0xfb:return 3;break; case 0xf7:return 4;break; case 0xef:return 5;break; case 0xdf:return 6;break; case 0xbf:return 7;break; case 0x7f:return 8;break; default:return 0;break; return 0;5 測(cè)試數(shù)據(jù)與理論分析1.1 問(wèn)題:當(dāng)數(shù)碼管顯示數(shù)字時(shí),其中的3,5,9最下面的一橫不亮

18、,但 是2,6,8的時(shí)候它又亮了。分析:一開(kāi)始,我們都很糾結(jié),百思不得其解。但是后來(lái),我們認(rèn)為,像這種情況,一定不會(huì)是電路原理,或者是LED燈的問(wèn)題。因?yàn)槿绻沁@些類(lèi)似問(wèn)題,當(dāng)顯示2,6,8時(shí)它也應(yīng)該不亮。后來(lái),我們把這些數(shù)對(duì)應(yīng)的P0口輸出數(shù)據(jù)列出,對(duì)比它們的不同。如下, :0101 1011 3 : 0100 1111 5 : 0110 11016 : 0111 1101 8 : 0111 1111 9 : 0110 1111 經(jīng)過(guò)對(duì)比可以發(fā)現(xiàn),凡是不亮的數(shù)值,第五位前的第四位都是0;凡是亮的數(shù)值,第五位前的第四位都是1。既是第五位受到了第四位的影響,應(yīng)該是兩條線相連了。于是我們用萬(wàn)用表測(cè)試發(fā)現(xiàn),果真如此。重新焊接后,再測(cè)試發(fā)現(xiàn)它就好了。1.2 問(wèn)題:當(dāng)蜂鳴器在時(shí)間達(dá)到設(shè)置的鬧鈴時(shí)間時(shí),響了0.5秒之后.不會(huì)停止,而是繼續(xù)鳴響。 分析:在開(kāi)發(fā)板上測(cè)試程序時(shí),蜂鳴器是按照要求鳴聲的。所以我們?cè)谝婚_(kāi)始就認(rèn)為是在焊電路時(shí)出現(xiàn)了虛焊。于是我們用萬(wàn)用表進(jìn)行了檢測(cè).但是發(fā)現(xiàn)實(shí)際電路并沒(méi)出錯(cuò)。排出了這種可能。我們認(rèn)為可能是電路原理或是元件選擇出了錯(cuò)。比如分壓電阻阻值太小或則太大,使三極管不能達(dá)到響應(yīng)值。為此我們重新測(cè)量數(shù)據(jù).確實(shí)是電阻的選擇出了錯(cuò)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論