




免費(fèi)預(yù)覽已結(jié)束,剩余28頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
課程設(shè)計(jì)說明書題 目 單片機(jī)十字路口交通燈控制系統(tǒng)設(shè)計(jì) 機(jī)械工程 系 機(jī)電技術(shù)應(yīng)用 專業(yè) 0411 班 37 學(xué)號(hào)學(xué)生姓名 XX 指導(dǎo)老師 XX 完成日期 2007-1-15至2007-1-26 湖南工程學(xué)院課程設(shè)計(jì)任務(wù)書 設(shè)計(jì)題目:單片機(jī)十字路口交通燈控制系統(tǒng)設(shè)計(jì)姓名XX系別機(jī)械系專業(yè)機(jī)電技術(shù)班級(jí)JD0411學(xué)號(hào)XX指導(dǎo)老師XX教研室主任XX一、基本任務(wù)及要求1設(shè)計(jì)任務(wù)(1)硬件 擴(kuò)展8031、74LS373、ROM、RAM、8279(顯示)、73LS138、74LS273、7407、8255(基本I/O);PC口接開關(guān)控制系統(tǒng)的啟動(dòng)/停止;PO口接彩燈;擴(kuò)展外部中斷做應(yīng)急控制,定時(shí)器T0(50ms)。(2)軟件 從左至右定位顯示“ 通行時(shí)間”控制程序;環(huán)島十字路口燈火控制程序(車通行綠、人通行黃);啟/停止開關(guān)控制程序,啟動(dòng)時(shí)先閃爍0.5s的黃燈,再正常運(yùn)行,停止時(shí)黑屏、熄燈;擴(kuò)展外部中斷應(yīng)急控制程序,應(yīng)急狀態(tài)為所有路口閃爍紅燈,在顯示器中部顯示“UU”;定時(shí)器T0初始化程序。2要求(1)繪制硬件接線框圖;繪制系統(tǒng)控制流程框圖。(2)撰寫設(shè)計(jì)說明書(58千字),并附程序清單及其功能注釋。(3)控制程序必須調(diào)試通過。二、進(jìn)度安排及完成時(shí)間1設(shè)計(jì)時(shí)間 2周(從2007年1月 15 日至2007年1月 26 日)2進(jìn)度安排 星期一三 布置任務(wù);查閱資料;講授相關(guān)知識(shí);做相關(guān)實(shí)驗(yàn)第20周: 星期四 設(shè)計(jì)硬件電路圖;編寫各功能子程序。星期五 調(diào)試各功能子程序,并記錄存在的問題與解決的方法。第21周: 星期一二 整理資料鏈接所有程序,進(jìn)行總體調(diào)試。星期三四 按格式撰寫設(shè)計(jì)說明書。星期五 上交設(shè)計(jì)作業(yè),文本文檔打印稿及電子文檔,并參加答辯。摘 要本設(shè)計(jì)的意義在于通過具體的控制系統(tǒng)的設(shè)計(jì),掌握微機(jī)控制系統(tǒng)設(shè)計(jì)的一般方法和處理問題的思路,特別是一些常用的技術(shù)手段。使大家能在實(shí)踐教學(xué)環(huán)節(jié)中,積累設(shè)計(jì)經(jīng)驗(yàn),開拓思維空間,全面提高個(gè)人的綜合能力。紅綠燈控制是智能交通系統(tǒng)的一個(gè)重要部分,本文給出了一個(gè)用單片機(jī)控制的簡易交通紅綠燈自動(dòng)控制系統(tǒng)。該系統(tǒng)適用于十字路口,并對(duì)放行和禁行時(shí)間進(jìn)行倒計(jì)時(shí)顯示(秒),且放行和放行時(shí)間可以根據(jù)需要進(jìn)行調(diào)整。在車輛通行繁忙的十字交叉路口設(shè)置的交通燈控制系統(tǒng),其特點(diǎn)是:道路較窄而車輛通行較多,支線、干線的車輛通行時(shí)間不等,并設(shè)有左右彎道通行時(shí)間,允許人工監(jiān)控或修改各線通行時(shí)間,同時(shí)設(shè)有道路應(yīng)急控制。具體的情況是:在正常的情況下,干道通行時(shí)間為40秒,其中左右彎道占時(shí)5秒,直道通行時(shí)間為25秒,其中左右彎道占時(shí)5秒,直道占時(shí)20秒。并且能夠在人工監(jiān)控狀態(tài)下,干道、支道通行時(shí)間通過鍵盤修改或通過開關(guān)人為控制。目錄1 設(shè)計(jì)任務(wù)和要求11.1 設(shè)計(jì)任務(wù)11.2 設(shè)計(jì)要求12系統(tǒng)總體設(shè)計(jì)思想22.1 總體結(jié)構(gòu)2 2.1.1設(shè)計(jì)思想2 2.1.2系統(tǒng)設(shè)計(jì)工作原理22.2 功能分析22.2.1雙色LED燈控制功能分析32.2.2 LED數(shù)碼顯示器控制功能分析32.3 定時(shí)器計(jì)算33 硬件設(shè)計(jì)4 3.1 硬件設(shè)計(jì)原理43.1.1存儲(chǔ)器擴(kuò)展電路 43.1.2 開關(guān)控制電路63.1.3顯示電路63.1.4 交通燈電路 7 3.2繪制總裝電路圖(附錄A)94 軟件設(shè)計(jì)9 4.1 主程序設(shè)計(jì)及功能9 4.2子程序設(shè)計(jì)及功能94.2.1 8279初始化子程序94.2.2 T0的初始化程序104.2.3 顯示子程序104.2.4 停止程序114.2.5 交通燈控制字表114.2.6 程序段碼表12 4.3 中斷服務(wù)程序設(shè)計(jì)及功能12 4.4 程序流程圖144.4.2中斷服務(wù)程序流程圖144.4.1停止程序流程圖144.4.3 主程序流程圖155 調(diào)試結(jié)果及說明 165.1 調(diào)試過程165.1.1 硬件調(diào)試165.1.2 軟件調(diào)試165.1.3 軟硬結(jié)合調(diào)試165.1.4 遇到的問題及解決方案166 系統(tǒng)功能及使用說明18 6.1 系統(tǒng)功能18 6.2操作使用說明187 心得體會(huì)198 參考文獻(xiàn)20附錄A 系統(tǒng)電路原理圖21附錄B 程序清單271設(shè)計(jì)任務(wù)和要求1.1設(shè)計(jì)任務(wù)(1)硬件擴(kuò)展8031、74LS373、ROM、RAM、8279(顯示)、73LS138、74LS273、7407、8255(基本I/O);PC口接開關(guān)控制系統(tǒng)的啟動(dòng)/停止;PO口接彩燈;擴(kuò)展外部中斷做應(yīng)急控制,定時(shí)器T0(50ms)。(2)軟件啟/停止開關(guān)控制程序,啟動(dòng)時(shí)先閃爍0.5s的黃燈,再正常運(yùn)行,停止時(shí)黑屏、熄燈;擴(kuò)展外部中斷應(yīng)急控制程序,應(yīng)急狀態(tài)為所有路口閃爍紅燈,在顯示器中部顯示“UU”;定時(shí)器T0初始化程序;列交通燈控制字表和序段碼表。表1.1 通行時(shí)間分配表課題狀態(tài)主道通行時(shí)間支道通行時(shí)間路口狀態(tài)人道彎道直道人道彎道直道0閃爍0.5s的黃燈115s15s230s30s30s30s應(yīng)急閃爍紅燈,顯示“UU”1.2設(shè)計(jì)要求(1)繪制硬件接線框圖;繪制系統(tǒng)控制流程框圖。(2)撰寫設(shè)計(jì)說明書(58千字),并附程序清單及其功能注釋。(3)控制程序必須調(diào)試通過。(4)課程設(shè)計(jì)說明書必須按統(tǒng)一的格式和要求撰寫,包括課程設(shè)計(jì)說明書封面、任務(wù)書、目錄、正文,裝訂成冊(cè)。2系統(tǒng)總體設(shè)計(jì)思想2.1 總體結(jié)構(gòu)依據(jù)給定的設(shè)計(jì)要求:通過編程實(shí)現(xiàn):(1)硬件控制:向單片機(jī)發(fā)送數(shù)據(jù)與控制信號(hào);(2)軟件控制:在顯示器上顯示交通管制中顯示的時(shí)間;使雙色燈在同的交通狀況下呈現(xiàn)不同的狀態(tài);(3)開關(guān)控制:提供啟動(dòng)、停止、應(yīng)急等控制功能。2.1.1設(shè)計(jì)思想利用單片機(jī)的指令系統(tǒng)編寫軟件啟/停止開關(guān)控制程序,啟動(dòng)時(shí)先閃爍0.5s的黃燈,再正常運(yùn)行,停止時(shí)黑屏、熄燈的啟/停程序;擴(kuò)展外部中斷應(yīng)急控制程序,應(yīng)急狀態(tài)為所有路口閃爍紅燈,在顯示器中部顯示“UU”;定時(shí)器T0初始化程序等等控制路口交通指示燈,指揮車輛、行人的通行。如遇緊急情況,立即啟動(dòng)應(yīng)急措施。其控制特點(diǎn)是:各個(gè)方向交通燈在不同情況下的狀態(tài)一樣,為黃燈時(shí),人通行;為綠燈時(shí),車通行;當(dāng)應(yīng)急時(shí),閃爍紅燈。由于要用到8255和8279芯片及定時(shí)器T0,需編寫其初始化程序。2.1.2系統(tǒng)設(shè)計(jì)工作原理設(shè)計(jì)一個(gè)微機(jī)環(huán)島十字路口交通燈軟件控制系統(tǒng),所需控制的信號(hào)燈為4個(gè)雙色LED燈;當(dāng)東西南北的燈顯示黃燈時(shí),只允許人通行,通行時(shí)間為15s,同時(shí)LED數(shù)碼顯示器顯示人通行的倒計(jì)時(shí)時(shí)間;當(dāng)東西南北的燈顯示綠燈時(shí),只允許車通行,通行時(shí)間為30s,同時(shí)LED數(shù)碼顯示器顯示車通行的倒計(jì)時(shí)時(shí)間;當(dāng)有急救車到來時(shí),交通警察人工干預(yù),通過撥動(dòng)中斷開關(guān)K2置1使東西南北道口全部為紅燈閃爍,禁止通行,只有急救車通行,這時(shí)LED數(shù)碼顯示器顯示“UU”。急救車通過后交通警察再撥動(dòng)中斷開關(guān)K2置0,解除禁令,東西南北恢復(fù)原來的通行狀態(tài)。用啟/停開關(guān)K1控制系統(tǒng)的啟/停,當(dāng)系統(tǒng)啟動(dòng)時(shí),黃燈閃爍0.5s LED數(shù)碼顯示器黑屏。當(dāng)系統(tǒng)停止時(shí),雙色燈熄滅和LED數(shù)碼顯示器全熄屏。從而達(dá)到表1.1中的交通指揮要求。2.2 控制功能分析2.2.1雙色LED燈控制功能分析雙色LED燈是由一個(gè)紅色LED管芯和一個(gè)綠色LED管芯封裝在一起,共地而成。當(dāng)紅色管芯的正極接底電平,綠色管芯的正極接高電平時(shí),雙色燈顯示紅色。反之,當(dāng)紅色管芯的正極接高電平,綠色管芯接正極接低電平時(shí),雙色燈顯示綠色。若兩個(gè)管芯的正極都接低電平時(shí),雙色燈顯示黃色。反之兩個(gè)都接高電平時(shí),雙色燈滅。在該電路中,74LS273的數(shù)據(jù)端口8000接8031單片機(jī)P0的數(shù)據(jù)線,通過7407驅(qū)動(dòng)4個(gè)雙色LED燈,其中,輸入端DG1-DG4為綠色燈管芯的正極,控制雙色燈中綠色燈的亮滅;DR1-DR4為紅色燈管芯的正極,控制雙色燈中紅色燈的亮滅;而7407為同相驅(qū)動(dòng)器,因此,從P0口輸出的低電平控制信號(hào),經(jīng)過7407同相后還是低電平,能使對(duì)應(yīng)的雙色燈LED亮,所以,低電平控制信號(hào)為亮燈的有效控制信號(hào)。2.2.2 LED數(shù)碼顯示器控制功能分析8279是一種可以同時(shí)管理鍵盤和顯示器的專用接口芯片。8279采用40個(gè)引腳封裝,D0D7為數(shù)據(jù)總線,與單片機(jī)的P0口連接,用于數(shù)據(jù)、命令/狀態(tài)的傳遞。顯示器的控制有字型控制與字位控制兩種。其中,顯示字符的字形碼從OUTA3OUTA0和OUTB3OUTB0輸出,與顯示器的段選a、b、c、d、e、f、g、dp連接,形成各種控制字;顯示器的位選信號(hào)由掃描輸出線SL3SL0經(jīng)外部譯碼獲得。和A0構(gòu)成8279端口地址,接單片機(jī)的地址線。當(dāng)=0,A0=0時(shí),CPU將訪問8279的數(shù)據(jù)口,對(duì)其寫入的數(shù)據(jù)為顯示字符的字形碼;對(duì)其讀出的數(shù)據(jù)為鍵值。當(dāng)=0,A0=1時(shí),CPU將訪問8279的訪問命令/狀態(tài)口,對(duì)其寫入的數(shù)據(jù)為命令字,讀出的數(shù)據(jù)為狀態(tài)字。用8279管理顯示器,要對(duì)其進(jìn)行工作模式設(shè)定初始化設(shè)置,工作模式設(shè)定是通過寫入命令字來實(shí)現(xiàn)的。2.3 定時(shí)器計(jì)算在定時(shí)器方式下,定時(shí)器T0(或T1)是對(duì)機(jī)器周期進(jìn)行計(jì)數(shù)的。定時(shí)時(shí)間為 (2-1)則計(jì)數(shù)初值 (2-2)式中M為定時(shí)器位數(shù);t為要求的定時(shí)值;fosc為振蕩頻率。 在此次設(shè)計(jì)中,fosc=12MHz,要求定時(shí)時(shí)間為50ms,使用定時(shí)器T0工作于方式1,依據(jù)式(2-2)有:即 X0=4CB0H3 硬件設(shè)計(jì)3.1確定硬件設(shè)計(jì)方案 根據(jù)設(shè)計(jì)要求 ,確定該控制系統(tǒng)的設(shè)計(jì)方案。硬件電路由4個(gè)部分組成,即存儲(chǔ)器擴(kuò)展電路、開關(guān)控制電路、顯示電路、交通燈電路。 3.1.1存儲(chǔ)器擴(kuò)展電路因?yàn)椴捎玫?031單片機(jī)芯片無片內(nèi)程序存儲(chǔ)器,所以我們必須擴(kuò)展8031。要能使用片外的程序存儲(chǔ)器, 必須接地。1、地址線的連接:8031 P0口()經(jīng)74LS373地址鎖存器接存儲(chǔ)器低8位地址線()。P2口()經(jīng)74LS373地址鎖存器接27512程序存儲(chǔ)器的高8位地址線(),接62256數(shù)據(jù)存儲(chǔ)器的高七位地址線()。2、數(shù)據(jù)線的連接:P0與存儲(chǔ)器的8位數(shù)據(jù)線()相連輸出。 圖3.1 存儲(chǔ)器擴(kuò)展電路3、控制線的連接:8031單片機(jī)的接27512程序存儲(chǔ)器的允許信號(hào),ALE接74LS373地址鎖存器的鎖存信號(hào)G。8031單片機(jī)的讀信號(hào)與62256數(shù)據(jù)存儲(chǔ)器的輸出允許相連,寫信號(hào) 與輸入寫允許相連。4、片選信號(hào)線連接:因?yàn)閮H擴(kuò)展一片27512程序存儲(chǔ)器,其片選信號(hào)可直接接地。因?yàn)?2256數(shù)據(jù)存儲(chǔ)器只需要15根地址線(),所以利用剩余的地址線(A15)接62256數(shù)據(jù)存儲(chǔ)器的片選信號(hào)。根據(jù)所選用的芯片和接線方式等確定27512程序存儲(chǔ)器的地址范圍為0000HFFFFH,62256數(shù)據(jù)存儲(chǔ)器的地址范圍為0000H7FFFH。根據(jù)上述接線要求,具體的存儲(chǔ)器擴(kuò)展電路圖如圖3.1所示。程序存儲(chǔ)器擴(kuò)展選擇27512程序存儲(chǔ)器:27256與27512分別是32 K8和64 K8的紫外線擦除可改寫只讀存儲(chǔ)器。27256采用HMOS 工藝制成,速度快,最大讀取時(shí)間不超過250 ns,有28個(gè)引腳,采用雙列直插式結(jié)構(gòu),其引腳分布如圖3.2所示。數(shù)據(jù)線8位,地址線15位,最大工作電流為100 mA,最大靜止等待電流為40 mA,編程電壓為125V,編程負(fù)脈沖寬度為50 ms(用快速寫入算法時(shí)的編程脈沖寬度累計(jì)時(shí)間50ms,正常工作電壓為單一5 V。27512采用新型固件強(qiáng)化結(jié)構(gòu),高密度,高性能價(jià)格比。它與27256的外部區(qū)別主要在于第1引腳。27256的第1引腳是編程電壓輸入端,而27512的第1引腳是地址線A15。27512的編程電壓輸入端VPP與讀允許合用一個(gè)引腳圖3.2 27256/27512的結(jié)構(gòu)3.1.2 開關(guān)控制電路在該電路中,74LS138譯碼器的A、B、C端口接8031單片機(jī)經(jīng)74LS373地址鎖存器后的地址線(),使能端口分別接8031單片機(jī)經(jīng)74LS373地址鎖存器后的地址線()。擴(kuò)展的8255A芯片的分別接8031單片機(jī)經(jīng)74LS373地址鎖存器后的地址線(),片選信號(hào)接圖3.3 開關(guān)控制電路74LS138譯碼器的輸出端,數(shù)據(jù)端口()接8031單片機(jī)P0的數(shù)據(jù)線。8031單片機(jī)的P3.2接應(yīng)急控制開關(guān)K2,8255A的接啟動(dòng)/停止控制開關(guān)K1。8255A的 、與8031單片機(jī)的、相連。根據(jù)接線方式等確定74LS138譯碼器的譯碼地址為8000H8700H,因?yàn)?255A的所選端口PC口的地址為8704H,所選端口控制口的地址為8706H。根據(jù)上述接線要求,具體的開關(guān)控制電路圖如3.3 所示。3.1.3顯示電路在該電路中,8279的、分別接8031單片機(jī)經(jīng)74LS373地址鎖存器后的地址線()。8279數(shù)據(jù)端口()接8031單片機(jī)P0的數(shù)據(jù)線,8279的、與8031單片機(jī)的、相連。8279的CNTL和SHIFT直接接地。8279掃描線()接74LS138譯碼器的A、B、C端口,通過74LS138譯碼器的輸出端()接7407同向驅(qū)動(dòng)器,再通過7407同向驅(qū)動(dòng)器接LED數(shù)碼顯示器的位選信號(hào)。8279的顯示數(shù)據(jù)輸出線,通過7407同向驅(qū)動(dòng)器與LED數(shù)碼顯示器的段選a、b、c、d、e、f、g、dp連接。74LS138譯碼器的接地,接。因?yàn)?279的端口控制線地址線、分別接8031單片機(jī)經(jīng)74LS373地址鎖存器后的(),所以8279的數(shù)據(jù)口地址為FF80H,命令/狀態(tài)口地址為FF82H。根據(jù)上述接線要求,具體的顯示電路圖如圖3.4所示 圖3.4 顯示電路3.1.4 交通燈電路 在該電路中,74LS273的數(shù)據(jù)端口()接8031單片機(jī)P0的數(shù)據(jù)線,通過7407驅(qū)動(dòng)4個(gè)雙色LED燈,其中輸入端DG1-DG4為綠色燈管芯的正極,控制雙色燈中綠色燈的亮滅;DR1-DR4為紅色燈管芯的正極,控制雙色燈中紅色燈的亮滅;而7407為同相驅(qū)動(dòng)器,因此,從P0口輸出的低電平控制信號(hào),經(jīng)過7407同相后仍為低電平,能使對(duì)應(yīng)的雙色燈LED亮,所以高電平控制信號(hào)為亮燈的有效控制信號(hào)。圖3.5 交通燈電路74LS138譯碼器的A、B、C端口接8031單片機(jī)經(jīng)74LS373地址鎖存器后的地址線(),使能端口分別接8031單片機(jī)經(jīng)74LS373地址鎖存器后的地址線(),74LS138譯碼器的輸出端和8031單片機(jī)的寫信號(hào)接邏輯與門電路之后接74LS273的時(shí)鐘信號(hào)CLK。只有在和8031單片機(jī)的寫信號(hào)都為低電平的情況下,讓74LS273打開。根據(jù)上述接線要求,具體的交通燈電路圖如圖3.5所示。3.2繪制總裝電路圖(附錄A)4 軟件設(shè)計(jì)4.1 主程序設(shè)計(jì)及功能主程序需滿足的功能是:當(dāng)東西南北的燈顯示黃燈時(shí),只允許人通行,通行時(shí)間為15s,同時(shí)LED顯示器顯示人通行的倒計(jì)時(shí)間;當(dāng)東西南北的燈顯示綠燈時(shí),只允許車通行,通行時(shí)間為30s,同時(shí)LED顯示器顯示車通行的倒計(jì)時(shí)間;當(dāng)有急救車到來時(shí),交通警察人工干預(yù),通過撥動(dòng)中斷開關(guān)K2置1使東西南北道口全部為紅燈閃爍,禁止通行,只有急救車通行,這時(shí)LED數(shù)碼顯示器顯示“UU”報(bào)警。急救車通過后交通警察再撥動(dòng)中斷開關(guān)K8置0,解除禁令,東西南北恢復(fù)原來的通行狀態(tài)。用啟/停開關(guān)K1控制系統(tǒng)的啟/停,當(dāng)系統(tǒng)啟動(dòng)時(shí),黃燈閃爍0.5s LED顯示器清屏。當(dāng)系統(tǒng)停止時(shí),雙色燈熄滅和LED顯示器全熄屏。根據(jù)主程序的功能設(shè)計(jì),其程序流程圖4.1如下所示,程序清單見附錄B。4.2子程序設(shè)計(jì)及功能從左至右定位顯示“ 通行時(shí)間”控制程序;啟/停止開關(guān)控制程序,啟動(dòng)時(shí)先閃爍0.5s的黃燈,再正常運(yùn)行,停止時(shí)黑屏、熄燈;擴(kuò)展外部中斷應(yīng)急控制程序,應(yīng)急狀態(tài)為所有路口閃爍紅燈,在顯示器中部顯示“UU”;定時(shí)器T0初始化程序。4.2.1 8279初始化子程序INIT8279:;8279初始化子程序MOVDPTR,#Z8279MOVA,#LEDMOD ;置8279工作方式字MOVXDPTR,AMOVA,#LEDFEQ ;置鍵盤掃描速率字MOVXDPTR,A MOVA,#LEDCLS ;置清除LED顯示字MOVXDPTR,AMOVR2,#1LCALLDELAY ;調(diào)用延時(shí)子程序RET4.2.2 T0的初始化程序INIT0:MOV TMOD, #01H ;定時(shí)器,方式1,軟件啟動(dòng)MOV TH0, #4CH ;寫入計(jì)數(shù)初值MOV TL0, #0B0HSETB ET0 ; 開放T0中斷SETB EA ; 開放CPU中斷SETB TR0 ;啟動(dòng)T0工作由于定時(shí)器/計(jì)數(shù)器的各種功能是由軟件來確定的,所以在使用它之前,應(yīng)對(duì)其進(jìn)行編程初始化。初始化的主要內(nèi)容是對(duì)TCON和TMOD編程,計(jì)算和裝載T0和T1的計(jì)數(shù)初值。由設(shè)計(jì)要求可知,定時(shí)器T0的工作方式字為01H,由之前計(jì)算的T0的計(jì)數(shù)初值為4CB0H。由于是軟件啟動(dòng),允許中斷,所以ET0、EA、TR0置1,開放外部中斷0,啟動(dòng)定時(shí)器T0。4.2.3 顯示子程序DISLED: ;字符顯示子程序PUSHDPH ;保存現(xiàn)場PUSHDPLPUSHACCMOVA,#LEDWR0 ;顯示位基本地址ADDA,#4 ;指定D4位作“十位”MOVDPTR,#Z8279 ;顯示位MOVXDPTR,AMOVDPTR,#LEDSEG ;指向段碼表首地址MOVA,41H ;取“十位”值MOVCA,A+DPTR ;取“十位”值段碼MOVDPTR,#D8279MOVXDPTR,A ;顯示“十位”字符MOVA,#LEDWR0 ;指定D3位作“個(gè)位”ADDA,#3 ;顯示位MOVDPTR,#Z8279MOVXDPTR,AMOVDPTR,#LEDSEGMOVA,42H ;取“個(gè)位”值MOVCA,A+DPTR ;取“個(gè)位”值碼MOVDPTR,#D8279MOVXDPTR,A ;顯示“個(gè)位”值POPACCPOPDPLPOPDPHRET該程序段的功能是從段碼表LEDSEG中內(nèi)取字符的段碼送到LED數(shù)碼顯示器顯示,分別顯示在3號(hào)和4號(hào)位。4.2.4 停止程序STOP: MOV DPTR,#Z8279 MOV A,#LEDCLS ;顯示器黑屏 MOVX DPTR,A MOV A,#0FFH ;交通燈熄控制字 MOV DPTR,#8300H MOVX DPTR,ASJMP $該程序段的功能是當(dāng)0開關(guān)K1置0時(shí),雙色燈熄滅,LED數(shù)碼顯示器清屏。首先確定PC.0的輸入地址,讀其狀態(tài)字,判斷是否需要停止,如果不需要停止則跳出該程序,如果需要停止,則送雙色燈熄滅狀態(tài)字到其輸入口,使其熄滅,調(diào)用清屏程序段,對(duì)LED數(shù)碼顯示器清屏。完成停止程序段的任務(wù)。4.2.5 交通燈控制字表交通狀態(tài)PO口紅燈控制信號(hào)PO口綠燈控制信號(hào)控制字DR4 DR3 DR2 DR1DG4 DG3 DG2 DG1狀態(tài)1各路口全黃燈0 0 0 00 0 0 000H狀態(tài)2各路口全綠燈1 1 1 1 0 0 0 0F0H狀態(tài)3各路口全紅燈0 0 0 0 1 1 1 10FH狀態(tài)4各路口燈全滅1 1 1 1 1 1 1 1FFH雙色LED燈是由一個(gè)紅色LED管芯和一個(gè)綠色LED管芯封裝在一起,共地而成。當(dāng)紅色管芯的正極接高電平,綠色管芯的正極接低電平時(shí),雙色燈顯示紅色。反之,當(dāng)紅色管芯的正極接低電平,綠色管芯接正極接高電平時(shí),雙色燈顯示綠色。若兩個(gè)管芯的正極都接高電平時(shí),雙色燈顯示黃色。反之兩個(gè)都接低電平時(shí),雙色燈滅。4.2.6 程序段碼表字符01234567段碼3FH06H5BH4FH66H6DH7DH07H字符89U-U段碼7FH6FH3EH40H40H3EH由于實(shí)驗(yàn)室里L(fēng)ED數(shù)碼顯示器中的發(fā)光二極管采用共陰極連接方法,此表中的段碼全為共陰極代碼。4.3中斷服務(wù)程序設(shè)計(jì)及功能INT0: PUSH ACC ;外部中斷 PUSH DPH ;保存現(xiàn)場 PUSH DPL MOV R5, #16 MOV R4, #07H LCALL DISLED ;顯示在7號(hào)位 MOV R5, #16 MOV R4, #06H LCALL DISLED ;顯示在6號(hào)位 MOV R5, #18 ;U; MOV R4, #05H LCALL DISLED ;顯示在5號(hào)位 MOV R5, #17 ;- MOV R4, #04H LCALL DISLED ;顯示在4號(hào)位 MOV R5, #17 ;- MOV R4, #03H LCALL DISLED ;顯示在3號(hào)位 MOV R5, #18 ;U MOV R4, #02H LCALL DISLED ;顯示在2號(hào)位 MOV R5, #16 MOV R4,#01H LCALL DISLED ;顯示在1號(hào)位 MOV R5, #16 MOV R4, #00H LCALL DISLED ;顯示在0號(hào)位 MOVDPTR,#8300H MOVA,#0FHMOVX DPTR, A ;彩燈紅 LCALL DLY MOVA, #0FFH MOVXDPTR,A ;彩燈滅LCALL DLY MOV DPTR,#Z8279 ;清屏 MOV A,#LEDCLS MOVX DPTR,A POP DPL ;恢復(fù)現(xiàn)場 POP DPH POP ACC RETI該程序段的功能是當(dāng)外部中斷時(shí),東西南北道口全部為紅燈閃爍,禁止人,車通行,只有急救車通行,且LED數(shù)碼顯示器顯示“UU”報(bào)警。R4為顯示位置,R5為顯示字符在段碼表中的偏移量。在片內(nèi)RAM中有空間區(qū)域叫堆棧,用于數(shù)據(jù)的暫存,并遵循“后進(jìn)先出”原則操作,其地址指針為SP,在主程序中,設(shè)棧的起點(diǎn)位置為60H,該程序中先依次把累加器A,數(shù)據(jù)指針DPTR的高位字節(jié)DPH和低位字節(jié)DPL里的內(nèi)容放到61H,62H,63H保存,然后在LED數(shù)碼顯示器顯示“UU”在雙色燈輸入接口輸入雙色燈紅燈亮/熄滅狀態(tài)字,最后又依次把63H,62H,61H的內(nèi)容彈到DPL和DPH,累加器A中。4.4程序流程圖4.4.1停止程序流程圖 4.1.2中斷服務(wù)程序流程圖4.4.3 主程序流程圖5 調(diào)試結(jié)果及說明5.1 調(diào)試過程 交通燈演示電路的調(diào)試:交通燈模塊由8個(gè)發(fā)光二極管組成,接線繁瑣,極易出錯(cuò)。檢查二極管無故障、導(dǎo)線無斷線、連線接頭無互相搭聯(lián)后可先寫一個(gè)軟件調(diào)試程序,依次檢查指示燈(發(fā)光二極管)是否點(diǎn)亮;若未點(diǎn)亮,則可能是連線接錯(cuò)或是芯片的問題,根據(jù)燈的亮滅情況依次查找直到電路正常工作為止。最為重要的是在接線的時(shí)候先試導(dǎo)線是否通:通過輸出口和等相接,燈亮則是導(dǎo)通。5.1.1 硬件調(diào)試(1) 倒計(jì)時(shí)電路調(diào)試:倒計(jì)時(shí)電路主要有數(shù)碼管組成。當(dāng)交通燈程序?qū)懞煤?,倒?jì)時(shí)的顯示可與最小系統(tǒng)板上兩組數(shù)碼管顯示比較(系統(tǒng)板上的這兩組數(shù)碼管用以檢查倒計(jì)時(shí)工作情況)。若倒計(jì)時(shí)電路中有數(shù)碼管不亮,檢查數(shù)碼管是否良好、數(shù)碼管連線是否良好。依次檢查,直至倒計(jì)時(shí)電路正常工作。(2) 其它電路的調(diào)試主要看接口以及連線是否正確,依次檢查。5.1.2 軟件調(diào)試 本系統(tǒng)的軟件全部采用匯編語言編寫,除語法與邏輯差錯(cuò)外,最好的辦法是采取自下而上的方法,單獨(dú)調(diào)好每一個(gè)模塊,單步運(yùn)行,觀察該地方的顯示情況(明確調(diào)用顯示程序)直到最后完成一個(gè)完整的系統(tǒng)調(diào)試。5.1.3 軟硬結(jié)合調(diào)試系統(tǒng)做好后,進(jìn)行系統(tǒng)的完整調(diào)試。按照所設(shè)計(jì)的流程,用單步跟蹤模示程序進(jìn)行調(diào)試,配合相關(guān)的硬件動(dòng)作,觀察顯示器LED的變化并檢測(cè)交通燈的工作信號(hào)是否正確。同樣明確延時(shí)時(shí)間長短、跳轉(zhuǎn)位置及調(diào)用的程序功能。5.1.4 遇到的問題及解決方案(1)倒計(jì)時(shí)的時(shí)鐘顯示沒真正的的倒計(jì)也不顯示(2)交通燈的指示沒有變化(3)指示燈的指示不和顯示屏的顯示同步(4)控制口的控制字的確定及何時(shí)送控制字;怎么送?(5)外部中斷的調(diào)用及顯示(聯(lián)系整個(gè)程序)解決方案: (1)在顯示程序執(zhí)行開始就調(diào)用顯示程序就能同步顯示(2)看燈的指示程序是否循環(huán),跳轉(zhuǎn)的位置正確與否 。(3)執(zhí)行燈的指示時(shí)調(diào)用動(dòng)態(tài)顯示。(4)需要數(shù)據(jù)的傳輸時(shí)就通過控制口的控制字指引地址,借助累加器A的幫助。(5)外部中斷時(shí)候得有保護(hù)現(xiàn)場,有中斷請(qǐng)求,CPU允許中斷,同時(shí)也要在請(qǐng)求時(shí)就調(diào)用動(dòng)態(tài)顯示,以便觀察時(shí)時(shí)情況。6 系統(tǒng)功能及使用說明6.1 系統(tǒng)功能交通燈在交通管理中具有非常重要的地位,交通燈控制的設(shè)計(jì)也越來越完善,越來越人性化。以前在城市交通管理中,對(duì)交通比較繁忙的十字路口大多有交警人工指揮,這樣必須配備大量警力來維護(hù)交通秩序。采用交通燈進(jìn)行交通現(xiàn)代化管理,將交警從繁重的崗?fù)そ煌ㄖ笓]中解放出來,減少了警力。城市交通燈一般由紅、綠、黃三個(gè)不同的顏色燈組成。環(huán)島十字路口的四個(gè)道口共需要十二個(gè)交通燈,分人道和車道方向兩組控制。當(dāng)有急救車到來時(shí),交通警察人工干預(yù),使東西南北道口全部為紅燈閃爍,禁止人和車通行,只有急救車通行。急救車通過后解除禁令,東西南北恢復(fù)原來的通行狀態(tài)。6.2操作使用說明依據(jù)實(shí)驗(yàn)室提供的愛迪克單片機(jī)實(shí)驗(yàn)系統(tǒng)和我們組員設(shè)計(jì)的硬件系統(tǒng)接線,8255的PC0接開關(guān)K1, 片選接8700H。P3.2接K2,74LS273的輸出口PO0PO3接同相驅(qū)動(dòng)器74LS240的DG1DG4,PO4PO7接同相驅(qū)動(dòng)器74LS240的DR1DR4, 片選接8000H, K1的初始狀態(tài)為低電平,K2的初始狀態(tài)為低電平。接好線后,打開愛迪克單片機(jī)實(shí)驗(yàn)系統(tǒng),利用專用軟件輸送主程序到單片機(jī),觀看結(jié)果。7 心得體會(huì)兩周的課程終于結(jié)束,盡管苦悶也有著實(shí)驗(yàn)成功的喜悅。本次課程設(shè)計(jì)經(jīng)過兩周,我覺得有點(diǎn)雖然辛苦和忙碌,但收獲也頗多。我們的課題不是很難, 本程序的設(shè)計(jì)思路也不難想,也有很多資料可查,也有先例可參考,但這并不表示可以不怎么用心就可以搞好。平時(shí)的學(xué)習(xí)只是理論性的,很難理解,而且很難知道自己有沒有掌握.在兩周的時(shí)間里充分的把學(xué)過的東西拿來琢磨.不但了解了那些已經(jīng)掌握,那些不了解的也在設(shè)計(jì)的同時(shí)復(fù)習(xí)以及掌握一點(diǎn),還在此基礎(chǔ)上把知識(shí)擴(kuò)展到了更廣的內(nèi)容,更能綜合的運(yùn)用. 現(xiàn)在我感受到課程設(shè)計(jì)的收獲是很大的,它不但使我對(duì)單片機(jī)的知識(shí)有了一個(gè)整體的認(rèn)識(shí),使知識(shí)形成了一個(gè)連貫的體系,原來在課堂上學(xué)到的原理知識(shí)上升到實(shí)際的系統(tǒng)操作,隨著課程設(shè)計(jì)的深入,我們對(duì)單片機(jī)的運(yùn)用及其擴(kuò)展有了更深刻的認(rèn)識(shí)。但在調(diào)試的時(shí)間卻占了80%,在本程序設(shè)計(jì)的初期曾經(jīng)走了不少彎路碰見過不少難題,進(jìn)行機(jī)械糅合沒能真正的理解其中的原來所在。所幸的是在我們的堅(jiān)持下最終把難題一一擊破。先是查資料,然后再對(duì)照我的任務(wù)要求把主程序模塊,子程序模塊,中斷程序模塊,顯示程序模塊一一確定下來,接著就是寫程序代碼現(xiàn)場調(diào)試及修改,向老師和同學(xué)虛心請(qǐng)教,不斷改進(jìn)我們的程序,大家都很團(tuán)結(jié)、努力,當(dāng)然爭吵也是難免的,但是大家在爭吵過后使我們更加理解了單片機(jī)的微機(jī)原理及接口技術(shù)在實(shí)踐中的應(yīng)用。通過了這次程序設(shè)計(jì),使我更深刻地理解了單片機(jī)的原理與應(yīng)用技術(shù),特別是在對(duì)中斷程序和子程序的設(shè)計(jì)和調(diào)用方面,更好地理解了單片機(jī)的工作情況與運(yùn)行方式。這次課程設(shè)計(jì),讓我對(duì)單片微機(jī)原理及接口技術(shù)有了更高層次的認(rèn)識(shí)、和學(xué)習(xí),掌握知識(shí)的變通及靈活運(yùn)用。在這兩周的設(shè)計(jì)過程中,得到了老師的精心指導(dǎo)和幫助,對(duì)此深表感謝!8 參考文獻(xiàn)1)單片微型計(jì)算及其應(yīng)用. 孫育才. 東南大學(xué)出版社.2)單片機(jī)原理與應(yīng)用 .王迎旭. 機(jī)械工業(yè)出版社.3)單片微型計(jì)算機(jī)技術(shù). 劉國榮. 機(jī)械工業(yè)出版社.4)單片機(jī)原理與接口實(shí)驗(yàn)指導(dǎo)書.周慧,黃菊生.湖南工程學(xué)院機(jī)電教研室.5)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì) 何立民. 北航出版社6)單片機(jī)原理及及應(yīng)用 王迎旭. 機(jī)械工業(yè)出版社7)單片機(jī)原理及及應(yīng)用教程劉瑞新. 機(jī)械工業(yè)出版社附錄A(系統(tǒng)總圖):附錄B(程序清單):Z8279 EQU0FF82H ;8279狀態(tài)/命令口地址D8279 EQU0FF80H ;8279數(shù)據(jù)口地址LEDMOD EQU00H;左邊輸入,八位字符顯示,外部譯碼LEDFEQ EQU2FH;掃描速率LEDCLS EQU0C1H;清除顯示RAMLEDWR0EQU80H ;設(shè)定的將要寫入的顯示RAM地址ORG0000HAJMPSTARTORG0003HLJMPINT0;外部中斷入口ORG000BHLJMPTCT0;定時(shí)器T0中斷入口ORG0040HSTART:MOVSP,#60H;設(shè)置堆棧指針MOVTMOD,#01H;TO為定時(shí)器,工作在方式1MOVTH0,#4CH;50ms時(shí)間常數(shù)MOVTL0,#00HSETBEA;設(shè)置中斷系統(tǒng)SETBEX0CLRIT0SETBET0SETBTR0LCALLINIT8279 ;調(diào)用8279初始化程序 MOV DPTR,#8706 ;8255初始化MOV A, 82HMOV DPTR, A MOV DPTR, #8704H ;準(zhǔn)備讀啟動(dòng)開關(guān)信號(hào)WAIT:MOVXA,DPTRJNBACC.2,WAIT ;未啟動(dòng)等待 MOV DPTR,#Z8279 ;清屏 MOV A,#LEDCLS MOVX DPTR,A MOV A,#00H MOVDPTR,#8300H MOVXDPTR,A MOVR3,#3FLASH:MOVA,#FFH;燈滅控制字MOVDPTR,#8300HMOV DPTR,AMOVR2,#5;延時(shí)0.5秒LCALLDELAYMOVA,#0FFH;黃燈亮控制字MOVDPTR,#8300HMOVR2,#5LCALLDELAY;延時(shí)0.5秒DJNZR3,FLASHMOV20H,#00HMOV21H,#20H;1s計(jì)數(shù)器置初值SETBTR0;啟動(dòng)定時(shí)器T0NEXT:MOVDPTR,#8704H;準(zhǔn)備讀停止開關(guān)信號(hào)MOVXA,DPTRJNBACC.3,STOP;系統(tǒng)停止轉(zhuǎn)STOPMOV40H,#30;置亮綠燈時(shí)間初值MOVA,#0F0H;送綠燈亮控制字MOVDPTR,#8300HMOVXDPTR,ALP1:LCALLDIS;調(diào)用時(shí)間修正子程序JNB20H.0,LP1;30s未完等待CLR20H.0;清時(shí)間到標(biāo)志MOVR3,#3;綠燈閃三次FLASH1:MOVA,#FFH;綠燈滅控制字MOVDPTR,#8300HMOVXDPTR,AMOVR2,#3;延時(shí)0.3秒LCALLDELAYMOVA,#0F0H;綠燈亮控制字MOV DPTR,#8300HMOVX DPTR,A MOV R2,#3LCALLDELAY;延時(shí)0.3秒DJNZR3,FLASH1;循環(huán)閃3次MOVDPTR,#8704H;準(zhǔn)備讀停止開關(guān)信號(hào)MOVXA,DPTRJNBACC.3,STOP;系統(tǒng)停止轉(zhuǎn)STOPMOV 40H,#15MOVA,#00H;黃燈亮控制字MOVDPTR,#8300HMOVXDPTR,ALP2: LCALLDISJNB20H.0,LP1;15s未完等待CLR20H.0;清時(shí)間到標(biāo)志MOVR3,#3;黃燈閃三次FLASH2:MOVA,#FFH ;燈滅控制字MOVDPTR,#8300HMOVXDPTR,AMOVR2,#3 ;延時(shí)0.3秒LCALLDELAYMOVA,#00H ;黃燈亮控制字MOV DPTR,#8300HMOVX DPTR,A MOV R2,#3LCALLDELAY ;延時(shí)0.3秒DJNZR3,FLASH2 ;循環(huán)閃3次 AJMP NEXTSTOP: MOV DPTR,#Z8279 MOV A,#LEDCLS ;顯示器黑屏 MOVX DPTR,A MOV A,#0FFH ;交通燈熄控制字 MOV DPTR,#8300H MOVX DPTR,ASJMP $INIT8279: ;8279初始化子程序MOVDPTR,#Z8279MOVA,#LEDMOD ;置8279工作方式字MOVXDPTR,AMOVA,#LEDFEQ ;置鍵盤掃描速率字MOVXDPTR,AMOVA,#LEDCLS ;置清除LED顯示字MOVXDPTR,AMOVR2,#1LCALLDELAY ;調(diào)用延
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司物資大比拼活動(dòng)方案
- 公司新年猜謎語活動(dòng)方案
- 公司氣氛活動(dòng)方案
- 公司茶點(diǎn)活動(dòng)方案
- 公司旅游北京策劃方案
- 公司線上抽獎(jiǎng)活動(dòng)方案
- 公司節(jié)日策劃方案
- 公司自助聚餐活動(dòng)方案
- 公司甜點(diǎn)活動(dòng)方案
- 公司百人以上團(tuán)建活動(dòng)方案
- 智能制造中的安全與隱私問題
- DB3307-T 119 -2021 金華地方傳統(tǒng)小吃 永康肉麥餅
- 過程校驗(yàn)儀市場需求分析報(bào)告
- 2017風(fēng)電功率預(yù)測(cè)系統(tǒng)測(cè)風(fēng)塔數(shù)據(jù)測(cè)量技術(shù)要求
- 樣品管理程序檢驗(yàn)科程序文件
- 橋梁基本狀況卡片(2021新版)
- 有機(jī)硅化學(xué)課件-有機(jī)硅化學(xué)基本反應(yīng)
- 如何根據(jù)三視圖畫軸測(cè)圖及補(bǔ)視圖缺線課件
- 《水產(chǎn)養(yǎng)殖前沿講座》課程教學(xué)大綱
- 漁業(yè)成品油價(jià)格補(bǔ)助專項(xiàng)資金管理暫行辦法
- 水庫工程建設(shè)征地移民安置監(jiān)測(cè)評(píng)估本底調(diào)查報(bào)告
評(píng)論
0/150
提交評(píng)論