畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)1_第1頁
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)1_第2頁
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)1_第3頁
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)1_第4頁
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)1_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、天津天獅學(xué)院畢業(yè)實(shí)踐報(bào)告 題目:基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)二級(jí)學(xué)院 電子與計(jì)算機(jī)學(xué)院 專 業(yè) 08級(jí)電子信息工程技術(shù) 學(xué)生姓名 指導(dǎo)教師 2011年5月24日26摘 要隨著社會(huì)經(jīng)濟(jì)的發(fā)展,城市交通問題越來越引起人們的關(guān)注,人、車、路三者關(guān)系得和諧已成為交通治理部分必需要解決的主要問題之一,本交通燈設(shè)計(jì)系統(tǒng)用于對(duì)于疏導(dǎo)交通流量、提高道路通行能力、減少交通事故有明顯效果。本設(shè)計(jì)主要為實(shí)現(xiàn)一款帶時(shí)間自主修改功能的多功能交通燈。本文選定了采用單片機(jī)技術(shù)實(shí)現(xiàn)交通燈功能,本設(shè)計(jì)應(yīng)用at89c51芯片作為核心,cd4511芯片作為顯示芯片驅(qū)動(dòng),詳細(xì)介紹了atmel公司的at89c51單片機(jī)的性能和特點(diǎn),

2、以及cd4511原理和特性,指出了交通燈設(shè)計(jì)系統(tǒng)的思路和所需考慮的問題,詳細(xì)描述了交通燈系統(tǒng)的硬件、軟件設(shè)計(jì)以及系統(tǒng)仿真調(diào)試過程等。該設(shè)計(jì)的優(yōu)點(diǎn)是電路簡(jiǎn)單、性能可靠、實(shí)時(shí)性好、時(shí)間精度高,操作簡(jiǎn)單,可廣泛應(yīng)用于各個(gè)交通要道。關(guān)鍵詞:?jiǎn)纹瑱C(jī),交通燈,控制器 abstractthis design is mainly for realizing a paragraph of time the independent modify functions with multi-function traffic. this paper adopts single-chip microcomputer se

3、lected technologies to realize this design, lights function at89c51 chip as the core, cd4511 chip as display chip drive, introduces in detail the at89c51 atmel company performance and characteristics of cd4511 principle and characteristics, and lights design system, points out the idea and the probl

4、ems needed to consider the advantages of this method is reliable in performance, simple circuit, good real-time, high precision time, simple operation. and widely used in various hubs.when entering adjustment function can add, subtract function operation, in order to achieve timing function, thus ca

5、n undertake traffic lights countdown system. when the timing settings, system through the at89c51 control things, sn of traffic light real-time status. eight led digital tube will show countdown time, time display format for: ten - bytes; and have real-time display current countdown time functionske

6、ywords: a single-chip microcomputer, the lights, controller, design, realization目錄一、緒論2二、系統(tǒng)設(shè)計(jì)22.1 功能22.2交通燈硬件組成32.2.1單片機(jī)最小系統(tǒng)32.2.2 數(shù)碼管及顯示驅(qū)動(dòng)電路72.2.3交通燈電路82.2.4鍵盤電路82.2.5電路原理圖設(shè)計(jì)92.3 軟件設(shè)計(jì)102.3.1 主程序流程圖102.3.2 鍵盤子程序設(shè)計(jì)112.4 主程序設(shè)計(jì)11三、系統(tǒng)調(diào)試與仿真123.1 keilc51進(jìn)行程序調(diào)試123.1.1 keilc51軟件介紹123.2 proteus軟件簡(jiǎn)介133.3 prot

7、eus 電路圖設(shè)計(jì)143.4 proteus中仿真過程14四、結(jié)論16參考文獻(xiàn)18附錄19一、緒論十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么來實(shí)現(xiàn)這井然秩序呢?靠的是交通信號(hào)燈的自動(dòng)指揮系統(tǒng)。交通信號(hào)燈控制方式很多。本設(shè)計(jì)是根據(jù)我所學(xué)習(xí)的單片機(jī)課程,按照大綱要求對(duì)我進(jìn)行的一次課程檢驗(yàn),是進(jìn)行單片機(jī)課程訓(xùn)練的必要任務(wù),也對(duì)我們掌握單片機(jī)應(yīng)用有很大的幫助。掌握單片機(jī)技術(shù)是一門不可或缺的技術(shù),對(duì)我將來的工作以及生活和學(xué)習(xí)都有很密切的聯(lián)系。當(dāng)今世界的發(fā)展是以科學(xué)技術(shù)為基礎(chǔ)的,微控技術(shù)在生產(chǎn)中所占的比重也越來越大。單片機(jī)的出現(xiàn)是近代計(jì)算機(jī)技術(shù)發(fā)展史上的一個(gè)重要里程碑。近年來,隨

8、著電子技術(shù)和微機(jī)計(jì)算機(jī)的迅速發(fā)展,單片機(jī)的檔次不斷提高,其應(yīng)用領(lǐng)域也在不斷的擴(kuò)大,已在工業(yè)控制、尖端科學(xué)、智能儀器儀表、日用家電、汽車電子系統(tǒng)、辦公自動(dòng)化設(shè)備、個(gè)人信息終端及通信產(chǎn)品中得到了廣泛的應(yīng)用,成為現(xiàn)代電子系統(tǒng)中最重要的智能化的核心部件。在今天,紅綠燈安裝在各個(gè)道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見和最有效的手段。這一技術(shù)在19世紀(jì)就已出現(xiàn)了。近年來交通事故情況日趨嚴(yán)重,如果將每個(gè)交通十字路口的多余交通警察撤回,安排在最不利于管理和事故高發(fā)的地方,不但可以大大的降低交通事故的發(fā)生率,而且可以節(jié)省大量的人力財(cái)力。在本次研究實(shí)踐中,我采用單片機(jī)和匯編語言編程來自動(dòng)控制交通燈通燈有現(xiàn)實(shí)的社會(huì)意義

9、。二、系統(tǒng)設(shè)計(jì)2.1 功能本交通燈設(shè)計(jì)系統(tǒng)不僅具有普通十字路口交通燈的基本功能,而且還具有自主設(shè)定時(shí)間的功能以及倒計(jì)時(shí)顯示時(shí)間功能,時(shí)間自主設(shè)定功能可以根據(jù)各種不同的路況而自主設(shè)定時(shí)間從而適應(yīng)各種交通情況的路口,倒計(jì)時(shí)顯示時(shí)間功能顯示范圍為0至99,該功能可以大大降低過路行人危險(xiǎn)性,使人們可以在過馬路時(shí)注意紅燈時(shí)間以免引發(fā)危險(xiǎn),使該設(shè)計(jì)具有更高的普及性,采用了大量的已有技術(shù)的微電子器件和集成電路,大大的降低了成本,提高了性能價(jià)格比例。綜上所述,開發(fā)一款具有倒計(jì)時(shí)自主設(shè)定功能的交通燈在設(shè)計(jì)上是可行的,在市場(chǎng)上也是需要的。2.2交通燈硬件組成由晶振電路傳給單片機(jī)達(dá)到產(chǎn)生脈沖信號(hào)的作用,通過單片機(jī)復(fù)

10、位電路對(duì)系統(tǒng)進(jìn)行系統(tǒng)復(fù)位從而使系統(tǒng)初始化,單片機(jī)傳出信號(hào)控制紅、黃、綠3種顏色的交通燈電路使其發(fā)光,鍵盤電路輸入信號(hào)給單片機(jī)實(shí)現(xiàn)加、減、換擋、確定計(jì)時(shí)功能控,單片機(jī)輸出信號(hào)給數(shù)碼管驅(qū)動(dòng)顯示電路,經(jīng)數(shù)碼管驅(qū)動(dòng)顯示電路編譯傳給8段數(shù)碼管顯示電路。 如圖 2-1單片機(jī)3種顏色的交通燈電路8段數(shù)碼管顯示電路數(shù)碼管驅(qū)動(dòng)顯示電路鍵盤電路晶振電路復(fù)位電路 圖 2-1交通燈系統(tǒng)設(shè)計(jì)流程圖2.2.1單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)包括單片機(jī)、晶振電路和復(fù)位電路,如圖 2-2所示。晶振電路有兩個(gè)電容和一個(gè)石英諧振器組成。 圖2-2 單片機(jī)最小系統(tǒng)at89c51簡(jiǎn)介:at89c51單片機(jī)是一款低功耗,低電壓,高性能cm

11、os 8位單片機(jī),片內(nèi)含4kb(可經(jīng)受1000次擦寫周期)的flash可編程可反復(fù)擦寫的只讀程序存儲(chǔ)器(eprom),器件采用cmos工藝和atmei公司的高密度、非易失性存儲(chǔ)器(nuram)技術(shù)制造,其輸出引腳和指令系統(tǒng)都與mcs-51兼容。片內(nèi)的flash存儲(chǔ)器允許在系統(tǒng)內(nèi)可改編程序或用常規(guī)的非易失性存儲(chǔ)器編程器來編程。因此,at89c51是一種功能強(qiáng),靈活性高且價(jià)格合理的單片機(jī),可方便的應(yīng)用在各個(gè)控制領(lǐng)域。如圖2-3at89c51具有與8031 cpu與mcs-51 兼容、4k字節(jié)可編程flash存儲(chǔ)器(壽命:1000寫/擦循環(huán))、全靜態(tài)工作:0hz-24khz、128*8位內(nèi)部ram、

12、32條可編程i/o線、兩個(gè)16位定時(shí)器/計(jì)數(shù)器、6個(gè)中斷源、可編程串行通道、低功耗的閑置和掉電模式和片內(nèi)振蕩器和時(shí)鐘電路等主要性能。at89c51管腳說明:1)vcc:at89c51電源正極輸入,接+5v電壓。 2)gnd :電源接地端。3)xtal1:接外部晶振的一個(gè)引腳。在單片機(jī)內(nèi)部它是一反相放大器輸入端,這個(gè)放大器構(gòu)成了片內(nèi)振蕩器。它采用外部振蕩器時(shí),些引腳應(yīng)接地。4)xtal2:接外部晶振的一個(gè)引腳。是接至振蕩器的反相放大器輸出端和內(nèi)部時(shí)鐘發(fā)生器輸入端。當(dāng)采用外部振蕩器時(shí),則此引腳接外部振蕩信號(hào)的輸入。 5)rst:at89c51的復(fù)位信號(hào)輸入引腳,高電位工作,當(dāng)要對(duì)芯片又時(shí),只要將此

13、引腳電位提升到高電位,并持續(xù)兩個(gè)機(jī)器周期以上的時(shí)間,at89c51便能完成系統(tǒng)復(fù)位的各項(xiàng)工作,使得內(nèi)部特殊功能寄存器的內(nèi)容均被設(shè)成已知狀態(tài)。 6) p0口(p0.0p0.7)是一個(gè)8位漏極開路雙向輸入輸出端口,當(dāng)訪問外部數(shù)據(jù)時(shí),它是地址總線(低8位)和數(shù)據(jù)總線復(fù)用。外部不擴(kuò)展而單片應(yīng)用時(shí),則作一般雙向io口用。7) p1口(p1.0p1.7)口是具有內(nèi)部提升電路的雙向i/0端口(準(zhǔn)雙向并行i/o口)。僅供用戶作為輸入輸出用的端口。8)p2口(p2.0p2.7)口是具有內(nèi)部提升電路的雙向i/0端口(準(zhǔn)雙向并行i/o口),當(dāng)訪問外部程序存儲(chǔ)器時(shí),它是高8位地址。外部不擴(kuò)展而單片應(yīng)用時(shí),則作一般雙向

14、io口用。9)p3口(p3.0p3.7)口是具有內(nèi)部提升電路的雙向i/0端口(準(zhǔn)雙向并行i/o口),它還提供特殊功能,包括串行通信、外部中斷控制、計(jì)時(shí)計(jì)數(shù)控制及外部隨機(jī)存儲(chǔ)器內(nèi)容的讀取或?qū)懭肟刂频裙δ堋F涮厥夤δ芤_分配如下: p3.0:rxd串行通信輸入。 p3.1:txd串行通信輸出。 p3.2:外部中斷0輸入,低電平有效。 p3.3:外部中斷1輸入,低電平有效。 p3.4:t0計(jì)數(shù)器0外部事件計(jì)數(shù)輸入端。 p3.5:t1計(jì)數(shù)器1外部事件計(jì)數(shù)輸入端。 p3.6:外部隨機(jī)存儲(chǔ)器的寫選通,低電平有效p3.7:外部隨機(jī)存儲(chǔ)器的讀選通,低電平有效10):外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器

15、取指期間,每個(gè)機(jī)器周期兩次有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的信號(hào)將不出現(xiàn)。11)/vpp:當(dāng)保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000h-ffffh),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),將內(nèi)部鎖定為reset;當(dāng)端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。12)ale/prog:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時(shí),ale端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要

16、注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時(shí),ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。圖2-3 at89c51各管腳圖2.2.2 數(shù)碼管及顯示驅(qū)動(dòng)電路cd4511簡(jiǎn)介:cd4511數(shù)碼管顯示驅(qū)動(dòng)(如圖2-5)是bcd鎖存/7段譯碼器/驅(qū)動(dòng)器,常用的顯示譯碼器件,cd4511引腳功能: bi:4腳是消隱輸入控制端,當(dāng)bi=0 時(shí),不管其它輸入端狀態(tài)是怎么樣的,七段數(shù)碼管都會(huì)處于消隱也就是不顯示的狀態(tài)。 le:鎖定控制端,當(dāng)le=0時(shí),允許譯碼輸

17、出。 le=1時(shí)譯碼器是鎖定保持狀態(tài),譯碼器輸出被保持在le=0時(shí)的數(shù)值。lt:3腳是測(cè)試信號(hào)的輸入端,當(dāng)bi=1,lt=0 時(shí),譯碼輸出全為1,不管輸入 dcba 狀態(tài)如何,七段均發(fā)亮全部顯示。它主要用來檢測(cè)數(shù)7段碼管是否有物理損壞。a1、a2、a3、a4、為8421bcd碼輸入端。 a、b、c、d、e、f、g:為譯碼輸出端,輸出為高電平1有效。圖2-5 cd4511圖數(shù)碼管及顯示驅(qū)動(dòng)電路原理結(jié)構(gòu)如圖 2-4所示,其中上拉電阻為cd4511增加加電壓使其正常工作,lt、bi接口接高電平,cd4511顯示驅(qū)動(dòng)模塊a接數(shù)碼管a,b接數(shù)碼管b,c接數(shù)碼管c,d接數(shù)碼管d,e接數(shù)碼管e,f接數(shù)碼管f

18、,g接數(shù)碼管g,段選給數(shù)碼管使其顯示數(shù)字,數(shù)碼管共陰極接地端接三極管,使其高電位接地,低電位傳回單片機(jī)。圖2-4 數(shù)碼管及顯示驅(qū)動(dòng)電路2.2.3交通燈電路交通燈電路由led和電阻組成,led燈順序?yàn)槟媳毕蚣t燈、南北向黃燈、南北向綠燈、東西向紅燈、東西向黃燈、東西向綠燈。如圖 2-6 圖2-6 at89s51來控制交通燈led電路2.2.4鍵盤電路鍵盤分別控制確定鍵、換擋鍵、減1鍵、加1鍵輸入單片機(jī)p2.4至p2.7管腳,上拉電阻使鍵盤處于高電平狀態(tài)。 如圖 2-7 圖2-7 鍵盤電路2.2.5電路原理圖設(shè)計(jì),單片機(jī)管腳p0.0、p0.1、p0.2、p0.3分別接cd4511數(shù)碼管驅(qū)動(dòng)顯示芯片的

19、a、b、c、d,單片機(jī)管腳p0.4、p0.5、p0.6、p0.7、分別接第二個(gè)cd4511的a、b、c、d接口,單片機(jī)p2.4、p2.5、p2.6、p2.7分別接鍵盤電路確定鍵、換擋鍵、減1鍵、加1鍵,單片機(jī)從管腳p1.0、p1.1、p1.2、p1.3、p1.4、p1.5輸出信號(hào)給交通燈led電路,rst 是at89c51的復(fù)位信號(hào)輸入引腳,xtal1和xtal2是分別接晶振電路。 如圖 2-8圖2-8 電路原理總圖2.3 軟件設(shè)計(jì)2.3.1 主程序流程圖首先對(duì)系統(tǒng)進(jìn)行初始化,然后進(jìn)行中斷延時(shí),定義鍵盤控制后進(jìn)行顯示。如圖 2-9main初始化延時(shí)中斷顯示鍵盤控制圖2-9 主程序流程圖2.3.

20、2 鍵盤子程序設(shè)計(jì)首先對(duì)系統(tǒng)進(jìn)行初始化,然后定義鍵盤控制,如過按下k1鍵則加1如果沒按則進(jìn)入k2鍵,k2鍵如果按下則減1如果沒按下則進(jìn)入k3鍵,如果按下k3鍵則移位,沒按下則進(jìn)入k4鍵,如果按下k4鍵則退出。如圖 2-10鍵盤初始化定義鍵盤控制字+1k1鍵 n y n-1k2鍵 y n 移位k3鍵 y n退出k4鍵 y圖2-10 鍵盤子程序設(shè)計(jì)圖2.4 主程序設(shè)計(jì)*main 函數(shù)*初始化部分count20equr7 ;計(jì)時(shí)次數(shù)20次=1scount50 equ r6;50次=2.5scount15 equ r5;15次=0.75sbuffequ30h;數(shù)碼管顯示緩存buflequ31h;數(shù)碼管

21、顯示低位緩存bufhequ32h;數(shù)碼管顯示高位緩存temp1equ 33h;delay時(shí)間參數(shù)temp2equ 34h;buftime equ40h;紅綠燈設(shè)置時(shí)間flaghbit 10h;高標(biāo)志位flaglbit 11h;低標(biāo)志位 1有效org0000hljmpmainorg 000bhljmptt0;t0中斷,紅綠燈計(jì)時(shí)org 001bhljmp tt1;t1中斷,閃爍控制org 0030hmain:mov sp,#60hsetb lehsetb lel;4511數(shù)據(jù)鎖存控制端,0有效clr ledhclr ledl;數(shù)碼管,1有效clr flaghclr flagl;標(biāo)志位,1有效三、

22、系統(tǒng)調(diào)試與仿真系統(tǒng)調(diào)試仿真步驟:先做proteus仿真圖,然后用keilc51編譯程序,編譯后生成.hex文件,最后使用proteus仿真圖加載.hex文件,完成仿真,若仿真有錯(cuò),需對(duì)軟硬件進(jìn)行進(jìn)一步修改。3.1 keilc51進(jìn)行程序調(diào)試3.1.1 keilc51軟件介紹keil c51是美國keil software公司出品的51系列兼容單片機(jī)c語言軟件開發(fā)系統(tǒng),與匯編相比,c語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過匯編語言后再使用c來開發(fā),體會(huì)更加深刻。keil c51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全windows界面。另外重要的一點(diǎn),

23、只要看一下編譯后生成的匯編代碼,就能體會(huì)到keil c51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢(shì)。利用keilc51對(duì)程序進(jìn)行編譯,編譯結(jié)果如圖 3-1所示。圖3-1 keil編譯圖3.2 proteus軟件簡(jiǎn)介proteus軟件是英國labcenter electronics公司出版的eda工具軟件(該軟件中國總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其它eda工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于

24、單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。proteus是世界上著名的eda工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到pcb設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、pcb設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、hc11、pic10/12/16/18/24/30/dspic33、avr、arm、8086和msp430等,2010年即將增加cortex和dsp系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持iar、keil和mplab等多種編譯器。3.3 proteus 電路圖設(shè)計(jì)圖3-2 pr

25、oteus 電路圖設(shè)計(jì)3.4 proteus中仿真過程生成.hex步驟:點(diǎn)擊“project-new project”菜單,出現(xiàn)一個(gè)對(duì)話框,要求給將要建立的工程起一個(gè)名字,你可以在編緝框中輸入一個(gè)名字,不需要擴(kuò)展名。點(diǎn)擊“保存”按鈕,出現(xiàn)一個(gè)對(duì)話框,這個(gè)對(duì)話框要求選擇目標(biāo)cpu(即你所用芯片的型號(hào)),我們選擇atmel公司的89c51芯片。點(diǎn)擊atmel前面的“+”號(hào),展開該層,點(diǎn)擊其中的89c51,然后再點(diǎn)擊“確定”按鈕,回到主界面,此時(shí),在工程窗口的文件頁中,出現(xiàn)了“target 1”,前面有“+”號(hào),點(diǎn)擊“+”號(hào)展開,可以看到下一層的“source group1”,這時(shí)的工程還是一個(gè)空的

26、工程,里面什么文件也沒有,需要手動(dòng)把剛才編寫好的源程序加入,點(diǎn)擊“source group1”使其反白顯示,然后,點(diǎn)擊鼠標(biāo)右鍵,出現(xiàn)一個(gè)下拉菜單。選中其中的“add file to group”source group1”,出現(xiàn)一個(gè)對(duì)話框,要求尋找源文件,注意,該對(duì)話框下面的“文件類型”默認(rèn)為c source file(*.c),也就是以c為擴(kuò)展名的文件,而我們的文件是以asm為擴(kuò)展名的,所以在列表框中找不到xxx.asm,要將文件類型改掉,點(diǎn)擊對(duì)話框中“文件類型”后的下拉列表,找到并選中“asm source file(*.a51,*.asm),這樣,在列表框中就可以找到exam1.asm文

27、件了。 雙擊exam1.asm文件,將文件加入選擇目標(biāo)cpu,在文件加入項(xiàng)目后,該對(duì)話框并不消失,等待繼續(xù)加入其它文件。 工程建立好以后,還要對(duì)工程進(jìn)行進(jìn)一步的設(shè)置,以滿足要求。首先點(diǎn)擊左邊project窗口的target 1,然后使用菜單“project-option for target target1”好在絕大部份設(shè)置項(xiàng)取默認(rèn)值就行了。在設(shè)置好工程后,即可進(jìn)行編譯、連接。選擇菜單project-build target,對(duì)當(dāng)前工程進(jìn)行連接,如果當(dāng)前文件已修改,軟件會(huì)先對(duì)該文件進(jìn)行編譯,然后再連接以產(chǎn)生目標(biāo)代碼;如果選擇rebuild all target files將會(huì)對(duì)當(dāng)前工程中的所有

28、文件重新進(jìn)行編譯然后再連接,確保最終生產(chǎn)的目標(biāo)代碼是最新的,而translate .項(xiàng)則僅對(duì)該文件進(jìn)行編譯,不進(jìn)行連接。 以上操作也可以通過工具欄按鈕直接進(jìn)行。 編譯過程中的信息將出現(xiàn)在輸出窗口中的build頁中有有關(guān)編譯、連接、項(xiàng)目設(shè)置的工具條,正確編譯、連接之后的結(jié)后,最終會(huì)得到提示獲得了名為exam1.hex的文件,該文件即可被編程器讀取。打開proteus軟件,在proteus軟件中進(jìn)行畫圖,在devices中選擇p字母搜索元器件,在畫完圖之后在debug中選擇use remote debug monitor 來支持遠(yuǎn)程調(diào)試。之后右鍵單擊at89c51選中元此元器件,然后再左鍵單擊,之

29、后出現(xiàn)在對(duì)話框。在對(duì)話框program file欄中加載程序的.hex文件,然后關(guān)閉對(duì)話框后進(jìn)行仿真。 如圖 3-3圖4-2加載.hex文件圖圖3-3 proteus加載.hex圖3.5 proteus進(jìn)行交通燈系統(tǒng)仿真圖3-4 proteus仿真圖四、結(jié)論本次設(shè)計(jì)設(shè)計(jì)的是一個(gè)交通燈控制系統(tǒng),以單片機(jī)為核心,采用目前比較流行的at89s51單片機(jī),對(duì)十字路口交通燈電路進(jìn)行了仿真制作,主要完成十字路口交通燈的紅、綠、黃燈的點(diǎn)亮?xí)r間控制,在模擬系統(tǒng)中,采用了兩組紅、黃、綠三種發(fā)光二極管分別代表兩道上的交通燈,采用了數(shù)碼管顯示每種燈點(diǎn)亮的時(shí)間;并采用了四個(gè)按鈕開關(guān)來實(shí)現(xiàn)計(jì)時(shí)功能。在本次設(shè)計(jì)中,程序采

30、用了原來學(xué)習(xí)書本上的匯編語言, 程序仿真采用流行的proteus軟件,和keil聯(lián)合仿真,方便調(diào)試程序和修改硬件,結(jié)果證明方案的硬件設(shè)計(jì)正確,程序也符合要求。通過這次畢業(yè)設(shè)計(jì),使我得到了一次用專業(yè)知識(shí)、專業(yè)技能分析和解決問題全面系統(tǒng)的鍛煉。使我在單片機(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程,以及在常用編程設(shè)計(jì)思路技巧(特別是匯編語言)的掌握方面都能向前邁了一大步,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。參考文獻(xiàn)1 王曉薇、王 慧.基于ga 的交叉路口自適應(yīng)模糊控制器設(shè)計(jì)j. 吉林大學(xué)學(xué)報(bào)(信息科學(xué)版),第22卷第4期2004.72 付家才. 單片機(jī)控制工程實(shí)踐技術(shù)m. 北京: 化學(xué)工業(yè)出版社,

31、2004.3 劉麗莎、黃輝先、湯紅忠.單交叉口模糊交通控制器的研究 j.電機(jī)與控制學(xué)報(bào),20034 陳小忠、黃寧、趙小俠.單片機(jī)接口技術(shù)實(shí)用子程序m.北京:人民郵電出版社,2005.9 5 沙占友、孟志永、王彥朋.單片機(jī)外圍電路設(shè)計(jì)(第2版)m.北京:電子工業(yè)出版社,2006.66 何立民. 單片機(jī)應(yīng)用技術(shù)選編m . 北京航空航天大學(xué)出版社. 2004.7 張化光、孟祥萍.智能控制基礎(chǔ)理論及應(yīng)用m. 北京:機(jī)械工業(yè)出版社,20058 張秀珍、戴伏生、毛興鵬.熱釋電紅外傳感器在車輛計(jì)數(shù)系統(tǒng)中的應(yīng)用j.傳感器技術(shù),2000 年,第19 卷,第2 期9 沈紅衛(wèi). 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例與分析m .

32、北京:航空航天大學(xué)出版社,2003.附錄;端口定義部分dat equp0d1equp0.0d2equ p0.1d3equp0.2d4equ p0.3;低位4511數(shù)碼管數(shù)據(jù)端d5equ p0.4d6equ p0.5d7equ p0.6d8equ p0.7;高位lehequ p2.0lel equ p2.1;4511數(shù)碼管控制端0有效ledhequp2.2;上數(shù)碼管顯示控制 ;1有效ledlequp2.3;下數(shù)碼管顯示控制;1有效k1equp2.4;k1,增1鍵|k2equp2.5;k2,減1鍵 | 按鍵k3equp2.6;k3,移位鍵 |p2.47低電平k4equp2.7;k4,確認(rèn)并退出鍵

33、|nrequp1.0;nsred控制;南北紅燈 0有效nyequp1.1;nsyellow;0有效ngequp1.2;nsgreen;0有效erequp1.3;wered;東西紅燈 0有效eyequp1.4;weyellow;0有效egequp1.5;wegreen;0有效*main 函數(shù)*;初始化部分count20equr7 ;計(jì)時(shí)次數(shù)20次=1scount50 equ r6;50次=2.5scount15 equ r5;15次=0.75sbuffequ30h;數(shù)碼管顯示緩存buflequ31h;數(shù)碼管顯示低位緩存bufhequ32h;數(shù)碼管顯示高位緩存temp1equ 33h;delay時(shí)

34、間參數(shù)temp2equ 34h;buftime equ40h;紅綠燈設(shè)置時(shí)間flaghbit 10h;高標(biāo)志位flaglbit 11h;低標(biāo)志位 1有效org0000hljmpmainorg 000bhljmptt0;t0中斷,紅綠燈計(jì)時(shí)org 001bhljmp tt1;t1中斷,閃爍控制org 0030hmain:mov sp,#60hsetb lehsetb lel;4511數(shù)據(jù)鎖存控制端,0有效clr ledhclr ledl;數(shù)碼管,1有效clr flaghclr flagl;標(biāo)志位,1有效;*計(jì)時(shí)器初始化*mov tmod,#11h;t0,t1,計(jì)時(shí)方式1mov th0,#3chm

35、ov tl0,#0b0h;t0初始地址,單次50ms;mov th1,#0fch;mov tl1,#18h;t1初始地址,單次1ms;mov th1,#0d8h;mov tl1,#0f0h;t1初始地址,單次10msmov th1,#3chmov tl1,#0b0h;t1初始地址,單次50msmov count20,#00hmov count50,#00hsetb et1;t1中斷允許setb et0;t0中斷允許setb pt0;t0優(yōu)先級(jí)1setb ea;中斷開放 ;初始部分,顯示00mov buff,#00hsetb flaghsetb flagllcall load;裝載setb le

36、dhsetb ledl;開數(shù)碼管lcall part;拆數(shù);鍵盤部分,設(shè)置初始時(shí)間clr flaghsetb flagl;初始高位亮,低位閃setb tr1;t1中斷開啟,閃爍開始kk1:lcall delay50msjb k1,kk2lcall add1;+1鍵lcall loadkk2:lcall delay50msjb k2,kk3lcall sub1;-1鍵lcall loadkk3:lcall delay50msjb k3,kk4cpl flagl;位移鍵cpl flaghkk4:lcall delay50msjb k4,kk1;退出鍵mov buftime,buff;保存設(shè)置時(shí)間i

37、nc buftime;+1方便使用clr tr1;設(shè)置結(jié)束,t1中斷關(guān)閉,閃爍停止clr et1;t1中斷允許關(guān)nop;紅綠燈部分,計(jì)時(shí)變燈setb tr0;t0中斷開啟clr eg;初始東西綠clr nr;南北紅setb ersetb eysetb nysetb ngsjmp $nopljmp cut;part,拆數(shù)函數(shù);入口參數(shù):buff,顯示緩存出口參數(shù):bufl,bufh,顯示緩存高低位part:mov a,buffanl a,#0fh;屏蔽高位mov bufl,amov a,buff;anl a,#0f0h;屏蔽低位rr arr arr arr amov bufh,a;ret;loa

38、d,數(shù)據(jù)裝載函數(shù);入口參數(shù):buff,顯示緩存load:mov dat,buffclr lelclr leh;寫入nopsetb lelsetb lehloadr:ret;add1,加1函數(shù)add1:jnbflagh,addl ;高位inc bufhmov a,bufhcjne a,#0ah,addrmov bufh,#00hljmpaddraddl:jnb flagl,addr;低位inc buflmov a,buflcjne a,#0ah,addrmov bufl,#00haddr:mov a,bufhrl arl arl arl aadd a,bufl;高低位和起來mov buff,a;

39、更改buffret;sub1,減1函數(shù)sub1:jnbflagh,subl;flagh=1,轉(zhuǎn)高位dec bufhmov a,bufhcjne a,#0ffh,subrmov bufh,#09hljmpsubrsubl:jnb flagl,subrdec buflmov a,buflcjne a,#0ffh,addrmov bufl,#09hsubr:mov a,bufhrl arl arl arl aadd a,bufl;高低位和起來mov buff,a;更改buffret; tt0,定時(shí)函數(shù)1s,紅綠燈控,t0中斷計(jì)時(shí)tt0:clrtr0inc count20mov th0,#3chmov tl0,#0b0

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論