版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 智能交通燈控制系統(tǒng)的設計</p><p> 近年來,隨著我國國民經(jīng)濟的快速發(fā)展,我國機動車輛發(fā)展迅速,而城鎮(zhèn)道路建設由于歷史等各種因素相對滯后,交通擁擠和堵塞現(xiàn)象時常出現(xiàn)。如何利用當今計算機和自動控制技術,有效的疏導交通,提高城鎮(zhèn)交通路口的通行能力,減少交通事故是很值得研究的一個課題。目前,國內(nèi)的交通燈一般設在十字路口,在醒目位置用紅、綠、黃三種顏色的指示燈再加上一個倒計時的顯示計時器來控
2、制行車。</p><p> 我國交通法規(guī)也對交通指揮信號燈做出了規(guī)定:</p><p> (1)綠燈亮時,準許車輛、行人通行,蛋轉彎的車輛不準妨礙執(zhí)行的車輛和被放行的行人通行。</p><p> ?。?)黃燈亮時,不準車輛、行人通行,但已越過停止線的車輛和已進入人行橫道的行人,可以繼續(xù)通行。</p><p> ?。?)紅燈亮時,不準車輛,
3、行人通行。</p><p> ?。?)綠色箭頭燈亮時,準許車輛按箭頭所示方向通行。</p><p> (5)黃燈閃爍時,車輛、行人在確保安全的原則下可以通行。</p><p> 信號燈的出現(xiàn),使交通得到有效控制,對疏導交通流量、提高道路通行能力和減少交通事故有明顯的效果。</p><p><b> 設計任務</b>
4、</p><p> 本設計要求學生用單片機設計一個智能交通燈控制系統(tǒng)。使其能模仿誠實“十字”路口交通燈的功能,并能滿足特殊的控制要求,該系統(tǒng)的具體功能如下:</p><p> ?。?)該控制系統(tǒng)能控制東西南北四個路口的紅黃綠信號燈正常工作。</p><p> ?。?)當東西方向準行,南北方向禁行時,東西方向亮綠燈,南北方向亮紅燈。</p><p
5、> ?。?)當南北方向準行,東西方向禁行時,南北方向亮綠燈,東西方向亮紅燈。</p><p> ?。?)兩垂直方向的準星事件均為60s。</p><p> ?。?)準行方向亮綠燈與禁行方向亮紅燈55s后,四個道口同時加亮一盞黃燈禁行閃爍,已警告車輛及行人,準行方向與進行方向即將改變。</p><p><b> 整體方案設計</b><
6、;/p><p> 本系統(tǒng)擬采用AT89C51單片機作為智能交通燈的控制核心。從設計所要完成的任務和要求來看,單一路口顯示倒計時事件的數(shù)碼管必須用兩位,對于七段數(shù)碼管,考慮到AT89C51單片機所能提供I/O接口的數(shù)量并結合學生編輯的實際能力,倒計時顯示裝置中的數(shù)碼管在本系統(tǒng)中采用的是靜態(tài)顯示;十字路口共需4組紅綠燈,加轉換黃燈,一共是12只燈,須用6個端口進行控制,具體I/O接口分配為:P1.0~P1.2分別接東西
7、方向的紅綠黃共6盞信號燈P1.3~P1.5分別接南北方向的紅綠黃共6盞信號燈;AT89C51單片機的I/O口作為輸出時,具有較大的吸收電流能力,因此我們可以選用共陽極數(shù)碼管,這樣由單片機I/O口就可以直接驅動,從而簡化硬件電路的設計;此外專門設計了監(jiān)控電路對控制系統(tǒng)進行實時監(jiān)控,保證系統(tǒng)工作的穩(wěn)定性和持續(xù)性。系統(tǒng)的整體設計方案設計圖如圖。</p><p><b> 系統(tǒng)硬件電路設計</b>
8、</p><p><b> 交通燈電路</b></p><p> 為了方便學生做實驗,可以用發(fā)光二極管作為交通燈來使用,單片機的I/O接口直接和交通燈(發(fā)光二極管)連接。在十字路口的四組紅 、黃、綠三色交通燈中,東西方向道路上的兩組同色燈連接在一起,南北方向道路上的兩組同色燈也彼此連接,受單片機P1.0~P1.5控制。單片機的I/O接口與交通燈電路的具體連線方式為
9、:P1.0~P1.2分別接東西方向的紅、綠、黃共6個發(fā)光二極管,P1.3~P1.5分別接南北方向的紅、綠、黃共6個發(fā)光二極管。12個發(fā)光二極管采用了共陽極的連接方式,因此I/O口輸出低電平時,與之相連的發(fā)光二極管會亮,I/O口輸出高電平時,相應的發(fā)光二極管會滅。交通燈電路圖如圖所示.</p><p><b> 倒計時顯示電路</b></p><p> 該交通燈控制
10、系統(tǒng)在正常工作情況下,每60S循環(huán)變換一次,為方便提示路上行人及車輛交通燈轉換的剩余時間,專門為控制系統(tǒng)設計了一個倒計時顯示裝置。</p><p> 該顯示裝置選用七段數(shù)碼管來顯示交通燈轉換的剩余時間,根據(jù)控制要求,每個路口需要兩個數(shù)碼管,這樣的四個路口就需要八個數(shù)碼管。由于AT89C51單片機的I/O作為輸出時,具有較大的吸收電流能力,因此我們可以選用共陽型數(shù)碼管,這樣由單片機的I/O就可以直接驅動,從而簡化
11、硬件電路的設計。四個路口倒計時顯示裝置在同一時刻顯示的數(shù)字,其中P0口用來顯示時間的十位,P2口用來顯示時間的個位;東西南北四個方向共四個路口,令DS1和DS2是一組,DS3和DS4是一組,DS5和DS6是一組,DS7和DS8是一組??紤]到AT89C51單片機所能提供I/O接口的數(shù)量以及該控制系統(tǒng)所需要的I/O的個數(shù)并結合學生實際編程的能力,數(shù)碼管在本系統(tǒng)采用的靜態(tài)顯示(當然,有能力的同學也可以也可以采用動態(tài)的顯示方式,因為這樣可以節(jié)約
12、I/O資源進而擴展更多的功能)。所謂靜態(tài)顯示,就是當顯示器顯示某一字符時,相應的數(shù)碼管恒定地導通或截止。采用靜態(tài)顯示時,占用CPU的資源較少,單片機只要把顯示字形代碼發(fā)送到借口即可,直到要顯示新的數(shù)據(jù)時,再發(fā)送新的字型碼。倒計時顯示電路如圖4—3所示</p><p> 4.3.4緊急通行電路</p><p> 該系統(tǒng)的K1、K2、K3三個按鍵分別與單片機的P3.0、P3.6、P3.6相
13、接,它們可以在特殊的交通情況下使用。例如,當有緊急情況發(fā)生,如消防車,救護車等緊急車輛通過時,按下K1鍵,四個路口加亮黃燈信號燈并進行閃爍(閃爍時間為5s),并且倒計時顯示裝置關閉,黃燈5s閃爍完成后,四個路口的信號燈全部變成紅燈,從而保證緊急車輛的及時通過,待緊急車輛通過后,松開K1鍵,緊急情況消除,交通燈控制系統(tǒng)恢復正常工作;按下K2鍵,四個路口同時加亮黃色信號燈并進行閃爍(閃爍時間為5s),并且倒計時顯示裝置關閉,黃色燈5s閃爍完
14、成后,只允許東西方向車輛準行、南北方向車輛禁行,松開K2鍵,交通燈控制系統(tǒng)又開始正常工作;按下K3鍵,四個路口同時加亮黃色信號燈并進行閃爍(閃爍時間為5s),并且倒計時顯示裝置關閉,只允許南北方向車輛準行、東西方向車輛禁行,松開K3鍵,交通燈控制系統(tǒng)又開始正常工作。按鍵電路如4-4圖所示。</p><p><b> 4.3.5控制電路</b></p><p> 5
15、1系列單片機系統(tǒng)通常工作在一些特定的環(huán)境中,不可避免會受到外界的干擾,這些干擾輕則導致系統(tǒng)內(nèi)部數(shù)據(jù)出錯,重則將嚴重影響程序的運行。為了保護數(shù)據(jù)、抑制干擾,在單片機系統(tǒng)的開發(fā)過程中需要進行可靠性設計。</p><p> 可靠性設計本身是一個復雜的課題,它涉及系統(tǒng)軟件、硬件以及結構設計等各方面,比如軟件的冗沉、器件的選擇與布局、看門狗電路、電路板的布線等。在頻率較高時,還需要考慮電磁兼容問題,電磁兼容設計也是可靠性
16、設計的一個重要部分。單片機的監(jiān)控電路總是和復位電路聯(lián)系在一起密不可分的,所以單片機控制電路也是單片機監(jiān)控復位電路。單片機監(jiān)控電路設計的好壞,直接影響到整個系統(tǒng)工作的可靠性。</p><p> 監(jiān)控功能主要是指監(jiān)控電源電壓、處理突發(fā)掉電情況、產(chǎn)生正確復位信號等。單片機系統(tǒng)工作時,常會遇到來自電網(wǎng)電壓的欠壓、過壓、掉電和瞬變現(xiàn)象。若是采用低通電源濾波器、隔離變壓器、光電隔離以及使用UPS不間斷電源,甚至配備專用的電
17、源方法,不僅不能夠完全解決問題,而且線路復雜、成本高。而利用專門的監(jiān)控芯片組成各種有效的復位電路,不僅能對電源異常情況進行監(jiān)控,而且具有監(jiān)視功能多、可靠性高、使用外圍元件少、電路簡單和體積小的優(yōu)點。</p><p> 看門狗功能是指在系統(tǒng)設計中通過軟件或硬件的方式在一定周期內(nèi)監(jiān)控單片機微處理器的運行情況,如果在規(guī)定的時間內(nèi)沒有收到來自單片機微處理器的觸發(fā)信號則系統(tǒng)會強制復位。由于單片機自身抗干擾能力較差,尤其是
18、在一些條件比較惡劣,噪聲大的場合,常會出現(xiàn)單片機因受外界干擾而導致“程序跑飛”或“死機”的現(xiàn)象,造成系統(tǒng)不 ,能正常工作。通過設置看門狗,進行強制復位,可以保證系統(tǒng)仍然能夠從新回復正常工作。</p><p> 該控制系統(tǒng)通過使用專門的監(jiān)控芯片實現(xiàn)了,單片機應用系統(tǒng)的監(jiān)控電路,他同時具有單片機微處理器監(jiān)控和看門狗功能。</p><p> 單片機監(jiān)控芯片的選擇</p><
19、;p> 近年來,微電處理器監(jiān)控電路在電子產(chǎn)品設計中得到了廣泛的應用,其電路結構有簡單的三端復位芯片發(fā)展到更為復雜的多功能芯片。Maxim公司擁有上百種微處理器監(jiān)控類產(chǎn)品,可以提供多種各具特色的的選擇。該控制系統(tǒng)選用Maxim公司的MAX6304芯片來實現(xiàn)單片機系統(tǒng)的監(jiān)控電路。</p><p> MAX6304是一款專用、高性能,低功耗的微處理器監(jiān)控芯片,她有如下一些特點:</p><
20、p> 同時具有復位和看門狗功能。</p><p> 復位電壓門限在1.22V以上可以調(diào)節(jié)。</p><p><b> 復位超時時間可調(diào)。</b></p><p> 看門狗超時時間可調(diào),通過看門狗選擇腳還可以設置500倍超時時間。</p><p><b> 4ua供 電電流。</b>&
21、lt;/p><p> 輸出結構為:推拉方式輸出、高電平復位。</p><p> MAX6304引腳圖如圖4—-5所示。</p><p> 二\MAX6304各引腳說明</p><p> RESET IN:復位輸入腳。復位比較器高阻輸入端,見此引腳和外部電阻分壓網(wǎng)絡相連可以設置復位門限電壓。</p><p><
22、b> GND:接地端。</b></p><p> SRT:復位超時設置輸入腳。在此輸入引腳和地之間連接一個電容可以設置復位超時時間。</p><p> SWT看門狗超時設置輸入腳,在此輸入引腳和地之間連接一個電容可以設置基本看門狗超時時間。此腳接地可以禁用看門狗功能。</p><p> WDS;看門狗檢測器選擇腳。此輸入腳用于設置看門狗模式
23、。接地為正常</p><p> 模式,此時看門狗超時時間為基本看門狗超時時間;接vcc為擴展模式,此時看門狗超時時間為基本看門狗超時時間的500倍。此引腳的電平變化將會對看門狗的定時器清零。</p><p> (6)WDI:看門狗檢測器輸入腳。在設置好的看門狗超時時間內(nèi),此輸入腳上必須有信號上升、小將的跳變,否則會輸出復位脈沖。當WDI或WDS腳上出現(xiàn)信號跳變或者輸出復位信號時,看門狗
24、定時器清零并重新啟動。在看門狗擴展模式情況下,將WDI引腳懸空或者有一個三臺驅動器驅動,可以禁用看門狗功能。</p><p> (7)RESET:推拉式、高電平有效復位輸出腳。當被監(jiān)控的電壓下降到復位門限值以下是,此引腳產(chǎn)生由低到高的變化。只要VIN低于VST,RESET輸出就保持高電平。當vin超過vrst時,RESET輸出繼續(xù)保持一個復位超時時間的高電平,然后變?yōu)榈碗娖健.斂撮T狗出現(xiàn)超時時,看門狗定時器會觸
25、發(fā)reset脈沖。</p><p> (8)Vcc:+5V供電.</p><p> 三、監(jiān)控芯片外圍電路的設計</p><p> 監(jiān)控芯片MAX6304外圍電路的設計可以參考maxim公司提供的芯片資料來進行。</p><p> 復位門限電壓滿足如下的公式</p><p> Vrst=1.22×(R
26、16+R17)/R16</p><p> 分別選擇r16為3.9k,r17為9.1k。</p><p> Vrst=1.22×(R16+R17)/R16=4.07V</p><p> 本例采用+5V供電,所以復位電壓設置在4.07V是滿足要求的.</p><p> MAX6304的SRT腳用于設置超市復位時間,這個時間可以通
27、過外部電容C4來調(diào)節(jié)。復位超時時間按如下公式進行計算。</p><p> tRP=2.67xC4</p><p> 公式中,c4應該取以pf為單位的數(shù)值,而得到的復位超時時間trp單位是us</p><p> 這里取c4=10pf可得:</p><p> tRP =2.67c4=26.7us看門狗功能是指在系統(tǒng)設計中通過軟件或硬件的方
28、式在一定周期內(nèi)監(jiān)控單片機微處理器的運行情況,如果在規(guī)定的時間內(nèi)沒有收到來自單片機微處理器的觸發(fā)信號則系統(tǒng)會強制復位。由于單片機自身抗干擾能力較差,尤其是在一些條件比較惡劣,噪聲大的場合,常會出現(xiàn)單片機因受外界干擾而導致“程序跑飛”或“死機”的現(xiàn)象,造成系統(tǒng)不 ,能正常工作。通過設置看門狗,進行強制復位,可以保證系統(tǒng)仍然能夠從新回復正常工作。</p><p> 該控制系統(tǒng)通過使用專門的監(jiān)控芯片實現(xiàn)了,單片機應用系
29、統(tǒng)的監(jiān)控電路,他同時具有單片機微處理器監(jiān)控和看門狗功能。</p><p> 單片機監(jiān)控芯片的選擇</p><p> 近年來,微電處理器監(jiān)控電路在電子產(chǎn)品設計中得到了廣泛的應用,其電路結構有簡單的三端復位芯片發(fā)展到更為復雜的多功能芯片。Maxim公司擁有上百種微處理器監(jiān)控類產(chǎn)品,可以提供多種各具特色的的選擇。該控制系統(tǒng)選用Maxim公司的MAX6304芯片來實現(xiàn)單片機系統(tǒng)的監(jiān)控電路。&l
30、t;/p><p> MAX6304是一款專用、高性能,低功耗的微處理器監(jiān)控芯片,她有如下一些特點:</p><p> 同時具有復位和看門狗功能。</p><p> 復位電壓門限在1.22V以上可以調(diào)節(jié)。</p><p><b> 復位超時時間可調(diào)。</b></p><p> 看門狗超時時間可
31、調(diào),通過看門狗選擇腳還可以設置500倍超時時間。</p><p><b> 4ua供 電電流。</b></p><p> 輸出結構為:推拉方式輸出、高電平復位。</p><p> MAX6304引腳圖如圖4—-5所示。</p><p> 二\MAX6304各引腳說明</p><p> R
32、ESET IN:復位輸入腳。復位比較器高阻輸入端,見此引腳和外部電阻分壓網(wǎng)絡相連可以設置復位門限電壓。</p><p><b> GND:接地端。</b></p><p> SRT:復位超時設置輸入腳。在此輸入引腳和地之間連接一個電容可以設置復位超時時間。</p><p> SWT看門狗超時設置輸入腳,在此輸入引腳和地之間連接一個電容可以
33、設置基本看門狗超時時間。此腳接地可以禁用看門狗功能。</p><p> WDS;看門狗檢測器選擇腳。此輸入腳用于設置看門狗模式。接地為正常模式,此時看門狗超時時間為基本看門狗超時時間;接Vcc為擴展模式,此時看門狗超時時間為基本看門狗超時時間的500倍。此引腳的電平變化將會對看門狗定時器清零。</p><p> MAX6304的SWT腳用于設置基本看門狗超時時間,這個時間可以通過外部電
34、容C5來調(diào)節(jié)?;究撮T狗超時時間按式(4-5)進行計算。</p><p> Twd=2.67C5 (4-5)</p><p><b> 注意</b></p><p> 公式(4-5)中,C5應該取以pF為單位的數(shù)值,而所得到的復位超時時間Twd單位是us。</p>
35、<p> 這里取C5=100pF,可得:</p><p> Twd=2.67C5=2.67s (4-6)</p><p> WDS腳是MAX6304的看門狗選擇輸入腳,這個輸入腳可以選擇看門狗的模式,接低電平為正常模式,接高電平則選擇的是擴展模式。在擴展模式下,看門狗超時時間為基本超時時間的500倍。在本例中,WDS
36、接高電平,所以最終的看門狗超時周期為:</p><p> Twd=2.67C5=2.67×500=133.5ms (4-7)</p><p> 這樣,只需在單片機程序中每隔小于133.ms的時間間隔讓P1.6產(chǎn)生電平跳變(即對MAX6304的WDI輸入腳提供“喂狗”信號),就可以實現(xiàn)看門狗功能。如果“程序跑飛”或者“死機”,程序就不會運行到“喂狗
37、”語句,超過看門狗超時時間,MAX6304的RESET引腳就會產(chǎn)生有效的復位輸出,從而對單片機復位。MAX6304接線圖如圖4-6所示。</p><p><b> 注意</b></p><p> 在該控制系統(tǒng)中,看門狗功能由外部看門狗芯片和程序配合實現(xiàn),程序外部主要是根據(jù)設定的看門狗超時時間放置合適的“喂狗”語句。設定看門狗超時時間最好根據(jù)主程序一次循環(huán)的時間來設
38、定,設置太短會導致誤動作,而設置太長則“死機”時間會長。</p><p><b> 系統(tǒng)程序設計</b></p><p><b> 主程序流程圖</b></p><p> 該智能交通燈控制系統(tǒng)的軟件設計的采用的是順序執(zhí)行并反復循環(huán)的方法。智能交通燈控制系統(tǒng)在正常的工作情況下,沒60s循環(huán)變化一次。每個循環(huán)周期還剩5s
39、時,四個路口的黃燈同時點亮并開始閃爍,一提醒路上的行人及車輛,交通燈即將發(fā)生變換。在程序中定時掃描P3口,若有鍵按下,則調(diào)用鍵盤子程序進行相應的處理;若無則程序繼續(xù)執(zhí)行。主程序流程圖如圖4-7所示。</p><p> 圖 4-7 主程序流程圖·</p><p><b> 定時中斷子程序</b></p><p> 給系統(tǒng)的倒計時
40、顯示裝置采用的是靜態(tài)顯示方式,單片機的P0口和P2口</p><p> 分別連接到計時裝置的十位和個位。系統(tǒng)每1s都會向倒計時顯示裝置傳送心得數(shù)字型碼用來顯示新的倒計時時間。設定該系統(tǒng)的定時器工作在方式1,由于方式1的最大定時時間為65.536ms,所以要產(chǎn)生1s的定時時間必須采用累加定時的方法,即將定時器的定時時間設定為50ms,終端的循環(huán)次數(shù)設定為20。當20次循環(huán)中斷完成以后,說明1s時間已經(jīng)累計到,這時
41、候通過調(diào)用子程序為倒計時裝置傳送新的數(shù)字型碼,從而完成倒計時時間的“減1”操作并進行顯示。另外,沒完成一次定時中斷操作后都要重新對定時器賦初值。定時中斷子程序流程圖如圖4-8所示。</p><p> 圖4-8 定時中斷子程序流程圖</p><p><b> 注 意</b></p><p> 該定時中斷子程序的目的是每秒鐘產(chǎn)生中斷一次
42、,其中1s的產(chǎn)生既可以用上面提到的方法,也可以用接下來介紹的軟件延時方法。</p><p> MCS-51的工作頻率為2-12MHZ,假定該控制系統(tǒng)單片機的工作頻率為6MHZ,因為機器周期與主頻有關,機器周期是主頻的12倍,所以一個機器周期的時間為12X(1/6)=2us。我們可以知道具體每條指令的周期數(shù),這樣我們就可以通過指令的執(zhí)行條數(shù)來確定1s的時間。</p><p> 具體的演示
43、程序分析:</p><p> DELAY: MOV R4,#08H ; 延時1s子程序</p><p> DE2: LCALL DELAY1</p><p> DJNZ R4,DE2</p><p><b> RET</b></p><p> DELAY1:MOV R6,#0
44、 ;延時125ms子程序</p><p><b> MOV R5,#0</b></p><p> DE1: DJNZ R5,$</p><p> DJNZ R6,DE1</p><p><b> RET</b></p><p> MOV
45、RN,#DATA;字節(jié)數(shù)為2,機器周期數(shù)為1,所有指令的執(zhí)行時間為2ms</p><p> 其中,DELAY1為一個雙重循環(huán),循環(huán)次數(shù)為256X256=65 536,所以延時時間為65 536X2=131 072us約為125ms。DELAYR4設置的初值為8,主演是程序循環(huán)8次,所以125usX8=1s。由于單片機的運行速度很快,其他的指令執(zhí)行時間可以忽略不計。</p><p><
46、;b> 顯示子程序流程圖</b></p><p> 該交通燈控制系統(tǒng)采用的是靜態(tài)顯示,對于</p><p> 得到的倒計時顯示數(shù)據(jù),首先應提取出倒計時數(shù)</p><p> 據(jù)的十位和個位,然后將視為和各位的字形碼分</p><p> 別送到單片機的P0口和P2口。其中P0口用來</p><p&g
47、t; 想倒計時顯示裝置傳送十位數(shù)字型碼,P2口用來</p><p> 傳送個位數(shù)字型碼。顯示子程序流程圖如圖4-9</p><p><b> 所示。</b></p><p> 4.4.4 按鍵字程序流程圖</p><p> 在該控制系統(tǒng)中,共使用了三個按鍵K1、K2、</p><p>
48、 K3來處理交通燈在實際應用中的某些特殊情況。</p><p> 如按下K1鍵,東西南北四個路口均變成紅燈,從</p><p> 而保證諸如急救車輛、消防車等車輛的及時通過,</p><p> 按下K2鍵,則只允許東西方向通行,而南北方向</p><p> 禁行;按下K3鍵只允許南北方向通行,而東西方</p><
49、p> 向禁行。另外,K1、K2、K3三個鍵無論按下那個鍵,倒計時顯示裝置都會關閉,四個路口的黃燈同時點亮并進行閃爍(時間為5s),提醒車輛和行人,交通燈即將發(fā)生變換。當特殊情況消除后,松開按鍵,智能交通控制系統(tǒng)又恢復正常工作。</p><p> 按鍵字程序流程圖如圖4-10所示。</p><p> 圖4-10 按鍵字程序流程圖</p><p><
50、b> 4.5系統(tǒng)調(diào)試</b></p><p> 智能交通燈控制系統(tǒng)設計完成后,剩下的工作就是系統(tǒng)的調(diào)試。本系統(tǒng)的調(diào)試工作分三部分進行。一是做好硬件電路的檢查工作,確保焊點無虛焊,I/O接口對應準確;二是做好軟件部分的調(diào)試工作,調(diào)試的手段是將所編輯的源程序在相應的集成開發(fā)環(huán)境下運行,根據(jù)系統(tǒng)提示的錯誤進行修改。三是軟硬件的整體聯(lián)合調(diào)試,在這一步中,要給硬件上的電并且使程序運行起來,重點查看硬件
51、部分能否正確實現(xiàn)軟件部分規(guī)定的功能要求。很多情況下,系統(tǒng)的調(diào)試工作并不是一步到位的,當軟件和硬件設置不統(tǒng)一時,系統(tǒng)往往無法正常工作,無法滿足既定的功能要求,這時候需要根據(jù)軟件該硬件或者根據(jù)硬件該軟件,使兩者協(xié)調(diào)統(tǒng)一起來??傊到y(tǒng)的調(diào)試工作要經(jīng)過反復地修改、運行、再修改、再運行這一循環(huán)漸進的過程。</p><p> 4.5.1系統(tǒng)的硬件調(diào)試</p><p> 系統(tǒng)的硬件調(diào)試一般分下面三
52、個步驟。</p><p> 第一步,目測。檢查外部的各種元件或者電路是否有斷點。</p><p> 第二步,用萬用表測試。先用萬用表復核目測中有疑問的連接點,再檢測各種電源線與地線之間是否有短路現(xiàn)象。</p><p> 第三步,加電檢測。給板加點,檢測所有插座或者器件的電源端是否符合要求的值。</p><p> 1.倒計時顯示電路調(diào)試
53、</p><p> 給硬件電路接上電源,這是數(shù)碼管全滅,用一根導線的一端與地線相連,另一端依次碰觸AT89C51的P0和P2口,一邊碰觸一邊查看七段數(shù)碼管,正常情況下可以看到每碰觸一個引腳,對應的一段數(shù)碼管點亮。若不亮,仔細查看與該引腳相連的電阻及數(shù)碼管是否虛焊。</p><p> 2.交通燈電路的調(diào)試</p><p> 需要說明的是,由于整個設計是用發(fā)光二極
54、管來代替交通燈,需要低電平“0”來驅動點亮,在實際電路中,應使P1口輸出高電平“1”來驅動繼電器導通,從而使220V的交通燈點亮。這是試驗與實際應用比較容易日混淆的地方,應該引起注意。</p><p> 進行交通燈電路的調(diào)試首先應確保VD1~VD12這12個發(fā)光二極管焊好,注意不要焊反(發(fā)光二極管在沒有剪腳前,長的一段為正極),同時將每一個發(fā)光二極管的限流電阻焊好。接上電源,發(fā)光二極管全滅,將一根導線的一端與地
55、線相連,另一端依次碰觸AT89C51的P1.0~P1.5接口,一邊碰觸一邊查看發(fā)光二極管正常情況下可以看到每碰觸一個引腳,都會有相應的法官二極管點亮。若不亮,仔細查看與該引腳相連的電阻及數(shù)碼管是否虛焊。</p><p> 3.緊急通行電路調(diào)試</p><p> 仔細檢查K1、K2、K3三個按鍵是否焊牢,并且三個鍵是否與相應的I/O接口對應準確。</p><p>
56、<b> 4.監(jiān)控電路的調(diào)試</b></p><p> 在單片機系統(tǒng)上電工作不正常時,有可能是復位電路存在問題。用導線將RESET引腳的+5v短時間連接一下,模擬一下上電復位如果單片機能夠正常工作了,那么說明復位電路不存在問題。</p><p> 用示波器觀察和WDI相連的單片機I/O口的信號波形,如果端口電平以設置的時間的周期跳變,這就說明看門狗的程序工作正常
57、。</p><p><b> 4.5.2軟件調(diào)試</b></p><p> 軟件的調(diào)試也稱糾錯或排錯,它是孤立并糾正錯誤的一種技巧性技能過程。軟件錯誤的外部表現(xiàn)形式與內(nèi)部原因之間往往沒有明顯的聯(lián)系,所出現(xiàn)的差錯并非直接就能找出原因。因此,軟件調(diào)試既要對錯誤的性質及程序本身進行系統(tǒng)的研究,在某種程度上也要靠直覺與經(jīng)驗。到目前為止,調(diào)試還沒有一套經(jīng)得起檢驗的完整而系統(tǒng)
58、的理論方法,排錯時所采用的方法和時間都不能事先確定。這樣通常認為調(diào)試是困難的,是軟件開發(fā)過程中最為艱巨的一種腦力勞動。</p><p> 對于調(diào)試,有一個認識誤區(qū)需要加以糾正這就是調(diào)試并不是提高軟件質量的一種方法,他只是勇于改正錯誤。保證軟件質量應從項目開始時就進行,提供軟件質量遵循軟件工程開發(fā)方法,進行詳細的需求分析、全面的設計、高質量的編譯。調(diào)試只是最終的一個不得已之舉。</p><p&
59、gt; 軟件調(diào)試是通過對程序的匯編、連接、執(zhí)行來發(fā)現(xiàn)程序中存在的語法錯誤與邏輯錯誤并加以排除糾正的過程。一般情況下,軟件的調(diào)試可以分為以下幾步。</p><p><b> 1.發(fā)現(xiàn)錯誤</b></p><p> 軟件調(diào)試的第一步是發(fā)現(xiàn)錯誤,發(fā)現(xiàn)錯誤并理解錯誤將花費90%的調(diào)試時間,采用科學的、有條理的思考進行調(diào)試比胡亂猜測要有效得多。</p>&l
60、t;p><b> 2.確定錯誤源</b></p><p> 發(fā)現(xiàn)錯誤的地方不一定是錯誤的原發(fā)點,應尋找所有與錯誤有關的地方,從而確定錯誤的原發(fā)點。</p><p><b> 3.修正錯誤</b></p><p> 與發(fā)現(xiàn)錯誤相比,改正錯誤是一件容易的事情但切忌輕易進行改正。研究表明第一次糾正仍有50%的出錯機
61、會,盲目的進行修改只會導致更多的錯誤。以下幾點是你修正錯誤時應遵循的原則:</p><p> (1)在改正問題前真正了解其本質。</p><p> (2)理解整個程序,而不是了解某個問題。</p><p><b> ?。?)確診錯誤。</b></p><p> ?。?)保存初始代碼。</p><p
62、> ?。?)每次制作一個修改。</p><p> (6)檢查所做的修改。</p><p> (7)尋找類似錯誤。</p><p><b> 一.靜態(tài)調(diào)試</b></p><p> 靜態(tài)調(diào)試指對程序進行人工書面檢查。靜態(tài)調(diào)試時要仔細閱讀程序及其文檔,經(jīng)過結構分析、功能分析、邏輯分析、接口分析、語法分析及逐行檢
63、查。以便找出并改正錯誤,通常有下面兩種方法:</p><p><b> 1.檢查語法錯誤</b></p><p> 產(chǎn)生語法錯誤的原因主要有兩個:一是鍵入錯誤,此錯誤如同寫文章時的“筆誤”;二是由于對語法規(guī)則不熟悉,見書后的錯誤信息、各種限制、全局變量與局部變量、先左后右的原則等,這些雖不是系統(tǒng)規(guī)定,但也是語法的一部分,應作為專項予以檢查。</p>
64、<p><b> 2.跟蹤程序流程</b></p><p> 此時的跟蹤程序流程,即將自己作為計算機。給定一組輸入數(shù)據(jù)后,順序執(zhí)行每條語句,考察所得結果,尋找錯誤。此方法需花一定時間,但這是最基本的方法,用其他方法難以查出問題時,可以試用此法。</p><p> 順便說一句,學習編程技術的主要途徑是讀別人的程序,對較難懂的地方,也只有跟蹤程序才能讀懂,
65、也就是常說的閱讀能力提高的途徑。對程序的流程圖也可采取此方法檢查。</p><p><b> 二.動態(tài)調(diào)試</b></p><p> 動態(tài)調(diào)試是指實際上機運行程序進行調(diào)試。經(jīng)過靜態(tài)調(diào)試后,仍留在程序中的錯誤都十分隱蔽。為找到這些錯誤,首先需捕獲一些與錯誤有關的線索,即進行錯誤偵察源程序上機運行,語言系統(tǒng)及操作系統(tǒng)會在程序有故障時給出信息,常見的故障分為以下幾種情況
66、:</p><p> (1)沒有通過編譯。</p><p> ?。?)沒有通過連接編譯。</p><p> ?。?)程序的運行過程因故障而停止。</p><p> ?。?)程序只輸出部分結果。對這部分結果進行分析,可大致了解被執(zhí)行的邏輯,或程序在什么地方被中斷。</p><p> ?。?)程序執(zhí)行了很長時間沒有結果。
67、</p><p> 這種情況可能有三個原因造成:一是程序本來執(zhí)行時間就很長;二是程序內(nèi)有死循環(huán);三是程序運行時使硬件系統(tǒng)“死鎖”。</p><p> 4.5.3軟硬件的聯(lián)合調(diào)試</p><p> 將燒錄好的AT89C51芯片插上(有條件的同學,這一部分也可以通過51系列的仿真器來實現(xiàn)),由于這個芯片引腳較多,在插入插座時要格外小心,防止其中幾個腳折彎從而造成器
68、件間的接觸不良。所有元器件安裝好后就可以給系統(tǒng)通電,系統(tǒng)在正常運行情況下,可以看到每組數(shù)碼管顯示“60”,同時東西路亮綠燈,南北路亮紅燈,然后倒計時顯示裝置開始做時間遞減操作,當顯示為“05”時,黃燈點亮并開始閃爍,當?shù)褂嫊r結束后,道路通行狀態(tài)改變,即東西亮紅燈,南北亮綠燈此時兩位數(shù)碼管重新顯示“60”,然后做遞減操作,結束后重復前面的動作。注意:在系統(tǒng)的調(diào)試過程中,如果覺得60秒時間太長,可以將第32行“MOVE 33H,#3DH”,
69、改成“MOV 33H,#10H”即把定時60s(用3DH表示)改為15s(用10H表示),以縮短調(diào)試過程中的等待時間。系統(tǒng)的硬件和軟件調(diào)試完成后,再把時間信息修改過來即可。</p><p> 接下來進行緊急通行電路的調(diào)試工作。在系統(tǒng)運行正常的情況下,按下K1鍵,</p><p> 可以看到倒計時顯示裝置關閉,同時四個路口的黃燈點亮并進行閃爍(5s),黃燈閃爍結束后,四個路口的交通燈均變
70、成紅色,松開K1鍵,系統(tǒng)又恢復正常工作;按下K2鍵,倒計時顯示裝置關閉,同時四個路口的黃燈點亮并進行閃爍(5s),黃燈閃爍結束后,東西變成綠燈,南北變成紅燈,松開K2鍵,系統(tǒng)又恢復正常工作;按下K3鍵,倒計時顯示裝置關閉,同時四個路口的黃燈點亮并進行閃爍(5s),黃燈閃爍結束后,南北變成綠燈,東西變成紅燈,松開K3鍵,系統(tǒng)又恢復正常工作。</p><p> 如果系統(tǒng)在調(diào)試的過程中不能做到以上幾點,應仔細檢查所涉
71、及的硬件和軟件,通過比較來進行糾錯,使所涉及的智能交通燈控制系統(tǒng)更精確,更完美。</p><p><b> 4.6程序清單</b></p><p> ORG 000H</p><p> LJMP MAIN</p><p> ORG 001BH ;定時器T1中斷入
72、口</p><p> LJMP INT1 </p><p> ORG 0100H ;主程序入口</p><p> ??;********;</p><p><b> ??;*主程序*;</b></p><p&g
73、t; ??;********;</p><p><b> MAIN:</b></p><p> MOV SP,#60H</p><p> MOV TMOD,#10H ;定時器T1工作在方式1</p><p> MOV TH1,#9EH
74、 ;給定定時器T1賦初值</p><p> MOV TL1,#58H</p><p> SETB EA ;給中斷系統(tǒng)總開關</p><p> SETB ET1 ;給定時器T1中斷開關</p><p> SETB TR1
75、 ;啟動定時器T1</p><p><b> HERE:</b></p><p> MOV 88H,#15H ;設置中斷循環(huán)次數(shù)</p><p> MOV 33H,#3DH ;設置倒計時顯示數(shù)值</p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設計----智能交通燈控制系統(tǒng)設計
- 單片機-智能交通燈控制系統(tǒng)設計課程設計
- 單片機課程設計---智能交通燈控制系統(tǒng)的設計
- 課程設計---單片機交通燈控制系統(tǒng)
- 單片機課程設計---交通燈控制系統(tǒng)設計
- 單片機課程設計--交通燈控制系統(tǒng)
- 單片機課程設計——交通燈控制系統(tǒng)設計
- 交通燈課程設計--基于單片機的交通燈控制系統(tǒng)設計
- 單片機課程設計--單片機控制的交通燈控制系統(tǒng)設計
- 單片機課程設計--交通燈控制系統(tǒng)設計
- 單片機課程設計---led交通燈控制系統(tǒng)設計
- 單片機課程設計報告---交通燈控制系統(tǒng)設計
- 單片機交通燈課程設計--基于單片機的交通燈控制設計
- 課程設計---單片機控制交通燈系統(tǒng)
- 單片機課程設計報告--基于單片機的交通燈控制系統(tǒng)
- 單片機交通燈課程設計--基于單片機的交通燈系統(tǒng)的設計
- 單片機控制交通燈課程設計
- 單片機交通燈課程設計--基于單片機的交通燈系統(tǒng)的設計
- 單片機控制交通燈課程設計
- 單片機控制交通燈課程設計
評論
0/150
提交評論