【基于單片機(jī)的籃球賽計(jì)時(shí)計(jì)分器設(shè)計(jì)7200字(論文)】_第1頁
【基于單片機(jī)的籃球賽計(jì)時(shí)計(jì)分器設(shè)計(jì)7200字(論文)】_第2頁
【基于單片機(jī)的籃球賽計(jì)時(shí)計(jì)分器設(shè)計(jì)7200字(論文)】_第3頁
【基于單片機(jī)的籃球賽計(jì)時(shí)計(jì)分器設(shè)計(jì)7200字(論文)】_第4頁
【基于單片機(jī)的籃球賽計(jì)時(shí)計(jì)分器設(shè)計(jì)7200字(論文)】_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

ⅠPAGE基于單片機(jī)的籃球賽計(jì)時(shí)計(jì)分器設(shè)計(jì)TOC\o"1-3"\u引言 21.系統(tǒng)方案說明 31.1方案選擇 31.1.1籃球計(jì)時(shí)計(jì)分器設(shè)計(jì)的現(xiàn)狀 31.1.2系統(tǒng)總體設(shè)計(jì)方案 31.2系統(tǒng)基本功能介紹 32.系統(tǒng)硬件電路設(shè)計(jì) 42.1籃球計(jì)時(shí)計(jì)分器電路原理圖 42.2籃球計(jì)時(shí)計(jì)分器電路工作過程 42.3系統(tǒng)硬件電路組成 52.3.1計(jì)時(shí)電路 52.3.2計(jì)分電路 72.4器件選擇及介紹 82.4.1AT89C51 83.軟件的編程與調(diào)試 113.1系統(tǒng)設(shè)計(jì)流程圖 113.2C語言程序設(shè)計(jì) 12結(jié)論 16參考文獻(xiàn) 17附錄1原理圖 19PAGE1PAGE19摘要:自從70年代單片機(jī)出現(xiàn)以來,由于其優(yōu)秀的性價(jià)比受到了人們的廣泛關(guān)注,促使其應(yīng)用非常廣泛,發(fā)展極快。其集成度高,功能強(qiáng)大,通用性好,尤其是擁有能耗低、價(jià)格低廉、可靠性強(qiáng)、抗干擾能力低、使用方便等優(yōu)點(diǎn),使單片機(jī)得到了迅速的推廣。目前已經(jīng)其成為測量系統(tǒng)和新型電子產(chǎn)品關(guān)鍵部件的首選,導(dǎo)致許多球賽的記時(shí)計(jì)分系統(tǒng)也使用單片機(jī)來做控制,如:液晶顯示(LCD)用單片機(jī)控制計(jì)時(shí)計(jì)分器,采用單片機(jī)控制LED七段顯示的計(jì)時(shí)碼表等?;@球計(jì)時(shí)計(jì)分器由計(jì)時(shí)器,計(jì)分器和集成控制器組成,以單片機(jī)為核心。系統(tǒng)采用時(shí)間顯示模塊、成績顯示模塊、定時(shí)報(bào)警、按鍵控制鍵盤模塊來做主體的模塊設(shè)計(jì)。程序結(jié)構(gòu)模塊簡單、清晰,易于編寫、調(diào)試和維修。程序可讀性好,可以對單個(gè)地方進(jìn)行修改,使其他地方不會發(fā)生變動。使用KeilC51軟件進(jìn)行編譯,然后生成HEX文件到芯片,使用Proteus軟件模擬測試功能否正?;?,然后使用Protel99繪圖硬件電路圖。系統(tǒng)硬件電路設(shè)計(jì)包括以下組件:單片AT89C51,計(jì)時(shí)時(shí)電路,評分電路,報(bào)警電路和按鍵開關(guān)。本文由AT89C51設(shè)計(jì)的編程控制LED七號數(shù)碼管顯示球賽計(jì)時(shí)計(jì)分系統(tǒng)。系統(tǒng)具有賽程定時(shí)設(shè)置、調(diào)度時(shí)間暫停、及時(shí)刷新成績性能等功能。本實(shí)用具有成本低、性能穩(wěn)定、使用方便、便于攜帶等優(yōu)點(diǎn),廣泛適用于各種學(xué)校或小組作為賽程計(jì)時(shí)計(jì)分。關(guān)鍵詞:單片機(jī),計(jì)時(shí),計(jì)分,顯示器,接口前言隨著單片機(jī)應(yīng)用的逐漸推廣,許多使用單片機(jī)控制的賽事計(jì)時(shí)得分系統(tǒng)也由此產(chǎn)生,如單片機(jī)控制LCD液晶顯示[1]的計(jì)時(shí)得分系統(tǒng),采用單芯片控制的LED七段計(jì)時(shí)得分裝置。根據(jù)本課題要求,介紹了籃球賽事計(jì)時(shí)得分器的設(shè)計(jì)方法,就是用單片機(jī)來工作的電路。這種設(shè)計(jì)方法可以提高學(xué)生使用單片機(jī)接口電路的能力。該電路使用單片機(jī)作為核心組件,使用兩個(gè)三位一體數(shù)碼管顯示兩隊(duì)成績,使用四位一體數(shù)碼管顯示時(shí)間。得分范圍為0至999分之間,滿足了賽事的需要。在比賽開始之前,設(shè)置好比賽的時(shí)間,直到倒計(jì)時(shí)為零。為了滿足實(shí)際賽程計(jì)時(shí)的需要,將時(shí)間范圍設(shè)置為0到99分鐘。為了匹配計(jì)時(shí)器的時(shí)間和校準(zhǔn)分?jǐn)?shù),設(shè)計(jì)了六個(gè)按鈕,另一個(gè)按鈕用于輸入和修改兩隊(duì)的成績,其余兩個(gè)設(shè)置為啟動和暫停。另外,為了在比賽時(shí)間到達(dá)時(shí),顯示比賽結(jié)束,還設(shè)計(jì)了定時(shí)報(bào)警系統(tǒng)。該設(shè)計(jì)還有賽程定時(shí)設(shè)置、暫停比賽時(shí)間、刷新兩隊(duì)成績等功能。設(shè)計(jì)由軟件設(shè)計(jì)和硬件設(shè)計(jì)組成。主芯片采用AT89C51單片機(jī),采用C語言編寫軟件程序,主體分為時(shí)間顯示模塊,分?jǐn)?shù)顯示模塊,定時(shí)報(bào)警,鍵控模塊。使用KeilC51[3]軟件進(jìn)行編程編譯,然后將生成的十六進(jìn)制文件插入芯片,以查看該功能是否可用。通過這種基于單芯片籃球計(jì)時(shí)碼表的設(shè)計(jì),可以了解并熟悉單片機(jī)開發(fā)流程設(shè)計(jì),深化單片機(jī)及其外設(shè)接口技術(shù)的應(yīng)用,了解一些方法和技巧。1.系統(tǒng)方案說明1.1方案選擇1.1.1籃球計(jì)時(shí)計(jì)分器設(shè)計(jì)的現(xiàn)狀計(jì)時(shí)計(jì)分系統(tǒng)是一個(gè)對比賽信息進(jìn)行收集、記錄、處理、傳輸?shù)南到y(tǒng),主要是利用時(shí)間、分?jǐn)?shù)等數(shù)據(jù)來進(jìn)行的。體育賽事的系統(tǒng)由測量類、評價(jià)類、命中類和得分類等多種類型組成的,主要是由于體育賽事的不同,導(dǎo)致其要求也不同?;@球比賽是得分類型的系統(tǒng),主要原因是因?yàn)榛@球比賽是由球員在比賽中的得分來確定比賽勝負(fù)的結(jié)果的。籃球比賽的計(jì)時(shí)計(jì)分系統(tǒng)的組成包括了計(jì)時(shí)器、計(jì)分器等多種設(shè)備,同時(shí),目前的高水平的籃球比賽要求計(jì)時(shí)計(jì)分系統(tǒng)與電視轉(zhuǎn)播車、大屏幕等其他設(shè)備連接,實(shí)現(xiàn)現(xiàn)場氣氛和表演的功能?,F(xiàn)在,根據(jù)設(shè)計(jì)要求,對設(shè)計(jì)方案進(jìn)行介紹。1.1.2系統(tǒng)總體設(shè)計(jì)方案1、能修改時(shí)間和暫停時(shí)間,并對整個(gè)賽程的比賽時(shí)間進(jìn)行記錄。2、能隨時(shí)對甲、乙兩隊(duì)在整個(gè)賽程中的成績進(jìn)行刷新。3、場中交換比賽場地時(shí),使比分位置與隊(duì)伍對應(yīng)。4、在比賽時(shí)間結(jié)束時(shí),能發(fā)出報(bào)警指令。圖1系統(tǒng)構(gòu)成圖1.2系統(tǒng)基本功能介紹1、使用四位一體數(shù)碼管對比賽時(shí)間進(jìn)行顯示,其格式如:15:00,兩個(gè)三位一體數(shù)碼管顯示兩隊(duì)的成績,評分格式如:008。2、采用倒計(jì)時(shí)模式,以每秒的頻率減少,最初默認(rèn)為15:00時(shí),在比賽之前,可以對時(shí)間進(jìn)行,賽事進(jìn)行時(shí)不能修改。3、兩隊(duì)得分用三位數(shù)來記錄,初始值為000,滿值為999,符合比賽的要求,不能在比賽開始前和比賽后修改得分。4、游戲開始前,進(jìn)調(diào)分鐘用ADD1、DEC1鍵,進(jìn)調(diào)秒鐘用ADD2、DEC2鍵。5、可隨時(shí)暫停/啟動比賽時(shí)間。6、比賽中,對甲隊(duì)得分加、減通過ADD1,DEC1鍵進(jìn)行,對乙隊(duì)的得分加減用ADD2,DEC2鍵調(diào)試。每按一次鍵,加/減1分。7、游戲結(jié)束時(shí),換場可以通過(Exchange)鍵來進(jìn)行,在更換之后,開始下一場比賽時(shí),比分加減鍵也由其進(jìn)行交換。8、當(dāng)比賽結(jié)束時(shí),發(fā)出報(bào)警。圖2按鍵定義圖如圖示:鍵盤對應(yīng)名稱如下:ADD1,DEC1,EXCHANGE,ADD2,DEC2,RUN/STOP其中,ADD1為甲隊(duì)比分加1鍵,(比賽開始前為調(diào)整時(shí)間加1)DEC1為甲隊(duì)比分減1鍵,(比賽開始前為調(diào)整時(shí)間減1)EXCHANGE為換場鍵,一節(jié)比賽結(jié)束后才可換場。ADD2為乙隊(duì)比分加1鍵,(比賽開始前為調(diào)整時(shí)間加1)DEC2為乙隊(duì)比分減1鍵,(比賽開始前為調(diào)整時(shí)間減1)RUN/STOP為啟動暫停鍵,比賽開始前按下啟動計(jì)時(shí),比賽開始,比賽開始后,按下為暫停計(jì)時(shí),比賽暫停。2.系統(tǒng)硬件電路設(shè)計(jì)2.1系統(tǒng)電路原理圖用Protel99SE設(shè)計(jì)的電路原理圖見附錄1。2.2系統(tǒng)電路工作過程1.調(diào)整比賽時(shí)間:插上電源后,系列默認(rèn)比賽時(shí)間為15:00,兩隊(duì)得分默認(rèn)為000,然后按ADD1鍵比賽時(shí)間加1分鐘,按DEC1鍵,可以使比賽時(shí)間減少了1分鐘,要使比賽時(shí)間加1秒可以按ADD2鍵,使比賽時(shí)間減1秒按ADD2鍵。啟動比賽:按下RUN/STOP鍵,計(jì)時(shí)開始,比賽時(shí)間以1秒的頻率倒計(jì)時(shí)。暫停比賽:要在比賽進(jìn)行中,使比賽暫停,計(jì)時(shí)暫停,按RUN/STOP按鈕。比分加減:在比賽進(jìn)行中可以通過按ADD1,DEC1鍵,對甲隊(duì)比分進(jìn)行加、減1,通過按ADD2、DEC2鍵,對乙隊(duì)比分進(jìn)行加、減1.交換場地:在比賽結(jié)束后,按交換鍵,對比賽時(shí)間進(jìn)行重新設(shè)置,設(shè)置為15:00,并將左側(cè)和右側(cè)的比分進(jìn)行交換。最后按下RUN/STOP鍵重新開始比賽。報(bào)警提示:在一節(jié)比賽時(shí)間倒計(jì)時(shí)到00:00時(shí),蜂鳴器發(fā)出報(bào)警提示。2.3系統(tǒng)硬件電路組成2.3.1計(jì)時(shí)電路1.顯示器及其接口在目前的輸出設(shè)備中顯示器是最常用的,其種類多不勝數(shù),但最多應(yīng)用在單片機(jī)系統(tǒng)中的只有發(fā)光二極管(LED)和液晶(LCD)兩種顯示器。這兩種顯示器得到廣泛應(yīng)用,主要是因?yàn)榻Y(jié)構(gòu)簡單、價(jià)格低廉、界面容易使用。下面對LED顯示屏(LED)的結(jié)構(gòu)、工作原理和接口電路進(jìn)行介紹。(1)LED結(jié)構(gòu)與原理圖3為典型的數(shù)碼管。圖37段LED數(shù)碼管如圖3所示,LED顯示屏由8個(gè)發(fā)光二極管組成,又稱為數(shù)碼管。其特征在于:將7條長條形發(fā)光管顯示成“日”形,其它點(diǎn)形發(fā)光管作為顯示器右下角的顯示小數(shù)點(diǎn)。LED顯示屏由共陰極和共陽極LED顯示器兩種組成的,共陰極是將8個(gè)陰極發(fā)光二極管連接在一起;共陽極是將8個(gè)陽極發(fā)光二極管連接在一起。(2)LED顯示器顯示方式 點(diǎn)亮LED顯示器有兩種方式:一是靜態(tài)顯示;二是動態(tài)顯示。在本次設(shè)計(jì)中,采用的是靜態(tài)顯示。靜態(tài)顯示,即每個(gè)顯視器的筆劃字形代碼都要使用單獨(dú)的具有鎖存功能的I/O接口。其只要將顯示的字體代碼發(fā)送到接口電路,就可以忽略它了,需要顯示新的數(shù)據(jù)時(shí)發(fā)送新代碼給接口電路,由此,使用此方法的單片機(jī)CPU成本低。這種電路的優(yōu)點(diǎn)在于:在同一時(shí)間可以顯示不同的字符;但缺點(diǎn)就是占用端口資源較多。由圖3所示,每位LED顯示器都使用了8根端口線,因此,一般采用靜態(tài)顯示來應(yīng)對數(shù)據(jù)較多的時(shí)候。本設(shè)計(jì)采用的便是此種顯示方式。圖4靜態(tài)顯示圖同一時(shí)間段只能顯示同一種字符,這是因?yàn)樗械亩芜x碼連接在了一起。同時(shí)由位選碼來控制不同的字符。(如果LED為共陰極則P2.0~~P2.3輸出為高電平,如果LED為共陽極則P2.0~~P2.3輸出為低電平。)2.報(bào)警器(1)報(bào)警器的工作原理報(bào)警器的種類很多,比如:揚(yáng)聲器、蜂鳴器等,本設(shè)計(jì)采用電磁蜂鳴器報(bào)警。電磁蜂鳴器的制作材料主要是振蕩器、電磁線圈、磁鐵、振動膜片和外殼等。當(dāng)電源接通時(shí),振蕩器產(chǎn)生的信號通過電磁線圈,電磁線圈由此產(chǎn)生磁場。由于電磁線圈和磁鐵的相互作用,振動膜片就會產(chǎn)生周期性的振動發(fā)聲。3.計(jì)時(shí)電路的工作原理圖圖5計(jì)時(shí)電路原理圖4.計(jì)時(shí)電路的工作原理開關(guān)K6、K7,AT89C51單片機(jī)和LED顯示器是計(jì)時(shí)電路的主要組成部分。以下是它的工作流程:賽事開始時(shí),按K6,采用倒計(jì)時(shí)開始計(jì)時(shí),設(shè)置15分鐘的時(shí)間,在LED上以“1500”四位數(shù)來顯示。定時(shí)T0計(jì)數(shù)60秒后,繼續(xù)計(jì)數(shù)60秒,而在LED顯示屏上顯示“4459”時(shí),說明時(shí)間已經(jīng)過去了1秒,即還剩下14分59秒。當(dāng)它變成“0000”時(shí),說明比賽結(jié)束。如果比賽暫停,點(diǎn)擊K7鍵,可以暫停計(jì)時(shí)器。5.振蕩電路本設(shè)計(jì)應(yīng)用了時(shí)鐘振蕩功能。AT89C51使用了一個(gè)內(nèi)部振蕩的高增益反相放大器,分別用引腳XTAL1和XTAL2對放大器的輸入和輸出。該放大器以石英晶體或陶瓷諧振器作為反饋元件形成自激振蕩器。振蕩電路如圖6所示,將外部石英晶體或陶瓷諧振器和電容C1,C2一同連接到放大器的反饋電路,形成并聯(lián)諧振。諧振器雖然沒有十分嚴(yán)格的要求,但其本身對外接電容C1、C2的,而且振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程度以及溫度的穩(wěn)定性會受到電容的大小所影響,如果使用石英晶體,使用30pF。圖6時(shí)鐘振蕩電路2.3.2計(jì)分電路由于本次設(shè)計(jì)使用的是石英晶體諧振器,因此頻率大小采用12MHZ晶振,使用30pF的電容。計(jì)分電路8051系列單片機(jī)由2種通信口,一種是4個(gè)8位并行口,還有一種是串行發(fā)送和接收的通信端口。它可以作為同步移位寄存器使用,還能同時(shí)對數(shù)據(jù)進(jìn)行發(fā)送和接收。比賽計(jì)分電路是利用8051單片機(jī)的串口,可以連接到串口輸入的并行輸出移位寄存器作為輸出實(shí)現(xiàn)比賽成績刷新顯示。2.計(jì)分電路原理圖計(jì)分電路原理圖如圖7所示。圖7計(jì)分電路原理圖3.計(jì)分電路的工作原理計(jì)分電路的主要組成部件是單片機(jī)AT89C51,LED顯示器以及按鍵開關(guān)。以下是它的工作流程:通過按鍵開關(guān)來對甲、乙兩隊(duì)加減分控制,按鍵開關(guān)由K2、K3、K5、K6組成。將按鍵一端接地,另一端輸入與單片機(jī)AT89C51的P3.5,P3.4,P0.2,P0.1。例如:現(xiàn)在以甲隊(duì)的加分為例,來對整個(gè)過程進(jìn)行說明。如果在游戲開始時(shí),比分是000:000,過了一段時(shí)間,當(dāng)球隊(duì)得分,然后按下K2鍵,這時(shí)K2=0(低),k3k5k6=111(高電平)k2k3k5k6相與后結(jié)果為低,這時(shí)將低電平輸出到AT89C51單片機(jī)的P3.2引腳,中斷外部INT0,調(diào)用中斷服務(wù)程序,將要顯示的數(shù)據(jù)從程序中定義的LED顯示常數(shù)表TAB中取出數(shù)據(jù)06H(因?yàn)長ED顯示常數(shù)表TAB的偏移地址為36H,36h是LED顯示器的第一個(gè)常數(shù)表標(biāo)簽第一數(shù)據(jù)3fh,按下K5就等于將3H加1,然后第二數(shù)據(jù)06H,即表的字母代碼加1)。2.4器件選擇及介紹本系統(tǒng)在設(shè)計(jì)的過程中主要選取了以下一些器件:單片機(jī):AT89C51顯示器件:7段共陰極LED顯示器2.4.1AT89C51AT89C51是一個(gè)低電壓,高性能CMOS8位單片機(jī),數(shù)據(jù)隨機(jī)存取存儲器Flash[17]只讀程序存儲器片內(nèi)含4K字節(jié)和128字節(jié)的(RAM),采用ATMEL公司的高密度非易失性存儲器技術(shù)的裝置,與標(biāo)準(zhǔn)的MCS-51指令系統(tǒng)兼容的微型計(jì)算機(jī),內(nèi)置強(qiáng)大AT89C51提供具有成本效益的解決方案。AT89C51由PDIP、PQFP/TQFP、PLCC三種包裝形式組成[18],以滿足不同產(chǎn)品的需求。這是一個(gè)低功耗高性能的單片機(jī),40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2中斷口,2個(gè)全雙工串行通信,2個(gè)16位的可編程定時(shí)計(jì)數(shù)器,單片機(jī)可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。通用微處理器和閃存結(jié)合在一起,特別是閃存可以有效降低開發(fā)成本。如圖所示,圖8為AT89C51單片機(jī)基本構(gòu)造,其基本性能介紹如下:圖8AT89C51引腳圖AT89C51的主要特性如下表8所示。下面介紹各個(gè)管腳:P0口:P0口是一個(gè)8位漏極開路雙向I/O口,每個(gè)引腳可吸收8TTL門電流。當(dāng)P1端口引腳為第一次寫入1,由高電阻的定義[19]。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為第八位數(shù)據(jù)/地址。在FIASH編程時(shí),P0口作為輸入的原代碼,當(dāng)FIASH進(jìn)行檢查,P0輸出原碼,P0必須外部拉高。P1口:P1口是一個(gè)8位雙向I/O端口內(nèi)部上拉電阻,P1口緩沖器能接收輸出4TTL門電流。P1口寫的引腳1,內(nèi)部拉高,可作為輸入,P1口為外部下拉為低,輸出電流,這是由于內(nèi)部拉動的原因。在Flash編程和驗(yàn)證中,P1口為第八位地址。P2口:P2端口是一個(gè)內(nèi)部上拉電阻8位雙向I/O端口,P2端口緩沖區(qū)可以接收到,輸出的TTL門電流,當(dāng)P2端口寫“1”,該引腳是由內(nèi)部拉上電阻,并作為輸入。作為輸入的結(jié)果,P2端口引腳被外部拉低,輸出電流。這是由于內(nèi)部拉力。P2口為外部程序存儲器或16位地址外部數(shù)據(jù)存儲器訪問,P2端口地址輸出值為八。地址是“1”,它使用強(qiáng)大的內(nèi)部上拉時(shí),外部八位地址數(shù)據(jù)存儲器的讀和寫,P2口輸出其特殊功能登記內(nèi)容,P2口在flash編程和校驗(yàn)接收高八位地址信號和控制信號。表1AT89C51主要功能描述兼容MCS—51指令系統(tǒng)4k可反復(fù)擦寫(>1000次)FlashROM32個(gè)雙向I/O口可編程UARL通道兩個(gè)16位可編程定時(shí)/計(jì)數(shù)器全靜態(tài)操作0-24MHz1個(gè)串行中斷128x8bit內(nèi)部RAM兩個(gè)外部中斷源共6個(gè)中斷源可直接驅(qū)動LED3級加密位低功耗空閑和掉電模式軟件設(shè)置睡眠和喚醒功能P3口:P3端口引腳是8個(gè)I/O端口上拉式電阻,它可以接收和輸出4TTL門電流。當(dāng)P3口被寫入“1”時(shí),它們被內(nèi)部拉得很高,用作輸入。作為輸入,外部下拉是低電平。P3口也可作為AT89C51的一些特殊功能口,如表6所示。P3口同時(shí)為閃爍編程[20]和編程校驗(yàn)接收一些控制信號。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問外部存儲器時(shí),地址鎖存器允許輸出電平用于鎖存地址的狀態(tài)字節(jié)。此引腳用于在Flash編程時(shí)輸入程序脈沖。在平時(shí),ALE方以恒定頻率周期輸出正脈沖信號,振蕩器頻率為1/6。因此,它可以用于外部輸出脈沖或用于計(jì)時(shí)目的。表2AT89C51特殊功能表端口引腳第二功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INT0(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0(記時(shí)器0外部輸入)P3.5T1(記時(shí)器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲器寫選通)P3.7/RD(外部數(shù)據(jù)存儲器讀選通)/PSEN:用于外部程序存儲器的選通信號。在讀取外部程序存儲器,每個(gè)機(jī)器周期兩/PSEN倍。然而,訪問外部數(shù)據(jù)存儲器時(shí),這兩個(gè)有效的/PSEN信號將不出現(xiàn)。/EA/VPP:當(dāng)/EA電平低時(shí),外部程序存儲器(0000h-ffffh)在這段時(shí)期內(nèi),不管是否有內(nèi)部程序存儲器。請注意,加密方法1,/EA將被鎖定內(nèi)部重置;當(dāng)/EA仍然高,內(nèi)部程序存儲器。該引腳還用于12V編程電源(VPP)在Flash編程。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。

3.軟件的編程與調(diào)試3.1系統(tǒng)設(shè)計(jì)流程圖系統(tǒng)程序設(shè)計(jì)流程圖如圖所示。定時(shí)中斷初始化按下調(diào)試開關(guān),產(chǎn)生低電平開放定時(shí)中斷定時(shí)中斷初始化按下調(diào)試開關(guān),產(chǎn)生低電平開放定時(shí)中斷立即數(shù)OOH取出,LE輸出高電平經(jīng)過P1.0發(fā)送代碼,然后將LE清零啟動定時(shí)器,T0開始定時(shí)調(diào)用中斷定時(shí)程序按下計(jì)分鍵輸出低電平,外部中斷產(chǎn)生調(diào)用中斷程序串行數(shù)據(jù)輸出,移位脈沖輸出顯示數(shù)據(jù),兩隊(duì)相應(yīng)比分變化串行口發(fā)送完畢,標(biāo)志清零圖9計(jì)分部分程序流程圖圖10計(jì)時(shí)部分程序流程圖3.2C語言程序設(shè)計(jì)程序源代碼#include<reg51.h>#defineLEDDataP0unsignedcharcodeLEDCode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};unsignedcharminit,second,count,count1; sbitadd1=P1^0; sbitdec1=P1^1; sbitexchange=P1^2; sbitadd2=P1^3; sbitdec2=P1^4; sbitsecondpoint=P0^7;sbitled1=P2^7;sbitled2=P2^6;sbitled3=P2^5;sbitled4=P2^4;sbitled5=P2^3;sbitled6=P2^2;sbitled7=P2^1;sbitled8=P2^0;sbitled9=P3^7;sbitled10=P3^6;sbitled11=P3^5;sbitalam=P1^7;bitplayon=0;bittimeover=0; bitAorB=0; bithalfsecond=0; unsignedintscoreA; unsignedintscoreB; voidDelay5ms(void){ unsignedinti; for(i=100;i>0;i--);}//**************************主函數(shù)*************************************************voidmain(void){TMOD=0x11;TL0=0xb0;TH0=0x3c;TL1=0xb0; TH1=0x3c;minit=15; second=0;EA=1;ET0=1;ET1=1;TR0=0;TR1=0;EX0=1;IT0=1;IT1=1;EX1=1;PX0=1;PX1=1;PT0=0;P1=0xFF;P3=0xFF;while(1){keyscan();display();}}//============外部中斷0中斷程序=================voidPxInt0(void)interrupt0{ Delay5ms(); EX0=0; alam=1; TR1=0; if(timeover==1) { timeover=0} if(playon==0) { playon=1; TR0=1; } else { playon=0; TR0=0; } EX0=1;}//===================定時(shí)器0中斷服務(wù)函數(shù)======================voidtime0_int(void)interrupt1{ TL0=0xb0; TH0=0x3c; TR0=1; count++; if(count==10) { halfsecond=0; } if(count==20) { count=0; halfsecond=1; if(second==0) { if(minit>0) { second=59; minit--; } else { timeover=1; playon=0; TR0=0; TR1=1; } } else second--; }}//==============定時(shí)器1中斷服務(wù)函數(shù)==========================voidtime1_int(void)interrupt3{ TL1=0xb0; TH1=0x3c; TR1=1; count1++; if(count1==10) {alam=0; } if(count1==20) {count1=0; alam=1; }}

結(jié)論在本次設(shè)計(jì)中,我通過基于典型單片機(jī)AT89C51的設(shè)計(jì)和應(yīng)用,對于單片機(jī)工作原理,功能有了宏觀的了解,并對單片機(jī)C程序的應(yīng)用有了新的、進(jìn)一步的認(rèn)識。在設(shè)計(jì)過程中,我發(fā)現(xiàn)了很多問題,給我的感覺是很難啟動的,很方便,看似很簡單的電路,要想得到它的設(shè)計(jì),是一件很困難的事情,主要的原因是我們不經(jīng)常開始設(shè)計(jì)電路。另外單片機(jī)系統(tǒng)和很多知識、知識都想通了,不記得現(xiàn)在什么時(shí)候使用,導(dǎo)致我花了很多時(shí)間檢查所有的數(shù)據(jù)和程序命令,所以整個(gè)時(shí)間安排的過程都是不合理的。由于程序的設(shè)計(jì)沒有安排,設(shè)計(jì)的時(shí)間非常倉促,特別是在硬件調(diào)試過程中出現(xiàn)了很多問題。在信息搜索是一個(gè)重要的問題,這就要求我們在以后的學(xué)習(xí)中,我們應(yīng)該注意這一點(diǎn),我們從中學(xué)習(xí)到的知識和實(shí)際電路連接學(xué)習(xí)更重要的是,不論是對我們未來的工作或?qū)W習(xí),將起到促進(jìn)作用和很大的幫助。本次設(shè)計(jì)測試結(jié)果以及不足之處:計(jì)時(shí)電路可完成倒計(jì)時(shí)、暫停、繼續(xù)等

溫馨提示

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

評論

0/150

提交評論