【正文】
各個(gè)芯片的特性實(shí)現(xiàn)我們所需要的功能。關(guān)鍵詞:stc單片機(jī);倒計(jì)時(shí)器;設(shè)計(jì)Based stc SCM 9999 seconds countdown DesignAuthor: Professor: (Department of Electronics, Hainan normal university,Haikou, 571158)Abstract: This thesis focuses on the needs of the countdown system design introduced stc SCM some of the basic principles, such as stc SCM interface functions, interrupts, timers, etc.. Need to use latches countdown system, LED digital display and other major module, through the interaction between the different modules, plete hardware configuration of the initial countdown. For the countdown in LED digital display, the use of softwarebased interface method, which uses a software program to decode Keil uVision3.Keywords: stc SCM。海 南 師 范 大 學(xué) 本 科 生 畢 業(yè) 論 文題目:基于stc單片機(jī)9999秒倒計(jì)時(shí)器的設(shè)計(jì)姓 名: 學(xué) 號(hào): 專 業(yè): 自動(dòng)化 年 級(jí): 2009級(jí) 系 別: 完成日期: 2012年5月 指導(dǎo)教師: 本科生畢業(yè)論文(設(shè)計(jì))獨(dú)創(chuàng)性聲明本人聲明所呈交的畢業(yè)論文(設(shè)計(jì))是本人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作及取得的研究成果,除了文中特別加以標(biāo)注和致謝的地方外,本論文中沒(méi)有抄襲他人研究成果和偽造數(shù)據(jù)等行為 。 Countdown。倒計(jì)時(shí)器作為一種電子產(chǎn)品在實(shí)際運(yùn)用方面十分廣泛,在交通等各個(gè)類型需要計(jì)時(shí)比賽中都有很廣泛的運(yùn)用。反之,當(dāng)Q等于高電平時(shí)T1截止,TL也是高電平。在單片機(jī)內(nèi)部有一個(gè)時(shí)鐘振蕩電路,只要外界一個(gè)振蕩源就能產(chǎn)生一定的時(shí)鐘信號(hào)送到單片機(jī)內(nèi)部的各個(gè)單元,決定單片機(jī)的工作速度。本系統(tǒng)的倒計(jì)時(shí)時(shí)間的最大范圍是9999秒,要求精確到秒,顯示格式是9999/999/99/9。圖33 (a)為a到g在數(shù)碼管的編排,(b)分別為共陰極、共陽(yáng)極電路當(dāng)發(fā)光二極管導(dǎo)通時(shí),它就會(huì)發(fā)光。當(dāng)送入一次字形碼后,顯示字形可一直保持,直到送入新字形碼為止。 復(fù)位是單片機(jī)的初始化操作,只需給AT89C52的復(fù)位引腳RST加上大于2個(gè)機(jī)器周期(即24個(gè)時(shí)鐘振蕩周期),PC初始化為0000H,使單片機(jī)從OUT單元開(kāi)始執(zhí)行程序。本系統(tǒng)采用的電路工作原理是:上電瞬間,RC電路充電,RESET引腳端出現(xiàn)正脈沖,只要RESET保持10ms以上高電平,就能使單片機(jī)有效的復(fù)位。最后,模塊長(zhǎng)度適中。然后對(duì)返回值進(jìn)行判斷:若 key=0x18,則表示按下的鍵是 KC(設(shè)置初值鍵)。0x0f)!=0x0f) //判斷是否有有鍵按下{delay(1)。最后,返回鍵值,并進(jìn)行判斷,建立有效標(biāo)志,以對(duì)主程序的進(jìn)行。 } }倒計(jì)時(shí)模塊設(shè)計(jì):首先,初值設(shè)置。②新建一個(gè)工程。在寫入程序的時(shí)候,通過(guò)軟件設(shè)計(jì)模塊,先寫好主程序的框架,然后在需要調(diào)用子程序的時(shí)候,一個(gè)子程序一個(gè)子程序進(jìn)行編寫、調(diào)試。先按下 KC 鍵,等待設(shè)置初值;然后任意按下 K0~K9 設(shè)置初值,完成后按下 KF 鍵開(kāi)始倒計(jì)時(shí)。通過(guò)本次設(shè)計(jì),使我在對(duì)單片機(jī)一無(wú)所知的情況下了解了單片機(jī)的部分原理和一些簡(jiǎn)單的設(shè)計(jì),同時(shí),也增強(qiáng)了對(duì)單片機(jī)的興趣。 //數(shù)碼管09的編碼unsigned char minit,second,count,count1。 sbit led2=P2^4。i0。 Delay5ms()。//顯示時(shí)間秒 LEDData=LEDCode[second/10]。 }//=========================按鍵檢測(cè)程序==============================================void keyscan(void){ if(playon==0) //在比賽未開(kāi)始的狀態(tài)下 { if(add1==0) //當(dāng)add1按鍵按下時(shí) { display()。 { if(minit0) minit。 } do display()。 } } }//******************************主函數(shù)*************************************************void main(void){ TMOD=0x11。 //開(kāi)總中斷 ET0=1。 //顯示程序 }}//============外部中斷0中斷程序=================void PxInt0(void) interrupt 0{ Delay5ms()。 //重賦初值 TH0=0x3c。 } else //當(dāng)前兩位9,秒都為0時(shí),表示倒計(jì)時(shí)時(shí)間到, { timeover=1。 //倒計(jì)時(shí)標(biāo)志清0,表示1次計(jì)時(shí)結(jié)束 TR0=0。 //啟動(dòng)計(jì)時(shí) count++。 //關(guān)中斷使能 if(playon==0) //當(dāng)計(jì)時(shí)結(jié)束或暫停時(shí) { playon=1。 //開(kāi)T1中斷 TR0=0。 //定時(shí)器0,初值為0x3CB0, TH0=0x3c。 } if(dec2==0)