單片機(jī)課程交通燈設(shè)計(jì)報(bào)告(1).doc_第1頁(yè)
單片機(jī)課程交通燈設(shè)計(jì)報(bào)告(1).doc_第2頁(yè)
單片機(jī)課程交通燈設(shè)計(jì)報(bào)告(1).doc_第3頁(yè)
單片機(jī)課程交通燈設(shè)計(jì)報(bào)告(1).doc_第4頁(yè)
單片機(jī)課程交通燈設(shè)計(jì)報(bào)告(1).doc_第5頁(yè)
已閱讀5頁(yè),還剩20頁(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 課程設(shè)計(jì)目的和功能 2 器件介紹三硬件電路設(shè)計(jì) 3 3.1 硬件設(shè)計(jì)總框圖 3 3.1.1 主控電路 43.1.2 按鍵控制掃描模塊 53.1.3 數(shù)碼管顯示模塊 83.1.4 LED顯示模塊 93.1.5 揚(yáng)聲器模塊 103.1.6 交通燈模塊 6 3.2 硬件原理圖 12四軟件流程框圖 12 4.1 主程序流程圖 124.2 蜂鳴器流程圖 144.3 流水燈程序流程圖 154.4 時(shí)鐘顯示流程圖 164.5 交通燈控制流程圖 17 5 源程序代碼及注釋 336 課程設(shè)計(jì)體會(huì) 347 參考文獻(xiàn) 35一、課程設(shè)計(jì)目的和功能單片機(jī)原理及應(yīng)用課程設(shè)計(jì)是一項(xiàng)重要的實(shí)踐性教育環(huán)節(jié),是學(xué)生在校期間必須接受的一項(xiàng)工程訓(xùn)練。在課程設(shè)計(jì)過程中,在教師指導(dǎo)下,運(yùn)用工程的方法,通過一個(gè)簡(jiǎn)單課題的設(shè)計(jì)練習(xí),其目的使學(xué)生初步體驗(yàn)單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)過程、設(shè)計(jì)要求、完成工作內(nèi)容和具體的設(shè)計(jì)方法,了解必須提交的各項(xiàng)工程文件,也達(dá)到鞏固、充實(shí)和綜合運(yùn)用所學(xué)知識(shí)解決實(shí)際問題。 通過課程設(shè)計(jì),應(yīng)能加強(qiáng)學(xué)生如下能力的培訓(xùn):(1) 獨(dú)立工作能力和創(chuàng)造力;(2) 查閱圖書資料,產(chǎn)品手冊(cè)和各種工具書的能力;(3) 工程繪圖的能力;(4) 編寫技術(shù)報(bào)告和編制技術(shù)資料的能力(5) 綜合運(yùn)用專業(yè)及基礎(chǔ)知識(shí),解決實(shí)際工程技術(shù)問題的能力; 本次工程實(shí)踐的校內(nèi)部分主要以單片機(jī)為基礎(chǔ),進(jìn)行單片機(jī)軟件編程,目的是為了提高學(xué)生的軟件編程和系統(tǒng)設(shè)計(jì)能力,整個(gè)設(shè)計(jì)系統(tǒng)包括兩個(gè)部分,硬件及軟件部分,硬件部分已經(jīng)制作成功,學(xué)生只需要掌握其原理和焊接相應(yīng)的元器件,掌握元器件的辨別和元器件的作用以及應(yīng)用場(chǎng)所即可,另外對(duì)所焊接的電路還需要進(jìn)行仔細(xì)的檢查,判斷是否有焊接錯(cuò)誤的地方或者短路的地方,對(duì)出現(xiàn)的異常情況要能夠根據(jù)現(xiàn)象判別原因,并具備解決問題的能力,從而切實(shí)提高學(xué)生的硬件電子電路的分析、判斷能力。 軟件編程是本次工程實(shí)踐的重要環(huán)節(jié)。在為期兩周的工程實(shí)踐中,將占據(jù)主要時(shí)間,學(xué)生要完成的軟件編程任務(wù)主要包括以下幾點(diǎn): 1)、熟悉Keil C51編程平臺(tái)及相關(guān)編程軟件 2)、編寫、調(diào)試蜂鳴器、繼電器動(dòng)作、方波程序并進(jìn)行軟硬件聯(lián)調(diào) 3)、編寫、調(diào)試LED流水燈(循環(huán)顯示)程序并進(jìn)行軟硬件聯(lián)調(diào) 4)、編寫、調(diào)試鍵盤掃描子程序并進(jìn)行軟硬件聯(lián)調(diào) 5)、編寫、調(diào)試數(shù)碼管動(dòng)態(tài)掃描程序并進(jìn)行軟硬件聯(lián)調(diào)9)、交通燈控制設(shè)計(jì)二器件介紹 AT89C52:本次課程設(shè)計(jì)中主要是設(shè)計(jì)一個(gè)以交通燈控制為主的多功能控制系統(tǒng)。該設(shè)計(jì)中我們主控電路部分采用了單片機(jī)AT89C52芯片來實(shí)現(xiàn)這些功能。AT89C52是一個(gè)低電壓,高性能CMOS的8位單片機(jī),片內(nèi)含8KB的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256B的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM)。 按鍵:用于控制數(shù)碼顯示、LED顯示、揚(yáng)聲器等模塊的工作。通過掃描按鍵是否按下,來設(shè)定各模塊的工作情況,使各模塊可以在按鍵的控制下,有序地進(jìn)行工作。設(shè)計(jì)中使用單個(gè)按鍵實(shí)現(xiàn)單個(gè)功能,屬于較為簡(jiǎn)單的控制方式.數(shù)碼管:設(shè)計(jì)中采用六位共陽(yáng)極數(shù)碼管,共陽(yáng)極是指其公共端接正極,通過單片機(jī)AT89C52的P0口控制其位選和段選,以達(dá)到動(dòng)態(tài)顯示相應(yīng)數(shù)值的效果。在其位選控制部分,采用了一個(gè)9012型三極管,要求當(dāng)P0口輸出低電平時(shí),位選成功。LED(Light Emitting Diode):發(fā)光二極管,是一種固態(tài)的半導(dǎo)體器件,它可以直接把電轉(zhuǎn)化為光。LED的心臟是一個(gè)半導(dǎo)體的晶片,晶片的一端附在一個(gè)支架上,一端是負(fù)極,另一端連接電源的正極蜂鳴器:是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車電子設(shè)備、電話機(jī)、定時(shí)器等電子產(chǎn)品中作發(fā)聲器件。三、硬件電路設(shè)計(jì) 3.1 硬件設(shè)計(jì)總框圖 主控電路按鍵控制掃描模塊交通燈模塊數(shù)碼管顯示模塊LED顯示模塊揚(yáng)聲器模塊原理說明: 本電路以單片機(jī)AT89C52為主控電路,分別連接按鍵控制掃描模塊、揚(yáng)聲器模塊、LED顯示模塊、數(shù)碼顯示模塊、交通燈模塊。首先,按鍵掃描模塊的四個(gè)按鍵分別用來控制數(shù)碼顯示、LED顯示和揚(yáng)聲器工作,P1口作為輸出口,用來控制LED的亮滅,要使其亮只需要讓P1.0-P1.7口保持低電平就可以使8個(gè)燈亮起來。同時(shí)通過P2.3端控制蜂鳴器發(fā)生,當(dāng)P2.3輸出低電平時(shí)候使蜂鳴器發(fā)出聲音,按下按鍵1時(shí)使蜂鳴器發(fā)聲。P0口用來控制數(shù)碼管段選和位選,以顯示相應(yīng)的數(shù)值。在其位選控制部分,采用了9012型的三極管,要求當(dāng)對(duì)應(yīng)端口輸出低電平時(shí),位選成功,使得該位選的數(shù)碼管亮,數(shù)碼管顯示時(shí)分通過按鍵3控制。最后通過按按鍵4實(shí)現(xiàn)交通燈控制的功能。3.1.1 主控電路 本次課程設(shè)計(jì)中主要是設(shè)計(jì)一個(gè)以交通燈控制為主的多功能控制系統(tǒng)。該設(shè)計(jì)中我們主控電路部分采用了單片機(jī)AT89C52芯片來實(shí)現(xiàn)這些功能,AT89C52是一個(gè)低電壓,高性能CMOS的8位單片機(jī),片內(nèi)含8KB的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256B的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM)。其引腳如下圖所示: 圖1.AT89C52引腳圖VCC:供電電壓。GND:接地。P0口(P0.0-P0.7):P0口來輸出數(shù)碼管位選及段選數(shù)據(jù),以控制相應(yīng)數(shù)碼管顯示相應(yīng)數(shù)值。P1口 (P1.0-P1.7):P1口來控制LED的亮滅。P2口 (P2.0-P2.7):使能相應(yīng)的模塊功能;wela(P2.7):控制數(shù)碼管位選;dula(P2.6 ):控制數(shù)碼管段選。 P3口 (P3.0-P3.7):P3.0為RXD(串行輸入口),P3.1為TXD(串行輸出口),P3.2為/INT0(外部中斷0),P3.3為/INT1(外部中斷1),P3.4為T0(記時(shí)器0外部輸入),P3.5為T1(記時(shí)器1外部輸入),P3.6為/WR(外部數(shù)據(jù)存儲(chǔ)器寫選通),P3.7為/RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)。 XTAL1(19 腳)和XTAL2(18 腳)為振蕩器輸入輸出端口,外接12MHz 晶振。RST/Vpd(9 腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。VCC(40 腳)和VSS(20 腳)為供電端口,分別接+5V電源正負(fù)端。P0P3 為可編程通用I/O 腳,其功能用途由軟件定義。3.1.2 按鍵控制掃描模塊 按鍵用于控制數(shù)碼顯示、LED顯示、揚(yáng)聲器等模塊的工作。通過掃描按鍵是否按下,來設(shè)定各模塊的工作情況,使各模塊可以在按鍵的控制下,有序地進(jìn)行工作。設(shè)計(jì)中使用單個(gè)按鍵實(shí)現(xiàn)單個(gè)功能,屬于較為簡(jiǎn)單的控制方式. 圖2.按鍵輸入電路在多功能系統(tǒng)設(shè)計(jì)的實(shí)驗(yàn)中中我們使用四個(gè)按鍵分別與單片機(jī)的P3.4、P3.5、P3.6、P3.7相連,按鍵1控制蜂鳴器發(fā)聲、按鍵2控制LED流水燈、按鍵3控制數(shù)碼管顯示,按鍵4交通燈。通過按下相應(yīng)的按鍵來處理相應(yīng)的程序。3.1.5 數(shù)碼管顯示模塊設(shè)計(jì)中采用六位共陽(yáng)極數(shù)碼管,共陽(yáng)極是指其公共端接正極,通過單片機(jī)AT89C52的P0口控制其位選和段選,以達(dá)到動(dòng)態(tài)顯示相應(yīng)數(shù)值的效果。在其位選控制部分,采用了一個(gè)9012型三極管,要求當(dāng)P0口輸出低電平時(shí),位選成功。 圖5.數(shù)碼管顯示電路硬件電路中,數(shù)碼管顯示的小時(shí)、分、秒,通過鍵1選擇,鍵2、鍵3調(diào)整。數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類。 靜態(tài)顯示驅(qū)動(dòng):靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的I/O端口進(jìn)行驅(qū)動(dòng),或者使用如BCD碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用I/O端口多,如驅(qū)動(dòng)5個(gè)數(shù)碼管靜態(tài)顯示則需要5840根I/O端口來驅(qū)動(dòng),要知道一個(gè)89S51單片機(jī)可用的I/O端口才32個(gè)呢:),實(shí)際應(yīng)用時(shí)必須增加譯碼 驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。 動(dòng)態(tài)顯示驅(qū)動(dòng):數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃a,b,c,d,e,f,g,dp的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。通過分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。3.1.4 LED顯示模塊 LED(Light Emitting Diode),發(fā)光二極管,是一種固態(tài)的半導(dǎo)體器件,它可以直接把電轉(zhuǎn)化為光。LED的心臟是一個(gè)半導(dǎo)體的晶片,晶片的一端附在一個(gè)支架上,一端是負(fù)極,另一端連接電源的正極,使整個(gè)晶片被環(huán)氧樹脂封裝起來。半導(dǎo)體晶片由兩部分組成,一部分是P型半導(dǎo)體,在它里面空穴占主導(dǎo)地位,另一端是N型半導(dǎo)體,在這邊主要是電子。但這兩種半導(dǎo)體連接起來的時(shí)候,它們之間就形成一個(gè)“P-N結(jié)”。當(dāng)電流通過導(dǎo)線作用于這個(gè)晶片的時(shí)候,電子就會(huì)被推向P區(qū),在P區(qū)里電子跟空穴復(fù)合,然后就會(huì)以光子的形式發(fā)出能量,這就是LED發(fā)光的原理。而光的波長(zhǎng)也就是光的顏色,是由形成P-N結(jié)的材料決定的。 圖6. LED顯示電路 本次設(shè)計(jì)中通過按鍵2來控制其流水顯示,打開電源后按下按鍵2流水燈模塊有效。由于電路中LED為共陽(yáng)極,故控制流水燈顯示的P1口應(yīng)為低電平時(shí)才有效。從原理圖中可以看出,如果要讓接在P1.0口的LED1亮起來,那么只要把P1.0口的電平變?yōu)榈碗娖骄涂梢粤?;相反,如果要接在P1.0口的LED1熄滅,就要把P1.0口的電平變?yōu)楦唠娖?;同理,接在P1.1P1.7口的其他7個(gè)LED的點(diǎn)亮和熄滅的方法同LED1。因此,要實(shí)現(xiàn)流水燈功能,我們只要將發(fā)光二極管LED1LED8依次點(diǎn)亮、熄滅,8只LED燈便會(huì)一亮一暗的做流水燈了。我們首先把要顯示流水花樣的數(shù)據(jù)建在一個(gè)以TAB為標(biāo)號(hào)的數(shù)據(jù)表中,然后通過查表指令“MOVCA,A+DPTR”把數(shù)據(jù)取到累加器A中,然后再送到P1口進(jìn)行顯示。在此我們還應(yīng)注意一點(diǎn),由于人眼的視覺暫留效應(yīng)以及單片機(jī)執(zhí)行每條指令的時(shí)間很短,我們?cè)诳刂贫O管亮滅的時(shí)候應(yīng)該延時(shí)一段時(shí)間,否則我們就看不到“流水”效果了。3.1.3 揚(yáng)聲器模塊揚(yáng)聲器模塊通過按鍵1來實(shí)現(xiàn)。要求揚(yáng)聲器能夠發(fā)出連續(xù),斷續(xù)的聲音及音樂,我們可以選擇一個(gè)蜂鳴器來實(shí)現(xiàn)這些功能。 圖7. 揚(yáng)聲器電路 蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車電子設(shè)備、電話機(jī)、定時(shí)器等電子產(chǎn)品中作發(fā)聲器件。蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。下面我們以電磁式蜂鳴器為例來說明它的工作原理:電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動(dòng)膜片及外殼等組成。接通電源后,振蕩器產(chǎn)生的音頻信號(hào)電流通過電磁線圈,使電磁線圈產(chǎn)生磁場(chǎng)。振動(dòng)膜片在電磁線圈和磁鐵的相互作用下,周期性地振動(dòng)發(fā)聲,當(dāng)輸出高電平時(shí),三極管截止,蜂鳴器的兩引腳間的直流電壓接近于0V,沒有電流流過線圈,蜂鳴器不發(fā)聲;當(dāng)輸出低電平時(shí),三極管導(dǎo)通,使蜂鳴器的兩個(gè)引腳間獲得將接近+5V的直流電壓,這樣蜂鳴器的電流形成回路,發(fā)出聲音。因此,我們可以通過程序控制IO口輸出的電平來控制蜂鳴器是否發(fā)出聲音,實(shí)現(xiàn)各種可能音響的產(chǎn)生。在這個(gè)設(shè)計(jì)中是通P2.3口控制其發(fā)聲的。由于P2.3與ds1302是連在一起的,當(dāng)P2.3口輸出低電平時(shí)蜂鳴器發(fā)出聲響。故只要ds1302工作,就可以設(shè)定使揚(yáng)聲器發(fā)出聲音。3.1.6交通燈 3.2 硬件原理圖四,軟件流程框圖 4.1. 主程序流程圖YYYYP1口置初值0F0H調(diào)用蜂鳴器發(fā)聲程序調(diào)用LED顯示子程序調(diào)用交通燈控制程序KEY1按下?KEY2按下?KEY3按下?KEY4按下?調(diào)用數(shù)碼管顯示程序開始N 4.2 蜂鳴器流程圖NY開始循環(huán)時(shí)間的初值設(shè)置P2.3端口輸出設(shè)置延時(shí)0.2sP2.3端口取反延時(shí)0.2s 循環(huán)結(jié)束?返回主程序 4.3 流水燈程序流程圖YY開 始循環(huán)初始化表頭首指送地址指針將寄存器A清零NN返回主程序表中花樣送A顯示并延時(shí)花樣是否結(jié)束?到花樣結(jié)束標(biāo)志?4.5Y開始揚(yáng)聲器預(yù)響時(shí)間設(shè)置DS1302實(shí)時(shí)時(shí)間讀取兩時(shí)間是否相同?揚(yáng)聲器發(fā)聲N延時(shí)關(guān)閉揚(yáng)聲器 作息時(shí)間控制的設(shè)計(jì)是比較簡(jiǎn)單的,其基本思路是我們?cè)O(shè)置揚(yáng)聲器的預(yù)響時(shí)間,然后通過DS1302實(shí)時(shí)時(shí)間的讀取與預(yù)響時(shí)間做比較,如果兩者相同那么揚(yáng)聲器發(fā)聲,如果兩者不相同那么返回DS1302實(shí)時(shí)時(shí)間繼續(xù)讀取,直到與揚(yáng)聲器預(yù)響時(shí)間相同揚(yáng)聲器發(fā)聲,然后通過延時(shí)關(guān)閉揚(yáng)聲器。交通燈流程圖開始信號(hào)燈初始設(shè)置信號(hào)燈初始區(qū)設(shè)置東西綠燈亮南北紅燈亮軟件延時(shí)35s熄滅東西綠燈,點(diǎn)亮東西紅燈東西紅燈亮,南北綠燈亮軟件延時(shí)30s重新開始下一個(gè)周期軟件延時(shí)0.5s軟件延時(shí)5sR是否等于0返回YN五 源程序代碼及注釋主程序清單:#include #include #defineuint unsigned int #defineuchar unsigned charsbit P32=P32;sbit P33=P33;sbit key1=P34;sbit key2=P35;sbit key3=P36;sbit key4=P37;sbit dula=P26;sbit wela=P27;sbit fmq=P23;uint shu;uchar xianshi,xianshi2;uchar aa,bb,cc,dd;uchar code tablewe=0xfe,0xfd,0xfb,0xf7,0xef,0xdf;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/void Delay(unsigned int i);/void delayms(uint z);void init()/初始化函數(shù)shu=0;xianshi=30;xianshi2=35;aa=3;bb=0;cc=3;dd=5;P0=0xff;P1=0;TMOD=0x01; /用定時(shí)器0方式1EA=1; /打開中斷ET0=1;/打開定時(shí)器0中斷TL0=15536/256;TH0=15536%256;EX0=1;/外部中斷0EX1=1;/外部中斷1IT0=0;/外部中斷0電平觸發(fā)IT1=0;/外部中斷1電平觸發(fā)PX1=1;/設(shè)定外部中斷1為高優(yōu)先級(jí)void delayms(uint z)uint x,y;for(x=z;x0;x-) for(y=110;y0;y-);void Delay(unsigned int i)/延時(shí)程序 unsigned int j;for(;i0;i-)for(j=0;j60;j+);void display(uchar a,uchar b,uchar c,uchar d)wela=1;P0=0xfe;wela=0;dula=1;P0=tablea; /北十位dula=0;Delay(2);wela=1; P0=0xfd;wela=0;dula=1;P0=tableb; /北個(gè)位 dula=0;Delay(2);wela=1; P0=0xfb;wela=0;dula=1;P0=tablec; /西十位 dula=0;Delay(2);wela=1;P0=0xf7;wela=0;dula=1;P0=tabled; /西個(gè)位 dula=0;Delay(2);void timer0() interrupt 1 using 1 TH0=(65536-50000)/256;TL0=(65536-50000)%256;shu+;if(shu%20=0) xianshi-;xianshi2-; aa=xianshi/10;bb=xianshi%10;cc=xianshi2/10;dd=xianshi2%10; if(shu=600)P1=0xf5;/南北黃亮,東西依然紅燈xianshi=5;if(shu=700)P1=0xDE;/南北亮紅燈,東西綠燈xianshi=35;xianshi2=30;if(shu=1300)P1=0xee;/東西亮黃燈,南北紅燈xianshi2=5; if(shu=1400)/再過5s返回 shu=0;xianshi=30;xianshi2=35; P1=0xf3;/點(diǎn)亮南北綠燈,東西紅燈void inter0() interrupt 0 using 2 /南北方向綠燈P0=0xff;P1=0xf3;/南北綠 東西紅while(P32=0); P1=0xDE; xianshi=30; shu=700; aa=3; bb=0; cc=3; dd=5;void inter1() interrupt 2 using 3 /東西方向綠燈 P0=0xff;P1=0xDE;/ 東西綠 南北紅 while(P33=0);P1=0xf3;xianshi=30;shu=0; aa=3; bb=5; cc=3; dd=0;/蜂鳴器void ka() loop1:fmq=1;if(key1=0) delayms(200); if(key1=1) while(1) fmq=0;if(key1=0) delayms(200); if(key1=1) goto loop1; /流水燈void kb() uchar a;loop2:P1=0xff;if(key2=0) delayms(200); if(key2=1) a=0xfe;while(1) P1=a;delayms(100); a=_crol_(a,1); if(key2=0) delayms(200); if(key2=1) goto loop2; /數(shù)碼管void kc() uchar numdu,numwe; numdu=0;numwe=0; loop3:wela=1;P0=0xff;wela=0;if(key3=0) delayms(200); if(key3=1) while(1)if(numwe=6)numwe=0;wela=1; P0=tablewenumwe;wela=0;numwe+;if(numdu=6)numdu=0;dula=1;P0=tablenumdu;dula=0;numdu+;delayms(500);if(key3=0) delayms(200); if(key3=1) goto loop3; /交通燈void kd() loop4: TR0=0;init(); wela=1;P1=0xff;if(key4=0)delayms(200);if(key4=1)wela=0;TR0=1;/啟動(dòng)定時(shí)器0 P1=0xff; P1=0xf3;/點(diǎn)亮南北綠燈,東西紅燈 while(1) display(aa,bb,cc,dd); if (key4=0) delayms(200); if(key4=1) goto loop4; /主函數(shù)void main()key1=1;key2=1;key3=1;key4=1; while(1) while(!key1)ka(); while(!key2)kb();while(!key3)kc();while(!key4)kd(); 六、調(diào)試情況及小結(jié) 6.1 硬件調(diào)試硬件調(diào)試分為靜態(tài)調(diào)試和動(dòng)態(tài)調(diào)試,對(duì)于硬件調(diào)試而言,只要認(rèn)真焊接,硬件一般不會(huì)出現(xiàn)什么問題的。沒有出現(xiàn)什么問題。用所給的調(diào)試程序,調(diào)試結(jié)果很好,各模塊都能正常工作。靜態(tài)調(diào)試一般采用的工具是萬用表,其是在用戶系統(tǒng)未工作時(shí)的一種硬件檢測(cè)。 動(dòng)態(tài)調(diào)試是在用戶系統(tǒng)工作的情況下發(fā)現(xiàn)和排查錯(cuò)誤的一種硬件檢測(cè)。調(diào)試步驟是:首先把電路分成若干模塊,調(diào)式過程中與該模塊無關(guān)的元件可以不加考慮,這樣可把故障限定在一定的范圍內(nèi);故障清除后,把各個(gè)模塊合在一起進(jìn)行聯(lián)調(diào),即可完成整個(gè)硬件調(diào)試工作。 6.2 軟件調(diào)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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)論