單片機交通燈課程設(shè)計.doc_第1頁
單片機交通燈課程設(shè)計.doc_第2頁
單片機交通燈課程設(shè)計.doc_第3頁
單片機交通燈課程設(shè)計.doc_第4頁
單片機交通燈課程設(shè)計.doc_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

課程設(shè)計報告2013 2014學(xué)年第 1學(xué)期課程名稱 51單片機交通燈程序設(shè)計設(shè)計題目 交通燈 學(xué)生姓名 學(xué) 號 專業(yè)班級 指導(dǎo)教師 一前言3二功能概述3三設(shè)計思路3四硬件介紹4五軟件程序設(shè)計7六電路圖及仿真實現(xiàn)10七總結(jié)11八源程序12參考文獻14 一前言近年來隨著科技的飛速發(fā)展,單片機的應(yīng)用正在不斷深入,同時帶動傳統(tǒng)控制檢測技術(shù)日益更新。在實時檢測和自動控制的單片機應(yīng)用系統(tǒng)中,單片機往往作為一個核心部件來使用,僅單片機方面知識是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么來實現(xiàn)這井然秩序呢?靠的就是交通信號燈的自動指揮系統(tǒng)。交通信號燈控制方式很多,在學(xué)習(xí)了單片機的有關(guān)知識之后,運用相關(guān)知識來設(shè)計完成交通信號燈。二功能概述2.1設(shè)計任務(wù):交通燈的硬件和軟件設(shè)計2.2設(shè)計目的1.進一步熟悉和掌握單片機的結(jié)構(gòu)和工作原理。2.掌握單片機的接口技術(shù)及相關(guān)外圍芯片的外特性,控制方法。3.通過課程設(shè)計,掌握以單片機為核心的電路設(shè)計的基本方法和技術(shù),了解有關(guān)電路參數(shù)的計算方法。4.通過實際程序設(shè)計和調(diào)試,逐步掌握模塊化程序設(shè)計方法和調(diào)試技術(shù)。5.通過完成一個包括電路設(shè)計和程序開發(fā)的完整過程,為我們今后從事相應(yīng)工作打下基礎(chǔ)。三設(shè)計思路交通燈的變化規(guī)律按照常規(guī)我們假設(shè)一個十字路口為東西南北走向(支干道)。初始狀態(tài)為狀態(tài)1,南北方向(主干道)綠燈通車,東西方向紅燈。經(jīng)過過一段時間(30S)轉(zhuǎn)換狀態(tài)2,南北方向綠燈閃幾次轉(zhuǎn)亮黃燈,延時5S,東西方向仍然紅燈。再轉(zhuǎn)換到狀態(tài)3,東西方向綠燈通車,南北方向紅燈。過一段時間(20S)轉(zhuǎn)換到狀態(tài)4,東西方向綠燈閃幾次轉(zhuǎn)亮黃等,延時5S,南北方向仍然紅燈。最后循環(huán)至南北綠燈,東西紅燈。在這些狀態(tài)下,有時鐘倒數(shù)計時。四硬件介紹基礎(chǔ)知識交通燈控制器實例主要使用了89C51單片機的定時器計數(shù)器,基礎(chǔ)知識主要包括交通燈的變化規(guī)律、定時器計數(shù)器的概念、定時器計數(shù)器的相關(guān)寄存器、定時器計數(shù)器的4種工作方式、以及定時器計數(shù)器的變成。4.1定時器/計數(shù)器定時器計數(shù)器是單片機中最常用、最重要的功能模塊之一,本節(jié)通過交通燈控制器實例來演示定時器的使用,并復(fù)習(xí)如何使用散轉(zhuǎn)程序。首先介紹交通燈以及定時器計數(shù)器的基礎(chǔ)知識,接著介紹本實例的硬件電路構(gòu)成,然后逐步分析定時器的變成以及程序的全貌,最后總結(jié)一下本實例的技巧與注意點。4.2定時器計數(shù)器的概念89C51單片機內(nèi)有兩個可編程的定時器計數(shù)器T0、T1。當(dāng)定時器計數(shù)器用作“定時器”時,每經(jīng)過1個機器周期(12個時鐘周期),計數(shù)器加1。當(dāng)定時器計數(shù)器用作“計數(shù)器”時,計數(shù)器在對應(yīng)的外部輸入管腳(T0為P3.4引腳,T1為P3.5引腳)上每發(fā)生一次1到0的跳變時加1。使用“計數(shù)器”功能時,外部輸入每個機器周期被采樣一次。當(dāng)某一周期管腳狀態(tài)采樣為高電平而下一周期采樣為低電平時,計數(shù)器加1。由于檢測下降沿跳變需要兩個機器周期(24個時鐘周期)的時間,所以技術(shù)頻率最大值只能為時鐘周期的124。計數(shù)器對外部輸入信號的占空比并無限制,但為了保證給定的電平信號在其改變之前至少被采樣一次,外部輸入信號必須至少保持一個完整的機器周期。4.3定時器計數(shù)器的相關(guān)寄存器與定時器計數(shù)器相關(guān)的寄存器有定時器計數(shù)器工作方式寄存器(TMOD)、定時器計數(shù)器控制寄存器(TCON)。TCON已經(jīng)在2.5節(jié)受控輸出實例中介紹過,因此,在本例中主要介紹TMOD寄存器。定時器計數(shù)器工作方式寄存器(TMOD),字節(jié)地址89H,不可進行位尋址。定時器計數(shù)器工作方式寄存器(TMOD)的8位分為兩組,高4位控制T1,低4位控制T0。TMOD每一位的功能如下。GATE:門控位。GATE0,僅由運行控制位TRX(X0,1)1來啟動定時器計數(shù)器運行;GATE1,由運行控制位TRX(X0,1)1和外部中斷引腳上的高電平共同來啟動定時器計數(shù)器運行。CT:定時器模式和計數(shù)器模式選擇位。CT0,為定時器模式;CT1,為計數(shù)器模式。M1、M0:工作方式選擇位。M1、M0的4中編碼對應(yīng)4種工作方式,對應(yīng)關(guān)系見表210。4.5定時器計數(shù)器的4種工作方式定時器計數(shù)器的4種工作方式下的邏輯結(jié)構(gòu)如表所示。M1M2工作方式00方式0,為13位定時器/計數(shù)器01方式1,為16位定時器/計數(shù)器10方式2,為初值自動重裝的8位定時器/計數(shù)器11方式3,僅T0有效,將T0分為兩個8位定時器/計數(shù)器(1)方式0。定時器計數(shù)器的工作方式0稱為13位定時器計數(shù)器的。它由TLX的低5位和TLX的8位構(gòu)成13位的計數(shù)器,此時TLX的高3位未使用。改工作方式是為了和48系列單片機兼容而設(shè)計的一種工作方式,一般情況不使用方式0進行定時計數(shù)。方式0的控制方式與方式1完全相同,下面重點介紹方式1的控制方式 。(2)方式1定時器計數(shù)器的工作方式1稱為16位定時器計數(shù)器。它由TLX和THX構(gòu)成,TLX計數(shù)溢出向THX進位,THX計數(shù)溢出置位TCON中溢出標(biāo)志位TFX。GATE位的狀態(tài)定時器計數(shù)器運行控制取決于TRX一個條件還是TRX和INTX引腳這兩個條件。當(dāng)GATE=0時,則只要TRX被置為1,定時器計數(shù)器即被允許計數(shù)(定時器計數(shù)器的計數(shù)控制僅由TRX的狀態(tài)確定,TRX=1計數(shù),TRX=0停止計數(shù))。當(dāng)GATE=1時,定時器計數(shù)器是否計數(shù)由INTX輸入的電平和TRX的狀態(tài)共同確定:當(dāng)TRX=1,且INTX=1時,才允許定時器計數(shù)器計數(shù)(定時器計數(shù)器的計數(shù)控制由TRX和INTX兩個條件控制)。(3)方式2定時器計數(shù)器的工作方式0和方式1再計數(shù)溢出后,計數(shù)器的值為0,需要通過程序重新裝入計數(shù)初值。定時器計數(shù)器的工作方式1稱為初值自動重裝的8位定時器計數(shù)器。在該工作方式下,TLX作為計數(shù)器,當(dāng)TLX計數(shù)溢出時,在置1溢出標(biāo)志TFX的同時,還自動的將THX中的常數(shù)送至TLX,使TLX從該常數(shù)開始重新計數(shù)。這種工作方式可以省去用戶軟件中重裝常數(shù)的程序,簡化定時常數(shù)的計算方法(確定計數(shù)初值),可以相當(dāng)精確地確定定時時間。(4)方式3工作方式3僅對定時器計數(shù)器0有效,在該工作方式之下,定時器計數(shù)器的0被拆成2個獨立的定時器計數(shù)器:TL0、TF1。TL0使用T0的狀態(tài)控制CT、GATE、TR0、INT0,而TH0被固定位一個8位定時器(不能作外部計數(shù)方式),并使用定時器計數(shù)器1的狀態(tài)控制位TR1、和TF1,同時占用定時器T1的中斷源。此時,定時器計數(shù)器1可設(shè)定為方式0、方式1和方式2,作為串行口的波特率發(fā)生器。4.5 定時器計數(shù)器的編程(1)初始化定時器計數(shù)器的初始化編程包括以下幾個部分。根據(jù)要求給定時器計數(shù)器方式寄存器(TMOD)送一個方式控制字,以設(shè)定定時器計數(shù)器的工作方式。根據(jù)需要給TH和TL寄存器送初值,以確定需要的定時時間或計數(shù)的初值。根據(jù)需要給中斷允許寄存器(IE)送中斷控制字,以開放相應(yīng)的中斷和設(shè)定中斷優(yōu)先級。給TCON寄存器送命令字以啟動或禁止定時計數(shù)器的運行。(2)定時器計數(shù)器初值的計算。計數(shù)器初值:設(shè)計算器的模值位M,所需的計數(shù)值為C,計數(shù)初值設(shè)定為TC,則TC=M-C (M等于2的13次方,16次方,8次方)。定時器初值:設(shè)定時器的模值為M,需要的定時時間為T,定時器的初值設(shè)定為TC,則TC=M-T/t(M等于2的13次方,16次方,8次方)。五軟件程序設(shè)計交通燈控制器實例使用了89C51單片機的定時器/計數(shù)器,首先分定時器初始化,定時器中斷服務(wù)程序兩個部分介紹定時器計數(shù)器的軟件編程,其次在畫出程序流程圖的基礎(chǔ)上編寫軟件程序,并給出完整的交通燈控制器程序?qū)嵗?.1定時器初始化1.定時25s(包括20s主干道紅燈且支干道綠燈、主干道紅燈變綠燈前5s黃燈亮)為了使定時器時間準(zhǔn)確,避免因為定時器重裝而引起的累計誤差,應(yīng)將定時器設(shè)置為初值自動裝置的8位定時器/計數(shù)器,即定時器工作在工作方式2。在12MHz晶振條件下,8位定時器的最長定時時間是0.256ms,取定 時時間為0.25ms,所以,定時0.5s需要定時器中斷2000次。下面計算定時器的初值。定時器初值TC=M-T/t=256-250/1=6,因此TH0=06H,TL0=06H。定時器初始化程序如下,定時器T0設(shè)定為工作方式2,初始值為06H,自動重裝入值為06H。T0-INIT; MOV TMOD,#00000010B ; 定時器T0工作方式2MOV TL0,#06H ; 設(shè)定時器T0的初始值 MOV TH0,#06H ; 設(shè)定時器T0的自動重裝值 MOV TCON,#00010000B ; 定時器T0的使能 SETB EA ;中斷允許總控制位使能 SETB ET0 ;T0中斷使能RET2. 定時35s(包括30s支干道紅燈且主干道綠燈、支干道紅燈變綠燈前5s黃燈亮)計算定時器的初值:因為方式2,最大計數(shù)為256,長度不夠,使用方式0計數(shù)。方式0最大計數(shù)值為8192。定時器初值TC=M-T/t=256-350/1=1EA2H。由于TL0的高3位不用,所以計數(shù)初值為:F502H定時器初始化程序如下,定時器T0設(shè)定為工作方式0,初始值為高八位0F5H,低八位02H。T0-INIT; MOV TMOD,#00000000B ; 定時器T0工作方式2MOV TH0,#0F5H ; 設(shè)定時器T0的高八位初始值 MOV TL0,#02H ; 設(shè)定時器T0的低八位初始值 MOV TCON,#00010000B ; 定時器T0的使能 SETB EA ;中斷允許總控制位使能 SETB ET0 ;T0中斷使能RET3. 定時5s(5s黃燈)下面計算定時器的初值。定時器初值TC=M-T/t=256-50/1=206,因此TH0=0CEH,TL0=0CEH。定時器初始化程序如下,定時器T0設(shè)定為工作方式2,初始值為0CEH,自動重裝入值為0CEH。T0-INIT; MOV TMOD,#00100000B ; 定時器T1工作方式2MOV TH0,#0CEH ; 設(shè)定時器T1的初始值 MOV TH0,#0CEH ; 設(shè)定時器T1的自動重裝值 MOV TCON,#01000000B ; 定時器T1的使能 SETB EA ;中斷允許總控制位使能 SETB ET1 ;T1中斷使能RET5.2定時器中斷服務(wù)程序T0-INIT; DJNZ TIME-COUNT0,T0-INT-EXIT MOV TIME-COUNT0,#250DJNZ TIME-COUNT1, T0-INT-EXITMOV TIME-COUNT1,#8SETB SECOND-FLAG ;T0-INT-EXIT; RETI每0.25ms定時器中斷發(fā)生,程序跳轉(zhuǎn)到中斷服務(wù)程序T0-INT開始執(zhí)行。中斷服務(wù)程序每次將定時器中斷計數(shù)變量減1,但定時器中斷計數(shù)變量為0時,0.5s定時時間到,將位變量SECOND-FLAG置為1.定時器中斷服務(wù)程序通過RETI指令返回,程序?qū)⑻D(zhuǎn)到進入中斷前的斷點繼續(xù)執(zhí)行。5.3程序流程圖 程序較為簡單,可以直接進行程序的編寫,但本實例的程序流程比較復(fù)雜,在編寫程序前,應(yīng)當(dāng)先畫出程序流程圖。程序流程圖是描述程序運行流程的一種圖表。它不僅描繪程序從頭到尾的運行順序,也描述程序運行過程中的所有可能發(fā)生的狀況。開始8051初使化主干道(南北方向)綠燈30秒主干道(南北方向)黃燈5秒支干道(東西方向)綠燈20秒支干道(東西方向)黃燈5秒N循環(huán)YNYNYNY六電路圖及仿真設(shè)計6.1設(shè)計完成原理圖如下在電路連接完成后,將寫好的程序放入單片機,運行。6.2實驗multisim仿真結(jié)果(1)在初始狀態(tài)南北綠燈,東西方向(支干道)紅燈,南北方向(主干道)綠燈持續(xù)時間為30s(2)南北(主干道)跳轉(zhuǎn)到黃燈5s,東西仍為紅燈(3)在南北轉(zhuǎn)換為紅燈的同時,東西燈轉(zhuǎn)換到綠燈持續(xù)20s;東西轉(zhuǎn)換為黃燈持續(xù)5s,南北紅燈不變;如此循環(huán),從而實現(xiàn)交通燈的作用。七總結(jié)回顧起此次單片機課程設(shè)計,我仍感慨頗多,學(xué)到了很多的東西。同時不僅鞏固了以前所學(xué)過的知識,而且還學(xué)到了很多在書本上所沒有學(xué)到過的知識。在實際設(shè)計中才發(fā)現(xiàn),書本上理論性的東西與在實際運用中的還是有一定的出入的,所以有些問題不但要深入地理解,而且要不斷地更正以前的錯誤思維。一切問題必須要靠自己一點一滴的解決,而在解決的過程當(dāng)中你會發(fā)現(xiàn)自己在飛速的提升。對于單片機設(shè)計,其硬件電路是比較簡單的,主要是解決程序設(shè)計中的問題,而程序設(shè)計是一個很靈活的東西,它反映了你解決問題的邏輯思維和創(chuàng)新能力,它才是一個設(shè)計的靈魂所在。因此可以說單片機的設(shè)計是軟件和硬件的結(jié)合,二者是密不可分的。通過這次課程設(shè)計我發(fā)現(xiàn)單片機原理應(yīng)用行很強,只有老師的講解不行,只看也不中,只有自己動手去做才會發(fā)現(xiàn)自己確實有太多的不足,許多的原理,程序看似簡單,真正去做才知道知識并沒有自己想象的那樣扎實。從而懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。樹立了對自己工作能力的信心,相信會對今后的學(xué)習(xí)工作生活有非常重要的影響。而且大大提高了動手的能力,使我充分體會到了在創(chuàng)造過程中探索的艱難和成功時的喜悅。八源程序ORG 0000H SJMP A3 ORG 0030H A3: MOV SP,#60H ;設(shè)棧指針初值 MOV A, #24H MOV P1, A SETB P3.2 CLR P3.3CLR P3.4SETB P3.5 ;全部紅燈亮 MOV R4,#00H ;顯示0秒 MOV R7,#00H ;顯示0秒 MOV R2,#03H LCALL XI ;調(diào)用子程序A2 : MOV A,#0CHMOV P1,A SETB P3.2SETB P3.3CLR P3.4 CLR P3.5 ;東西紅燈,南北綠燈 MOV R4,#1EH ; 顯示30秒LOOP2 : MOV R2,#03H LCALL XIDJNZ R4,LOOP2 ;判斷30秒顯示時間到否 MOV R2,#03H LCALL XILOOP8: MOV R2,#03H ;南北黃燈閃3次 LCALL XIMOV R4,#05H ;設(shè)南北黃燈亮長顯示5秒SETB P3.2CLR P3.3A1: MOV A,#14H MOV P1 ,A SETB P3.4 CLR P3.5 ;東西紅燈,南北黃燈 MOV R2,#01H ;定時 LCALL DELAY ;調(diào)用延時子程序 MOV A ,#04H MOV P1 ,A CLR P3.4 CLR P3.5 ;東西紅燈,南北不亮即意思要南北黃燈閃爍 MOV R2 ,#01H ;定時 LCALL DELAY DJNZ R4,LOOP8 ;判斷南北黃燈閃爍,顯示5秒到否? MOV A, #61H MOV P1,A CLR P3.2CLR P3.3CLR P3.4 SETB P3.5 ;東西綠燈,南北紅燈 MOV R4,#14H ;顯示20秒LOOP3: MOV R2,#03H LCALL XI DJNZ R4,LOOP3 ;判斷20秒顯示時間到否MOV R7,#05H ;設(shè)東西黃燈亮長顯示5秒 SETB P3.5A0: MOV A,#0A2H MOV P1,A CLR P3.2CLR P3.3CLR P3.4 ;東西黃燈,南北紅燈 MOV R2,#01H ;定時 LCALL DELAY MOV A,#20H ; MOV P1,A CLR P3.2CLR P3.3CLR P3.4 ;南北紅燈,東西不亮即意思要東西黃燈閃爍 MOV R2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論