版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、燕 山 大 學(xué) 課 程 設(shè) 計(jì) 說(shuō) 明 書(shū)燕山大學(xué)課程設(shè)計(jì)(論文)任務(wù)書(shū)院(系):電氣工程學(xué)院 基層教學(xué)單位: 儀器科學(xué)與工程系 學(xué) 號(hào)學(xué)生姓名專(zhuān)業(yè)(班級(jí))設(shè)計(jì)題目交通信號(hào)燈控制器設(shè)計(jì)技術(shù)參數(shù)設(shè)計(jì)一個(gè)十字路口紅綠燈控制器,能夠控制十二盞交通信號(hào)燈的系統(tǒng),并顯示倒計(jì)時(shí)時(shí)間。有急救車(chē)通過(guò)時(shí),東西南北方向均為紅燈,持續(xù)時(shí)間為10S設(shè)計(jì)要求利用單片機(jī)的定時(shí)器定時(shí),令十字路口的紅綠燈交替點(diǎn)亮,并用LED數(shù)碼管顯示電路顯示倒計(jì)時(shí)時(shí)間;編制相應(yīng)的程序。工作量設(shè)計(jì)的內(nèi)容滿(mǎn)足課程設(shè)計(jì)的教學(xué)目的和要求,設(shè)計(jì)題目的難度和工作量適合學(xué)生的知識(shí)和能力狀況,工作量飽滿(mǎn)。工作計(jì)劃查閱資料進(jìn)行設(shè)計(jì)準(zhǔn)備,設(shè)計(jì)硬件電路,編制程序
2、;編制程序,驗(yàn)證設(shè)計(jì),撰寫(xiě)任務(wù)書(shū)。參考資料單片機(jī)微型計(jì)算機(jī)接口技術(shù)及應(yīng)用 張淑清 國(guó)防工業(yè)出版社單片機(jī)原理及應(yīng)用技術(shù) 張淑清 國(guó)防工業(yè)出版社單片機(jī)應(yīng)用技術(shù)匯編指導(dǎo)教師簽字基層教學(xué)單位主任簽字說(shuō)明:此表一式四份,學(xué)生、指導(dǎo)教師、基層教學(xué)單位、系部各一份。2013年7月1日目 錄摘要3第一章 引言4第二章 單片機(jī)交通控制系統(tǒng)的總體設(shè)計(jì)42.1 單片機(jī)交通控制系統(tǒng)的功能要求42.2 設(shè)計(jì)的基本思路52.3單片機(jī)交通控制系統(tǒng)的通行方案設(shè)計(jì)5第三章智能交通燈控制系統(tǒng)的硬件設(shè)計(jì)73.1 AT89C51 單片簡(jiǎn)介73.1.1 AT89C51單片機(jī)的主要特性73.1.2 主要引腳功能83.1.3 MCS-51
3、的中斷源103.2 數(shù)碼管11第四章 交通燈各部分功能分析12 4.1 時(shí)鐘定時(shí)控制部分 12 4.2 紅黃綠燈顯示電路 13 4.3 LED數(shù)字顯示電路14 4.4 80c51單片機(jī)芯片14 第五章 系統(tǒng)軟件程序的設(shè)計(jì)155.1 定時(shí)器原理155.1.1 定時(shí)器的理論知識(shí)155.1.2 定時(shí)1秒的方法155.1.3 相應(yīng)的程序155.2 軟件延時(shí)原理165.3 中斷原理165.4子程序模塊設(shè)計(jì)185.4.1 狀態(tài)等顯示及判斷185.4.2 LED倒計(jì)時(shí)顯示19第六章 系統(tǒng)程序流程圖21 5.1 紅綠黃燈流程圖 21 5.2中斷系統(tǒng)流程圖22第七章 系統(tǒng)原理圖23第八章 系統(tǒng)調(diào)試24第九章 心
4、得體會(huì)25參考文獻(xiàn) 25程序26摘要近年來(lái)隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷地走向深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)日新月異更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個(gè)核心部件來(lái)使用,僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對(duì)具體應(yīng)用對(duì)象特點(diǎn)的軟件結(jié)合,加以完善。 利用單片機(jī)的優(yōu)點(diǎn),應(yīng)用到十字路口上,使得交通信號(hào)有條不紊的工作,本模擬交通燈系統(tǒng)利用單片機(jī)AT89C51作為核心元件,實(shí)現(xiàn)了通過(guò)信號(hào)燈對(duì)路面狀況的智能控制。從一定程度上解決了交通路口堵塞、車(chē)輛停車(chē)等待時(shí)間不合理、急車(chē)強(qiáng)通等問(wèn)題。系統(tǒng)具有結(jié)構(gòu)簡(jiǎn)單、可靠性高、成本低、實(shí)時(shí)性好、安裝維護(hù)方便等優(yōu)點(diǎn),有廣泛
5、的應(yīng)用前景。本模擬系統(tǒng)由單片機(jī)硬/軟件系統(tǒng), 7段數(shù)碼管和LED燈顯示系統(tǒng)等組成,較好的模擬了交通路面的控制。關(guān)鍵字:?jiǎn)纹瑱C(jī),交通信號(hào)燈 數(shù)碼管 第一章 引言在今天,紅綠燈安裝在各個(gè)道口上,已經(jīng)成為疏導(dǎo)交通車(chē)輛最常見(jiàn)和最有效的手段。信號(hào)燈的出現(xiàn),使交通得以有效管制,對(duì)于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。1968年,聯(lián)合國(guó)道路交通和道路標(biāo)志信號(hào)協(xié)定對(duì)各種信號(hào)燈的含義作了規(guī)定。綠燈是通行信號(hào),面對(duì)綠燈的車(chē)輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非另一種標(biāo)志禁止某一種轉(zhuǎn)向。左右轉(zhuǎn)彎車(chē)輛都必須讓合法地正在路口內(nèi)行駛的車(chē)輛和過(guò)人行橫道的行人優(yōu)先通行。紅燈是禁行信號(hào),面對(duì)紅燈的車(chē)輛必須在交叉路
6、口的停車(chē)線(xiàn)后停車(chē)。黃燈是警告信號(hào),面對(duì)黃燈的車(chē)輛不能越過(guò)停車(chē)線(xiàn),但車(chē)輛已十分接近停車(chē)線(xiàn)而不能安全停車(chē)時(shí)可以進(jìn)入交叉路口。第二章 單片機(jī)交通控制系統(tǒng)總體設(shè)計(jì)2.1 單片機(jī)交通控制系統(tǒng)的功能要求該控制器能實(shí)現(xiàn)城市“十字”路口正常情況下以及特殊情況和緊急情況下交通信號(hào)燈的模擬控制。 1、在十字路口東西南北各設(shè)置紅、黃、綠三種信號(hào)燈,正常情況下,東西、南北方向輪流放行。當(dāng)東西方向放行、南北方向禁行時(shí),東西方向綠燈亮23秒,閃4秒,然后黃燈亮3秒,南北方向紅燈亮30秒;當(dāng)南北方向放行、東西方向禁行時(shí),南北方向綠燈亮23秒,閃4秒,然后黃燈亮3秒,東西方向紅燈亮30秒。如此循環(huán),實(shí)現(xiàn)交通燈定時(shí)控制。2、有
7、急救車(chē)優(yōu)先通過(guò)功能。當(dāng)有急救車(chē)到達(dá)時(shí),路口的信號(hào)燈全部變紅燈,以便急救車(chē)通過(guò),急救車(chē)的通行時(shí)間為10秒,急救車(chē)過(guò)后,交通燈恢復(fù)先前狀態(tài)。3、交通燈在紅、綠燈交替點(diǎn)亮中,用4個(gè)數(shù)碼管顯示東西方向和南北方向倒計(jì)時(shí)時(shí)間。2.2 設(shè)計(jì)的基本思路利用80c51單片機(jī)控制交通燈系統(tǒng)工作。信號(hào)燈的控制由單片機(jī)的P1.0P1.5控制,6只信號(hào)燈以共陰極方式連接,當(dāng)P1口輸出為高電平時(shí),信號(hào)燈點(diǎn)亮。數(shù)碼顯示與接片選段,這樣就可以實(shí)現(xiàn)時(shí)間的動(dòng)態(tài)顯示。當(dāng)遇到緊急情況時(shí),利用外部中斷INT1申請(qǐng)中斷。當(dāng)有外部中斷的時(shí)候,單片機(jī)的PC指向INT1的中斷入口地址,從而轉(zhuǎn)向中斷服務(wù)程序,此時(shí),東西南北方向的都為紅燈亮,倒計(jì)
8、時(shí)10s,實(shí)現(xiàn)緊急情況下禁止通行。然后退出中斷服務(wù)程序,繼續(xù)執(zhí)行主程序。系統(tǒng)設(shè)計(jì)總框圖如下單片機(jī)時(shí)鐘控制電路LED數(shù)碼管顯示紅黃綠信號(hào)燈按鍵控制電路圖2.1 系統(tǒng)的總體框圖2.3單片機(jī)交通控制系統(tǒng)的通行方案設(shè)計(jì)在十字路口,分為東西向和南北向,在任一時(shí)刻只有一個(gè)方向通行,另一方向禁行,持續(xù)一定時(shí)間,經(jīng)過(guò)短暫的過(guò)渡時(shí)間,將通行禁行方向?qū)Q。其具體狀態(tài)如下圖所示。說(shuō)明:黑色表示亮,白色表示滅。交通狀態(tài)從狀態(tài)1開(kāi)始變換,直至狀態(tài)6然后循環(huán)至狀態(tài)1,周而復(fù)始,即如圖2.2所示:圖2.2 交通狀態(tài)狀態(tài)南北道東西道時(shí)間 0綠燈亮,允許通行紅燈亮,禁止通行23秒 1綠燈閃,允許通行紅燈亮,禁止通行4秒2黃燈亮
9、,停車(chē)紅燈亮,禁止通行3秒 3紅燈亮,禁止通行綠燈亮,允許通行23秒4紅燈亮,禁止通行綠燈閃,允許通行4秒5紅燈亮,禁止通行黃燈亮,停車(chē)3秒表2.1交通燈控制系統(tǒng)狀態(tài)表 第三章 智能交通燈控制系統(tǒng)的硬件設(shè)計(jì)3.1AT89C51單片機(jī)簡(jiǎn)介 AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱(chēng)單片機(jī)。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非
10、易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡(jiǎn)版本。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。3.1.1 AT89C51單片機(jī)的主要特性 與MCS-51 兼容 ,4K字節(jié)可編程閃爍存儲(chǔ)器 ,壽命:1000寫(xiě)/擦循環(huán),數(shù)據(jù)保留時(shí)間:10年,全靜態(tài)工作:0Hz-24Hz,三級(jí)程序存儲(chǔ)器鎖定,128*8位內(nèi)部RAM,32可編程I/O線(xiàn),兩個(gè)16位定時(shí)器/計(jì)數(shù)器,5個(gè)中斷源(兩個(gè)外部中斷源和3個(gè)內(nèi)部中斷源) ,可編程串行通
11、道,低功耗的閑置和掉電模式,片內(nèi)振蕩器和時(shí)鐘電路。 ·時(shí)鐘電路:時(shí)鐘電路的作用是產(chǎn)生單片機(jī)工作所需要的時(shí)鐘脈沖序列。 ·中斷系統(tǒng):中斷系統(tǒng)的作用主要是對(duì)外部或內(nèi)部的終端請(qǐng)求進(jìn)行管理與處理。AT89S51共有5個(gè)中斷源,其中又2個(gè)外部中斷源和3個(gè)內(nèi)部中斷源。 圖3.1 AT89C51系列單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖3.1.2 主要引腳功能圖3.2 AT89C51引腳圖·VCC:電源電壓·GND:接地·P0口:P0口是一組8位雙向I0口。P0口即可作地址數(shù)據(jù)總線(xiàn)使用,又可以作為通用的I/O口使用。當(dāng)CPU訪(fǎng)問(wèn)片外存儲(chǔ)器時(shí),P0口分時(shí)先作低8位地址總線(xiàn),后
12、作雙向數(shù)據(jù)總線(xiàn),此時(shí),P0口就不能再作I/O口使用了。在訪(fǎng)問(wèn)期間激活要使用上拉電阻。·P1口:Pl 是一個(gè)帶內(nèi)部上拉電阻的8準(zhǔn)位雙向IO口,P1作為通用的I/O口使用。·P2 口:P2 是一個(gè)帶有內(nèi)部上拉電阻的8 位準(zhǔn)雙向IO 口,P2即可作為通用的I/O口使用,也可以作為片外存儲(chǔ)器的高8位地址總線(xiàn),與P0口配合,組成16位片外存儲(chǔ)器單元地址。·P3 口:P3 口是一組帶有內(nèi)部上拉電阻的8 位準(zhǔn)雙向I0 口。P3 口除了作為通用的I/O口使用之外,每個(gè)引腳還具有第二功能,具體分配如下表端口引腳第二功能:P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.
13、2/INT0(外中斷0)P3.3/ INT1(外中斷1)P3.4T0(定時(shí)計(jì)數(shù)器0外部輸入)P3.5T1(定時(shí)計(jì)數(shù)器1外部輸入)P3.6/ WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7/ RD外部數(shù)據(jù)存儲(chǔ)器讀選通)表3.1 具有第二功能的P3口引腳·RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。WDT 溢出將使該引腳輸出高電平,設(shè)置SFR AUXR的DISRT0 位(地址8EH)可打開(kāi)或關(guān)閉該功能。DISRT0位缺省為RESET輸出高電平打開(kāi)狀態(tài)。·ALE:當(dāng)訪(fǎng)問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位
14、字節(jié)。即使不訪(fǎng)問(wèn)外部存儲(chǔ)器,ALE 仍以時(shí)鐘振蕩頻率的16 輸出固定的正脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖。對(duì)F1ash存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8EH 單元的D0 位置位,可禁止ALE 操作。該位置位后,只有一條M0VX和M0VC指令A(yù)LE才會(huì)被激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE無(wú)效。·程序儲(chǔ)存允許()輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89S51 由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次有效
15、,即輸出兩個(gè)脈沖。當(dāng)訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器,沒(méi)有兩次有效的信號(hào)。·VPP:外部訪(fǎng)問(wèn)允許。欲使CPU僅訪(fǎng)問(wèn)外部程序存儲(chǔ)器(地址為0000HFFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接VCC端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。F1ash存儲(chǔ)器編程時(shí),該引腳加上+12V的編程電壓Vcc。·XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。3.1.3 MCS51的中斷源8051有5個(gè)中斷源,它們是兩個(gè)外中斷INT0(P3.2)和INT1(P3.3)、兩個(gè)片內(nèi)定時(shí)/計(jì)數(shù)器溢出中斷TF0和TF1,
16、一個(gè)是片內(nèi)串行口中斷TI或RI,這幾個(gè)中斷源由TCON和SCON兩個(gè)特殊功能寄存器進(jìn)行控制,其中5個(gè)中斷源的程序入口地址如下表所示:中斷源的服務(wù)程序入口地址中斷源入口地址外中斷00003H定時(shí)/計(jì)數(shù)器0000BH外中斷10013H定時(shí)/計(jì)數(shù)器0001BH串行口中斷0023H表3.2中斷源程序入口地址3.2 數(shù)碼管LED顯示屏作為大型顯示設(shè)備的一種,具有亮度高、價(jià)格低、壽命長(zhǎng)、維護(hù)簡(jiǎn)便等優(yōu)點(diǎn)。LED數(shù)碼管的結(jié)構(gòu)簡(jiǎn)單,分為七段和八段兩種形式,也有共陽(yáng)和共陰之分。以八段共陽(yáng)管為例,它有8個(gè)發(fā)光二極管(比七段多一個(gè)發(fā)光二極管,用來(lái)顯示dP,即點(diǎn)),每個(gè)發(fā)光二極管的陽(yáng)極連在一起,如圖3.3所示。這樣,一
17、個(gè)LED數(shù)碼管就有I根位選線(xiàn)和8根段選線(xiàn),要想顯示一個(gè)數(shù)值,就要分別對(duì)它們的高低電平來(lái)加以控制。為方便起見(jiàn),本文主要討論共陽(yáng)八段LED數(shù)碼顯示管,其他類(lèi)形的顯示管與其類(lèi)似。圖3.3 LED數(shù)碼管LED 燈的顯示原理:通過(guò)同名管腳上所加電平的高低來(lái)控制發(fā)光二極管是否點(diǎn)亮而顯示不同的字形,如 dp,g,f,e,d,c,b,a全亮顯示為,采用共陰極連接驅(qū)動(dòng)代碼,代碼表如下表所示。驅(qū)動(dòng)代碼表顯示數(shù)值dp,g,f,e,d,c,b,a驅(qū)動(dòng)代碼0110100003FH11111100106H2101001005BH3101100004FH41001100166H5100100106DH6100000107D
18、H71111100007H8100000007FH9100100006FH表3.3數(shù)碼管驅(qū)動(dòng)代碼表相應(yīng)在程序軟件上,可以通過(guò)調(diào)用程序給定的秒值經(jīng)過(guò)特定計(jì)算算出需要顯示的個(gè)位和十位,然后有DPTR調(diào)取LEDMAP的代碼。第四章 交通燈各部分功能分析4.1 時(shí)鐘定時(shí)控制部分 由于80C51單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反向放大器,此放大器的輸入和輸出端分別是引腳XTAL1和XTAL2,在XTAL1和XTAL2上外接時(shí)鐘源即可構(gòu)成時(shí)鐘電路,該電路采用的是內(nèi)部方式,如圖4.1所示:圖4.1時(shí)鐘定時(shí)控制電路4.2 紅黃綠燈顯示電路圖4.2 紅黃綠燈顯示電路 二極管的負(fù)極共陰極連接,正極分別通過(guò)上
19、拉電阻接80C51單片機(jī)的外部接口P1.0、P1.1、P1.2、P1.3、P1.4、P1.5口,我們可以通過(guò)控制單片機(jī)P1口的數(shù)據(jù)輸出來(lái)控制二極管的亮滅。4.3 LED數(shù)字顯示電路圖4.3 LED數(shù)字顯示電路4.4 80c51單片機(jī)芯片圖4.4 80c51芯片第五章 系統(tǒng)軟件程序的設(shè)計(jì)5.1定時(shí)器原理5.1.1 定時(shí)器理論知識(shí)定時(shí)器工作的基本原理其實(shí)就是給初值,讓它不斷加1直至減完為模值,這個(gè)初值是送到TH和TL中的。它是以加法記數(shù)的,并能從全1到全0時(shí)自動(dòng)產(chǎn)生溢出中斷請(qǐng)求。因此,我們可以把計(jì)數(shù)器記滿(mǎn)為零所需的計(jì)數(shù)值,即所要求的計(jì)數(shù)值設(shè)定為C,把計(jì)數(shù)初值設(shè)定為T(mén)C 可得到如下計(jì)算通式:TC=M
20、-C式中,M為計(jì)數(shù)器模值。計(jì)數(shù)值并不是目的,目的是時(shí)間值,設(shè)計(jì)1次的時(shí)間,即定時(shí)器計(jì)數(shù)脈沖的周期為T(mén)0,它是單片機(jī)系統(tǒng)主頻周期的12倍,設(shè)要求的時(shí)間值為T(mén),則有C=TT0。計(jì)算通式變?yōu)椋篢=(MTC)T0模值和計(jì)數(shù)器/定時(shí)器工作方式有關(guān)。在方式0時(shí)M為8192;在方式1時(shí)M的值為65536;在方式2和3為256。就此可以算出各種方式的最大延時(shí)。如單片機(jī)的主脈沖頻率為12MHZ,經(jīng)過(guò)12分頻后,若采用方式0最大延時(shí)只有8.129毫秒,采用方式1最大延時(shí)也只有65.536毫秒。5.1.2 定時(shí)1秒的方法本設(shè)計(jì)要求秒倒計(jì)時(shí), 我們采用在主程序中設(shè)定TH0為58H,TL0為9EH,則定時(shí)時(shí)間為0,04
21、285s,到定時(shí)時(shí)間后進(jìn)入中斷服務(wù)程序,在中斷服務(wù)程序中設(shè)定定時(shí)次數(shù)為20次,共定時(shí)0.857s(執(zhí)行前面程序會(huì)耽誤一段時(shí)間,因此設(shè)定定時(shí)時(shí)間小于一秒)。5.1.3相應(yīng)程序(1)主程序 MOV TMOD,#01H ;定時(shí)器T0工作方式為1 MOV TL0,#9EH MOV TH0,#58H SETB EA SETB ET0 ;開(kāi)內(nèi)部T0中斷 SETB TR0 ;開(kāi)啟定時(shí)(2)中斷服務(wù)子程序 TIME0INT:INC R5 CJNE R5,#20,LOOP11 INC R0 DEC R2 DEC R3 MOV R5,#0LOOP11: MOV TH0,#9EH MOV TL0, #58H RET
22、I5.2軟件延時(shí)原理MCS-51的工作頻率為12MHZ,機(jī)器周期與主頻有關(guān),機(jī)器周期是主頻的12倍,所以一個(gè)機(jī)器周期的時(shí)間為12*(1/12MHZ)=1us。我們可以知道具體每條指令的周期數(shù),這樣我們就可以通過(guò)指令的執(zhí)行條數(shù)來(lái)確定延時(shí)的時(shí)間,但同時(shí)由于單片機(jī)的運(yùn)行速度很快其他的指令執(zhí)行時(shí)間可以忽略不計(jì)。相應(yīng)的程序(延時(shí)1ms):DELAY: MOV R7,#02HDL1: MOV R6,#0FFHDL2: DJNZ R6,DL2 DJNZ R7,DL1 RET5.3 中斷原理本系統(tǒng)主要使用了外部中斷,中斷信號(hào)有引腳INT0和INT1輸入,低電平有效,CPU每個(gè)時(shí)鐘周期都會(huì)檢測(cè)INT0和INT1
23、上的信號(hào),在優(yōu)先級(jí)的允許下,一旦有外部中斷信號(hào)產(chǎn)生,單片機(jī)CPU首先保護(hù)斷點(diǎn),PC值進(jìn)棧,然后執(zhí)行相應(yīng)的中斷服務(wù)子程序,執(zhí)行完后,用RETI指令返回,此時(shí)CPU會(huì)從堆棧中取保存的斷點(diǎn)地址,送回PC,程序再正常執(zhí)行。 相應(yīng)的程序 INT1: CLR TR0 PUSH PSW PUSH A PUSH 00H PUSH 01H PUSH 02H PUSH 03H PUSH 04H PUSH 05H PUSH 06H PUSH 07H ;入棧保護(hù) MOV 30H, TH0 MOV 31H, TL0 MOV 32H, P1 MOV P1,#09H MOV R2,#10 MOV R3,#10 MOV R0
24、,#0L33: MOV R5,#05FHL11: LCALL DELAY LCALL DISP DJNZ R5,L11 INC R0 DEC R2 DEC R3 CJNE R0,#10,L33 MOV P1, 32H MOV TH0, 30H MOV TL0, 31H POP 07H POP 06H POP 05H POP 04H POP 03H POP 02H POP 01H POP 00H POP A POP PSW ;恢復(fù)現(xiàn)場(chǎng) SETB TR0 RETI5.4子程序模塊設(shè)計(jì)5.4.1狀態(tài)燈顯示及判斷在本設(shè)計(jì)中,實(shí)際控制的燈只有6個(gè),即:東西紅燈,東西綠燈,東西黃燈,南北紅燈,南北綠燈,南
25、北黃燈。定義IO端口如下,其中均是高電平有效。P1.0代表南北紅燈,P1.1代表南北黃燈,P1.2代表南北綠燈,P1.3代表東西紅燈,P1.4代表東西黃燈,P1.5代表東西綠燈,共有6種狀態(tài):東西紅燈亮,南北綠燈亮(0CH);東西紅燈亮,南北綠燈滅(08H);東西紅燈亮,南北黃燈亮(0AH);東西綠燈亮,南北紅燈亮(21H);東西綠燈滅,南北紅燈亮(01H);東西黃燈亮,南北紅燈亮(11H)。5.4.2 LED倒計(jì)時(shí)顯示LED計(jì)時(shí)每1秒都要刷新1次,采用的是動(dòng)態(tài)顯示,首先將R2除以10,整數(shù)即十位放在70H中,余數(shù)即個(gè)位放在71H中,設(shè)置7段LED顯示數(shù)據(jù)的數(shù)據(jù)表,用數(shù)據(jù)指針寄存器DPTR指向
26、數(shù)據(jù)表的首地址,再加上A中的偏移量,就可以指向十位數(shù)字,然后送顯即可,個(gè)位顯示同理。具體程序如下:DISP: MOV R4,#20H ;位選碼 MOV R1,#70HLOOP9: MOV A, R2 MOV B,#0AH DIV AB MOV 70H,A ;顯示十位放到70H中 MOV A,B MOV 71h,A ;顯示個(gè)位放到71H中 MOV A,R3 MOV B,#0AH DIV AB MOV 72H,A ;另一方向顯示的十位放到72H中 MOV A,B MOV 73H,A ;另一方向顯示的個(gè)位放到73H中 MOV A,R4 JB ACC.1,LOOP10 ;位選碼循環(huán)移位4次 MOV D
27、PTR,#8002H MOVX DPTR,A RR A MOV R4,A MOV A,R1 MOV DPTR,#TAB MOVC A,A+DPTR MOV DPTR,#8004H MOVX DPTR,A ;顯示數(shù)據(jù) LCALL DELAY INC R1 MOV DPTR,#8004H MOV A,#0 MOVX DPTR,A AJMP LOOP9LOOP10: RET第六章 系統(tǒng)程序流程圖6.1 紅綠黃燈流程圖 開(kāi)始系統(tǒng)初始化東西紅燈亮,南北綠燈亮調(diào)顯示子程序(動(dòng)態(tài)顯示)東西,南北方向換向東西紅燈亮,南北綠燈閃爍東西紅燈亮,南北黃燈亮圖6.1紅黃綠燈工作流程圖6.2中斷系統(tǒng)流程圖外部中斷入口保
28、護(hù)現(xiàn)場(chǎng)東西南北都亮紅燈延時(shí)10秒恢復(fù)現(xiàn)場(chǎng)中斷返回圖6.2中斷流程圖如上圖所示,該流程圖為中斷程序的流程圖,在交通燈程序正常運(yùn)行的任何時(shí)刻,都可以隨時(shí)按下終端按鈕,即按鍵開(kāi)關(guān)K1。按下按鍵開(kāi)關(guān)后即可實(shí)現(xiàn)如上所述的中斷,先將當(dāng)前狀態(tài)保存起來(lái),然后所有路口的交通燈紅燈亮起,數(shù)碼管開(kāi)始顯示10秒的倒計(jì)時(shí),倒計(jì)時(shí)結(jié)束后,程序自動(dòng)返回原來(lái)中斷的狀態(tài),并且繼續(xù)運(yùn)行原來(lái)的程序。主程序?yàn)橐粋€(gè)反復(fù)循環(huán)的程序。每40秒一個(gè)周期。按下復(fù)位鍵K1可以使程序返回初始狀態(tài),東西紅燈南北綠燈,然后重復(fù)運(yùn)行主程序。單片機(jī)的優(yōu)點(diǎn)就在于它可以用一個(gè)單個(gè)的芯片來(lái)獨(dú)立的實(shí)現(xiàn)一個(gè)完整的功能而不受其他外界干擾影響。這種獨(dú)立化使得單片機(jī)得以
29、流行起來(lái),并且迅速的應(yīng)用到各個(gè)行業(yè),各個(gè)領(lǐng)域。單片機(jī)的優(yōu)勢(shì)之處還在于他十分穩(wěn)定,不會(huì)輕易發(fā)生意外情況,即使出現(xiàn)意外情況,其程序也可以非常方便的進(jìn)行調(diào)試。實(shí)用性、可靠性很強(qiáng)。第七章 系統(tǒng)原理圖圖7.1系統(tǒng)原理圖第八章系統(tǒng)的調(diào)試程序編好以后,先自己檢查是否有邏輯錯(cuò)誤,保證正確后利用wave6000仿真軟件對(duì)所編寫(xiě)的程序進(jìn)行編譯,檢查是否有語(yǔ)法錯(cuò)誤,出現(xiàn)錯(cuò)誤時(shí)偉福系統(tǒng)會(huì)自動(dòng)提示有錯(cuò)誤產(chǎn)生,并會(huì)指定錯(cuò)誤的語(yǔ)句,這時(shí)我們需要認(rèn)真檢查程序,修改編譯中出現(xiàn)的錯(cuò)誤。程序無(wú)誤后,連接試驗(yàn)箱,觀(guān)察現(xiàn)象 ,試驗(yàn)箱接線(xiàn)如下表中斷接線(xiàn)接線(xiàn)接線(xiàn)孔1接線(xiàn)孔21INT1(P3.3)單次脈沖二極管接線(xiàn)接線(xiàn)接線(xiàn)孔1接線(xiàn)孔21P1
30、.0L12P1.1L23P1.2L34P1.3L45P1.4L56P1.5L6數(shù)碼管接線(xiàn)接線(xiàn)接線(xiàn)孔1接線(xiàn)孔21KEY/LED_CSCS0表8.1 試驗(yàn)線(xiàn)接線(xiàn)第九章 心得體會(huì)通過(guò)這次單片機(jī)課程設(shè)計(jì),使我學(xué)到了很多專(zhuān)業(yè)知識(shí),WAVE6000的基礎(chǔ)使用方法,8051單片機(jī)的基本指令,基礎(chǔ)的編程方法,以及交通信號(hào)燈的工作方式和原理。在這一周的大部分時(shí)間都在設(shè)計(jì)硬件電路,編制程序和調(diào)試程序,讓我把以前學(xué)習(xí)到的知識(shí)得到鞏固和進(jìn)一步的提高認(rèn)識(shí),對(duì)已有知識(shí)有了更進(jìn)一步的理解和認(rèn)識(shí)。鞏固了單片機(jī)和數(shù)字邏輯電路的理論知識(shí),并對(duì)芯片有了新的認(rèn)識(shí),懂得它的功能和與其它芯片替換的方法等, 更重要的是如何將邏輯電路靈活運(yùn)
31、用到實(shí)際生活電路設(shè)計(jì)。在設(shè)計(jì)過(guò)程中,對(duì)我來(lái)說(shuō),學(xué)到的不僅是那些知識(shí),更是學(xué)會(huì)了自己獨(dú)立思考問(wèn)題的能力,不懂時(shí)查閱資料,請(qǐng)教老師同學(xué)。本次課程設(shè)計(jì)的過(guò)程是艱辛的,不過(guò)收獲卻是很大的。在此,忠心感謝老師,同學(xué)們一周以來(lái),辛苦耐心的指導(dǎo)和幫助!參考文獻(xiàn)1 張淑清 單片微型計(jì)算機(jī)接口技術(shù)及其應(yīng)用 國(guó)防工業(yè)出版社2 張淑清 單片機(jī)原理及應(yīng)用技術(shù) 國(guó)防工業(yè)出版社3姜武中 單片機(jī)原理與接口技術(shù) 大連理工大學(xué)出版社4單片機(jī)應(yīng)用技術(shù)匯編程序: ORG 0000H LJMP START ORG 000BH ;定時(shí)器T0中斷入口地址 LJMP TIME0INT ORG 0013H ;外部中斷INT1入口地址 LJM
32、P INT1 ORG 0100HSTART: MOV SP,#50H MOV TMOD,#01H ;定時(shí)器T0工作方式為1 MOV TL0,#9EH ;設(shè)定定時(shí)器初值 MOV TH0,#58H SETB EA ;開(kāi)總中斷 SETB ET0 ;允許T0中斷 SETB TR0 ;啟動(dòng)定時(shí) SETB EX1 ;開(kāi)外部中斷INT1L1: MOV P1,#0ch ;東西紅燈亮,南北綠燈亮 MOV R2,#27 MOV R3,#30LOOP1: LCALL DISP ;顯示數(shù)據(jù) CJNE R0,#23,LOOP1 ;南北綠燈亮23秒 MOV 60H,#0LOOP2: MOV R0,#0 CPL P1.2
33、;南北綠燈取反LOOP3: LCALL DISP CJNE R0,#1,LOOP3 INC 60H MOV A,60H CJNE A,#4, LOOP2 ;南北綠燈閃爍4秒 MOV 60H,#0 MOV A,#0 MOV R0,#0 MOV P1,#0aH MOV R2,#3LOOP4: LCALL DISP CJNE R0,#3,LOOP4 ;南北黃燈亮3秒 MOV R0,#0 MOV P1,#21H ;東西綠燈亮,南北紅燈亮 MOV R2,#30 MOV R3,#27LOOP5: LCALL DISP CJNE R0,#23,LOOP5 ;東西綠燈亮23秒LOOP6: MOV R0,#0
34、CPL P1.5 ;東西綠燈取反LOOP7: LCALL DISP CJNE R0,#1,LOOP7 INC 60H MOV A,60H CJNE A,#4 ,LOOP6 ;東西綠燈閃爍4秒 MOV 60H,#0 MOV A,#0 MOV R0,#0 MOV P1,#11H MOV R3,#3LOOP8: LCALL DISP CJNE R0,#3,LOOP8 ;東西黃燈亮3秒 MOV R0,#0 LJMP L1 ;循環(huán)DISP: MOV R4,#20H ;位選碼 MOV R1,#70H ;存放顯示數(shù)據(jù)起始地址LOOP9: MOV A, R2 MOV B,#0AH DIV AB MOV 70H,A ;一個(gè)方向顯示的十位數(shù)據(jù)存放在70H中 MOV A,B MOV 71h,A ;一個(gè)方向顯示的個(gè)位數(shù)據(jù)存放在71H中 MOV A,R3 MOV B,#0AH DIV AB MOV 72H,A ;另一方向顯示的十位數(shù)據(jù)存放在72H中 MOV A,B MOV 73H,A ;另一方向顯示的個(gè)位數(shù)據(jù)存放在73H中 MOV A,R4 JB ACC.1,LOOP10 ;位選碼控制動(dòng)態(tài)顯示四位數(shù)字 MOV DPTR,#8002H MOVX DPTR,A ;位選碼送到8002H RR A ;位選碼循環(huán)移位,動(dòng)態(tài)顯示四位數(shù)字 MOV R4,A
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 七年級(jí)英語(yǔ)Whatisyourfavorite課件
- 駕考題庫(kù)-70歲以上老年人C2駕照年審三力測(cè)試題
- 《證券銷(xiāo)戶(hù)寶典》課件
- 單位管理制度集粹選集【職工管理篇】十篇
- 2024服務(wù)合同范文(32篇)
- 單位管理制度合并選集【人員管理】
- 單位管理制度范例選集人事管理十篇
- 七年級(jí)英語(yǔ)Nationalheroes課件
- 3ds Max動(dòng)畫(huà)制作實(shí)戰(zhàn)訓(xùn)練(第3版)教學(xué)教案
- 2024年醫(yī)院個(gè)人工作總結(jié)范文
- 2021-2022學(xué)年第二學(xué)期《大學(xué)生職業(yè)發(fā)展與就業(yè)指導(dǎo)2》學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 國(guó)家開(kāi)放大學(xué)電大本科《工程經(jīng)濟(jì)與管理》2023-2024期末試題及答案(試卷代號(hào):1141)
- 個(gè)人社保代繳協(xié)議合同模板
- C4支持學(xué)生創(chuàng)造性學(xué)習(xí)與表達(dá)作業(yè)1-設(shè)計(jì)方案
- 給水排水管道工程外觀(guān)質(zhì)量檢查記錄
- 2022年國(guó)家電力公司火力發(fā)電廠(chǎng)勞動(dòng)定員標(biāo)準(zhǔn)
- 危險(xiǎn)化學(xué)品水路運(yùn)輸安全管理規(guī)定
- 教育中的心理效應(yīng)
- 考古繪圖(課堂PPT)
- PE管熱熔對(duì)接施工方案完整
- 全國(guó)各地木材平衡含水率年平均值
評(píng)論
0/150
提交評(píng)論