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

下載本文檔

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

文檔簡介

1、課程設(shè)計報告2021 2021學年第丄學期課程名稱 51單片機交通燈程序設(shè)計設(shè)計題目交通燈學生姓名學 號專業(yè)班級指導教師一. 前言 3二. 功能概述 3三. 設(shè)計思路 3四. 硬件介紹 4五. 軟件程序設(shè)計 7六. 電路圖及仿真實現(xiàn) 10七. 總結(jié) 11八. 源程序 12參考文獻 14一.前言近年來隨著科技的飛速開展,單片機的應用正在不斷深入,同時帶動傳統(tǒng)控 制檢測技術(shù)日益更新.在實時檢測和自動限制的單片機應用系統(tǒng)中, 單片機往往 作為一個核心部件來使用,僅單片機方面知識是不夠的,還應根據(jù)具體硬件結(jié)構(gòu) 軟硬件結(jié)合,加以完善.十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊.那么靠什 么

2、來實現(xiàn)這井然秩序呢?靠的就是交通信號燈的自動指揮系統(tǒng).交通信號燈限制方式很多,在學習了單片機的有關(guān)知識之后,運用相關(guān)知識來設(shè)計完成交通信號 燈.二.功能概述2.1設(shè)計任務:交通燈的硬件和軟件設(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ā)的完整過程,為我們今后從事相應 工作打下根底.二.設(shè)計思路交通燈的變化規(guī)律根據(jù)常規(guī)

3、我們假設(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ù)計時.四. 硬件介紹根底知識交通燈限制器實例主要使用了 89C51單片機的定時器/計數(shù)器,根底知識主要包括交通燈的變化規(guī)律、定時器/計數(shù)器的概念、定時器/計數(shù)器的相關(guān)存放 器、定時器/計數(shù)器的4種工作方式、以及

4、定時器/計數(shù)器的變成.4.1定時器/計數(shù)器定時器/計數(shù)器是單片機中最常用、最重要的功能模塊之一,本節(jié)通過交通燈控 制器實例來演示定時器的使用,并復習如何使用散轉(zhuǎn)程序.首先介紹交通燈以及定時器/計數(shù)器的根底知識, 成,然后逐步分析定時器的變成以及程序的全貌,4.2定時器/計數(shù)器的概念89C51單片機內(nèi)有兩個可編程的定時器/計數(shù)器當定時器/計數(shù)器用作“定時器時,每經(jīng)過1接著介紹本實例的硬件電路構(gòu) 最后總結(jié)一下本實例的技巧與TO、T1.個機器周期12個時鐘周期, 計數(shù)器加1.當定時器/計數(shù)器用作“計數(shù)器時,計數(shù)器在對應的外部輸入管腳TO為P3.4 引腳,T1為P3.5引腳上每發(fā)生一次1到0的跳變時加

5、1.使用“計數(shù)器功 能時,外部輸入每個機器周期被采樣一次.當某一周期管腳狀態(tài)采樣為高電平而 下一周期采樣為低電平時,計數(shù)器加 1.由于檢測下降沿跳變需要兩個機器周期24個時鐘周期的時間,所以技術(shù)頻率最大值只能為時鐘周期的 1/24.計數(shù) 器對外部輸入信號的占空比并無限制,但為了保證給定的電平信號在其改變之前 至少被采樣一次,外部輸入信號必須至少保持一個完整的機器周期.4.3定時器/計數(shù)器的相關(guān)存放器與定時器/計數(shù)器相關(guān)的存放器有定時器/計數(shù)器工作方式存放器TMOD定時器/計數(shù)器限制存放器TCO TCON已經(jīng)在2.5節(jié)受控輸出實例中介紹過, 因此,在本例中主要介紹TMO存放器.定時器/計數(shù)器工作

6、方式存放器TMOD,字節(jié)地址89H,不可進行位尋址. 定時器/計數(shù)器工作方式存放器TMOP的8位分為兩組,高4位限制T1,低4 位限制TO.TMO每一位的功能如下.GATE門控位.GAT昌0,僅由運行限制位TRXX= 0,1= 1來啟動定時器/計數(shù)器運行;GAT昌1,由運行限制位TRX(X= 0,1)= 1和外部中斷引腳上的高電平共同來 啟動定時器/計數(shù)器運行.C/ T:定時器模式和計數(shù)器模式選擇位.C/ T= 0,為定時器模式;C/ T= 1,為計數(shù)器模式.M1、M0工作方式選擇位.M1 M0的4中編碼對應4種工作方式,對應關(guān)系見 表 2- 10.4.5定時器/計數(shù)器的4種工作方式定時器/計

7、數(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ù)器

8、.它由TLX和THX構(gòu)成, TLX計數(shù)溢出向THX進位,THX計數(shù)溢出置位TCON中溢出標志位TFXGATE位的狀態(tài)定時器/計數(shù)器運行限制取決于 TRX-個條件還是TRX和INTX引 腳這兩個條件.當GATE=0寸,那么只要TRX被置為1,定時器/計數(shù)器即被允許 計數(shù)(定時器/計數(shù)器的計數(shù)限制僅由 TRX的狀態(tài)確定,TRX=1計數(shù),TRX=0亭 止計數(shù)).當GATE=時,定時器/計數(shù)器是否計數(shù)由INTX輸入的電平和TRX的 狀態(tài)共同確定:當TRX=1且INTX=1時,才允許定時器/計數(shù)器計數(shù)(定時器 /計數(shù)器的計數(shù)限制由TRX和 INTX兩個條件限制).(3) 方式2定時器/計數(shù)器的工作方式0

9、和方式1再計數(shù)溢出后,計數(shù)器的值為0,需要通 過程序重新裝入計數(shù)初值.定時器/計數(shù)器的工作方式1稱為初值自動重裝的8位定時器/計數(shù)器.在該工 作方式下,TLX作為計數(shù)器,當TLX計數(shù)溢出時,在置1溢出標志TFX的同時, 還自動的將THX中的常數(shù)送至TLX使TLX從該常數(shù)開始重新計數(shù).這種工作方 式可以省去用戶軟件中重裝常數(shù)的程序,簡化定時常數(shù)的計算方法(確定計數(shù)初值),可以相當精確地確定定時時間.(4) 方式3工作方式3僅對定時器/計數(shù)器0有效,在該工作方式之下,定時器/計數(shù)器的0被拆成2個獨立的定時器/計數(shù)器:TL0、TF1.TL0使用T0的狀態(tài)限制C/T、 GATETR0 INT0,而TH

10、0被固定位一個8位定時器(不能作外部計數(shù)方式),并 使用定時器/計數(shù)器1的狀態(tài)限制位TR1、和TF1,同時占用定時器T1的中斷源. 此時,定時器/計數(shù)器1可設(shè)定為方式0、方式1和方式2,作為串行口的波特 率發(fā)生器.4.5定時器/計數(shù)器的編程(1) 初始化定時器/計數(shù)器的初始化編程包括以下幾個局部.根據(jù)要求給定時器/計數(shù)器方式存放器 (TMOP送一個方式限制字,以設(shè)定定時 器/計數(shù)器的工作方式.根據(jù)需要給TH和TL存放器送初值,以確定需要的定時時間或計數(shù)的初值.根據(jù)需要給中斷允許存放器(IE)送中斷限制字,以開放相應的中斷和設(shè)定中斷 優(yōu)先級.給Tcor存放器送命令字以啟動或禁止定時/計數(shù)器的運行

11、.(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ù)器,首先分定時器初 始化,定時器中斷效勞程序兩個局部介紹定時器計數(shù)器的軟件編程, 其次在畫出 程序流程圖的根底上編寫軟件程序,并給出完整的交通燈限制器程序?qū)嵗?5.1定時器初始化1. 定時25s 包括20s主干道紅燈且支干道

12、綠燈、主干道紅燈變綠燈前5s黃燈亮為了使定時器時間準確,防止由于定時器重裝而引起的累計誤差,應將定時 器設(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,自動 重裝入值為06耳T0-INIT;MOV TM0D,#00000010B ; 定時器 T0 工作方式 2M

13、OV 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 低八

14、位02HoT0-INIT;MOVTMOD,#00000000B ;定時器T0工作方式2MOVTH0,#0F5H;設(shè)定時器T0的高八位初始值MOVTL0,#02H;設(shè)定時器T0的低八位初始值MOVTCON,#00010000B ;定時器T0的使能SETBEA;中斷允許總限制位使能SETBET0;T0中斷使能RET3. 定時5s 5s黃燈下面計算定時器的初值.定時器初值TC=M-T/t=256-50/1=206 ,因此 TH0=0CEH,TL0=0CEH定時器初始化程序如下,定時器 T0設(shè)定為工作方式2,初始值為0CEH自 動重裝入值為0CEHT0-INIT;MOVTMOD,#00100000B

15、;定時器T1工作方式2MOVTH0,#0CEH;設(shè)定時器T1的初始值MOVTH0,#0CEH;設(shè)定時器T1的自動重裝值MOVTCON,#01000000B ;定時器T1的使能SETBEA;中斷允許總限制位使能SETBET1;T1中斷使能RET5.2定時器中斷效勞程序T0-INIT;DJNZ TIME-COUNT0,T0-INT-EXITMOV TIME-COUNT0,#250DJNZ TIME-C0UNT1, TO-INT-EXITMOV TIME-COUNT1,#8SETB SECOND-FLAG ;TO-INT-EXIT;RETI每0.25ms定時器中斷發(fā)生,程序跳轉(zhuǎn)到中斷效勞程序T0-I

16、NT開始執(zhí)行.中 斷效勞程序每次將定時器中斷計數(shù)變量減 1,但定時器中斷計數(shù)變量為0時,0.5s 定時時間到,將位變量SECOND-FLAG為1.定時器中斷效勞程序通過 RETI指令 返回,程序?qū)⑻D(zhuǎn)到進入中斷前的斷點繼續(xù)執(zhí)行.5.3程序流程圖程序較為簡單,可以直接進行程序的編寫,但本實例的程序流程比擬復雜, 在編寫程序前,應領(lǐng)先畫出程序流程圖.程序流程圖是描述程序運行流程的一種 圖表.它不僅描繪程序從頭到尾的運行順序, 也描述程序運行過程中的所有可能 發(fā)生的狀況.開始8051初使化N主干道4南北方綠燈30秒口Y口王干道南北方Y(jié)口黃燈5秒支干道東西方Y(jié)綠燈20秒支干道東西方向黃燈5秒循環(huán)六.

17、電路圖及仿真設(shè)計6.1設(shè)計完成原理圖如下在電路連接完成后,將寫好的程序放入單片機,運行.6.2實驗multisim 仿真結(jié)果1在初始狀態(tài)南北綠燈,東西方向支干道紅燈,南北方向主干道綠燈持續(xù)時間為30s43OAIJ2F0.wWi fJWi-miMir52 QM 他皿IJKiHHJ.MtIL9PZT.JB-(2)南北(主干道)跳轉(zhuǎn)到黃燈 5s,東西仍為紅燈LnaFiriHT -Tiwh-P卜 -hT -iatl-rcaul-Hai5ia luwur bhe ITT JI EBilh:2n I z J- i fc £-1 尸削"rH-A"r:< irnA nig

18、國 jf.0RUF員* l rTl<AIT.-i®- Lg tko "& -ipm-(3)在南北轉(zhuǎn)換為紅燈的同時,東西燈轉(zhuǎn)換到綠燈持續(xù)20s ;東西轉(zhuǎn)換為黃燈持續(xù)5s,南北紅燈不變;如此循環(huán),從而實現(xiàn)交通燈的作用.七. 總結(jié)回憶起此次單片機課程設(shè)計,我仍感慨頗多,學到了很多的東西.同時不僅 穩(wěn)固了以前所學過的知識,而且還學到了很多在書本上所沒有學到過的知識. 在 實際設(shè)計中才發(fā)現(xiàn),書本上理論性的東西與在實際運用中的還是有一定的出入 的,所以有些問題不但要深入地理解, 而且要不斷地更正以前的錯誤思維. 一切 問題必須要靠自己一點一滴的解決,而在解決的過程當中你會

19、發(fā)現(xiàn)自己在飛速的 提升.對于單片機設(shè)計,其硬件電路是比擬簡單的,主要是解決程序設(shè)計中的問 題,而程序設(shè)計是一個很靈活的東西,它反映了你解決問題的邏輯思維和創(chuàng)新能 力,它才是一個設(shè)計的靈魂所在.因此可以說單片機的設(shè)計是軟件和硬件的結(jié)合, 二者是密不可分的.通過這次課程設(shè)計我發(fā)現(xiàn)單片機原理應用行很強,只有老師的講解不行,只看也不中,只有自己動手去做才會發(fā)現(xiàn)自己確實有太多的缺乏,許多的原理,程序看似簡單,真正去做才知道知識并沒有自己想象的那樣扎實. 從而懂得了理論 與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識 與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會效勞,從而提升

20、自己的 實際動手水平和獨立思考的水平. 樹立了對自己工作水平的信心,相信會對今后 的學習工作生活有非常重要的影響. 而且大大提升了動手的水平,使我充分體會 到了在創(chuàng)造過程中探索的艱難和成功時的喜悅.八.源程序ORG0000HSJMPA3ORG0030HA3: MOVSP,#60H;設(shè)棧指針初值MOVA, #24HMOVP1, ASETBP3.2CLRP3.3CLRP3.4SETBP3.5;全部紅燈亮MOVR4,#00H;顯示0秒MOVR7,#00H;顯示0秒MOVR2,#03HLCALLXI;調(diào)用子程序A2 : MOVA,#0CHMOVP1,ASETBP3.2SETBP3.3CLRP3.4CL

21、RP3.5R4,#1EHLOOP2 : MOV R2,#03HLCALL XIMOV;東西紅燈,南北綠燈;顯示30秒DJNZR4,LOOP2;判斷30秒顯示時間到否MOVLCALLR2,#03HXI;南北黃燈閃3次LOOP8: MOV R2,#03HLCALL XIMOVMOVCLRA ,#04HP1 ,AP3.4CLRMOVP3.5R2 ,#01HLCALL DELAY東西紅燈,南北不亮即意思要南北黃燈閃爍 定時DJNZR4,L OOP8判斷南北黃燈閃爍,顯示 5秒到否?MOVA, #61HMOVR4,#05H;設(shè)南北黃燈亮長顯示SETBP3.2CLRP3.3/IOVA,#14HMOVP1 ,ASETBP3.4CLRP3.5;東西紅燈,南北黃燈MOVR2,#01H;定時調(diào)用延時子程序LCALLDELAY5秒A1:CLRP3.2CLRP3.3CLRP3.4SETBP3.5;東西綠燈,南北紅燈MOVP3R4,#14H;顯示20秒MOVR2,#03HLCALLXIDJNZR4, LOOP3;判斷20秒顯示時間到否MOVR7,#05H;設(shè)東西黃燈亮長顯示SETBP3.5MOVA,#0A2HMOVP1,AMOVP1,AAO:5秒CLRP3.3CLRP3.3CLRP3.4MOVLCALLR2,#0

溫馨提示

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

最新文檔

評論

0/150

提交評論