單片機(jī)課程設(shè)計(jì)1_第1頁(yè)
單片機(jī)課程設(shè)計(jì)1_第2頁(yè)
單片機(jī)課程設(shè)計(jì)1_第3頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、單片機(jī)原理及接口課程設(shè)計(jì)報(bào)告題目:十字路口交通燈模擬控制系統(tǒng)專業(yè)名稱:通信09班級(jí):1 班學(xué)號(hào): 6姓名:簡(jiǎn)必建2011 年 12月十字路口交通燈模擬控制系統(tǒng)簡(jiǎn)必建(電子信息工程系)中文摘要: 交通在人們的日常生活中占有重要的地位,隨著人們社會(huì)活動(dòng)的日益頻繁,這點(diǎn)更是體現(xiàn)的淋漓盡致。交通信號(hào)燈的出現(xiàn),使得交通得以有效管制,對(duì)于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。本系統(tǒng)采用單片機(jī)89c51 為中心器件來(lái)設(shè)計(jì)交通燈控制器, 系統(tǒng)實(shí)用性強(qiáng)、操作簡(jiǎn)單、拓展性強(qiáng)。本系統(tǒng)就是采用單片機(jī)模擬十字路口交通燈的狀態(tài)顯示以及倒計(jì)時(shí)。本設(shè)計(jì)系統(tǒng)由單片機(jī)I/O 口擴(kuò)展系統(tǒng)、交通燈狀態(tài)顯示系統(tǒng)、LE

2、D數(shù)碼顯示系統(tǒng)、等幾大部分組成。系統(tǒng)除基本的交通功能外還有倒計(jì)時(shí)功能,較好的模擬路口可能出現(xiàn)的狀況。軟件上采用C 語(yǔ)言編程,經(jīng)過(guò)整機(jī)調(diào)試,實(shí)現(xiàn)了對(duì)十字路口交通燈的模擬。關(guān)鍵詞:?jiǎn)纹瑱C(jī)交通燈闖紅燈檢測(cè)車流量二功能概述設(shè)計(jì)任務(wù) :交通燈的硬件和軟件設(shè)計(jì)設(shè)計(jì)目的1. 進(jìn)一步熟悉和掌握單片機(jī)的結(jié)構(gòu)和工作原理。2. 掌握單片機(jī)的接口技術(shù)及相關(guān)外圍芯片的外特性,控制方法。3. 通過(guò)課程設(shè)計(jì), 掌握以單片機(jī)為核心的電路設(shè)計(jì)的基本方法和技術(shù),了解有關(guān)電路參數(shù)的計(jì)算方法。4. 通過(guò)實(shí)際程序設(shè)計(jì)和調(diào)試,逐步掌握模塊化程序設(shè)計(jì)方法和調(diào)試技術(shù)。5. 通過(guò)完成一個(gè)包括電路設(shè)計(jì)和程序開(kāi)發(fā)的完整過(guò)程,為我們今后從事相應(yīng)工作

3、打下基礎(chǔ)。三設(shè)計(jì)思路交通燈的變化規(guī)律按照常規(guī)我們假設(shè)一個(gè)十字路口為東西南北走向。初始狀態(tài)為狀態(tài)1,南北方向綠燈通車,東西方向紅燈。經(jīng)過(guò)過(guò)一段時(shí)間(max-5)s 轉(zhuǎn)換狀態(tài)2,南北方向綠燈閃幾次轉(zhuǎn)亮黃燈,延時(shí) 5S,東西方向仍然紅燈。再轉(zhuǎn)換到狀態(tài)3,東西方向綠燈通車,南北方向紅燈。過(guò)一段時(shí)間( 25S)轉(zhuǎn)換到狀態(tài)4,東西方向綠燈閃幾次轉(zhuǎn)亮黃等,延時(shí)5S,南北方向仍然紅燈。最后循環(huán)至南北綠燈,東西紅燈。在這些狀態(tài)下,有時(shí)鐘倒數(shù)計(jì)時(shí)。表一交通燈變化流程25S5S25S5S。東西道紅燈亮紅燈亮綠燈亮黃燈閃爍。南北道綠燈亮黃燈閃爍紅燈亮紅燈亮。四硬件介紹基礎(chǔ)知識(shí)交通燈控制器實(shí)例主要使用了89C51 單片

4、機(jī)的定時(shí)器,基礎(chǔ)知識(shí)主要包括交通燈的變化規(guī)律、定時(shí)器概念和工作方式、以及數(shù)碼管的動(dòng)態(tài)顯示方式。定時(shí)器定時(shí)器是單片機(jī)中最常用、最重要的功能模塊之一,本節(jié)通過(guò)交通燈控制器實(shí)例來(lái)演示定時(shí)器的使用。首先介紹交通燈以及定時(shí)器計(jì)數(shù)器的基礎(chǔ)知識(shí),接著介紹本實(shí)例的硬件電路構(gòu)成,然后逐步分析定時(shí)器的變成以及程序的全貌,最后總結(jié)一下本實(shí)例的技巧與注意點(diǎn)。定時(shí)器計(jì)數(shù)器的概念89C51 單片機(jī)內(nèi)有兩個(gè)可編程的定時(shí)器計(jì)數(shù)器T0、 T1。當(dāng)定時(shí)器計(jì)數(shù)器用作“定時(shí)器”時(shí),每經(jīng)過(guò)1 個(gè)機(jī)器周期( 12 個(gè)時(shí)鐘周期) ,計(jì)數(shù)器加1。當(dāng)定時(shí)器計(jì)數(shù)器用作“計(jì)數(shù)器”時(shí),計(jì)數(shù)器在對(duì)應(yīng)的外部輸入管腳(T0 為引腳, T1 為引腳)上每發(fā)

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

6、。定時(shí)器計(jì)數(shù)器工作方式寄存器(TMOD),字節(jié)地址89H,不可進(jìn)行位尋址。定時(shí)器計(jì)數(shù)器工作方式寄存器( TMOD)的 8 位分為兩組,高4 位控制 T1,低 4 位控制 T0。TMOD每一位的功能如下。GATE:門控位。GATE 0,僅由運(yùn)行控制位TRX( X 0,1) 1 來(lái)啟動(dòng)定時(shí)器計(jì)數(shù)器運(yùn)行;GATE 1,由運(yùn)行控制位TRX( X0, 1) 1 和外部中斷引腳上的高電平共同來(lái)啟動(dòng)定時(shí)器計(jì)數(shù)器運(yùn)行。C T:定時(shí)器模式和計(jì)數(shù)器模式選擇位。C T 0,為定時(shí)器模式;C T 1,為計(jì)數(shù)器模式。M1、 M0:工作方式選擇位。M1、M0的 4 中編碼對(duì)應(yīng)4 種工作方式,對(duì)應(yīng)關(guān)系見(jiàn)表2 10。定時(shí)器計(jì)

7、數(shù)器的4 種工作方式定時(shí)器計(jì)數(shù)器的4 種工作方式下的邏輯結(jié)構(gòu)如表所示。表 2 定時(shí)器 / 計(jì)數(shù)器工作方式M1M2工作方式00方式 0,為 13位定時(shí)器 / 計(jì)數(shù)器01方式 1,為 16位定時(shí)器 / 計(jì)數(shù)器10方式 2,為初值自動(dòng)重裝的 8 位定時(shí)器 / 計(jì)數(shù)器11方式 3,僅 T0 有效,將 T0 分為兩個(gè)8 位定時(shí)器 / 計(jì)數(shù)器(1)方式 0。定時(shí)器計(jì)數(shù)器的工作方式0 稱為 13 位定時(shí)器計(jì)數(shù)器的。它由TLX的低 5 位和 TLX的 8位構(gòu)成 13 位的計(jì)數(shù)器, 此時(shí) TLX 的高 3 位未使用。 改工作方式是為了和 48 系列單片機(jī)兼容而設(shè)計(jì)的一種工作方式, 一般情況不使用方式0 進(jìn)行定時(shí)

8、計(jì)數(shù)。 方式 0 的控制方式與方式1 完全相同,下面重點(diǎn)介紹方式1 的控制方式。(2)方式 1定時(shí)器計(jì)數(shù)器的工作方式1 稱為 16 位定時(shí)器計(jì)數(shù)器。它由TLX 和 THX構(gòu)成, TLX 計(jì)數(shù)溢出向 THX進(jìn)位, THX計(jì)數(shù)溢出置位 TCON中溢出標(biāo)志位 TFX。GATE位的狀態(tài)定時(shí)器計(jì)數(shù)器運(yùn)行控制取決于TRX一個(gè)條件還是TRX和 INTX 引腳這兩個(gè)條件。當(dāng) GATE=0時(shí),則只要TRX被置為 1,定時(shí)器計(jì)數(shù)器即被允許計(jì)數(shù)(定時(shí)器計(jì)數(shù)器的計(jì)數(shù)控制僅由TRX的狀態(tài)確定, TRX=1計(jì)數(shù), TRX=0停止計(jì)數(shù))。當(dāng) GATE=1時(shí),定時(shí)器計(jì)數(shù)器是否計(jì)數(shù)由INTX 輸入的電平和TRX的狀態(tài)共同確定:

9、當(dāng)TRX=1,且 INTX=1 時(shí),才允許定時(shí)器計(jì)數(shù)器計(jì)數(shù)(定時(shí)器計(jì)數(shù)器的計(jì)數(shù)控制由TRX和 INTX 兩個(gè)條件控制) 。(3)方式 2定時(shí)器計(jì)數(shù)器的工作方式0 和方式 1 再計(jì)數(shù)溢出后,計(jì)數(shù)器的值為0,需要通過(guò)程序重新裝入計(jì)數(shù)初值。定時(shí)器計(jì)數(shù)器的工作方式1 稱為初值自動(dòng)重裝的8 位定時(shí)器計(jì)數(shù)器。在該工作方式下,TLX作為計(jì)數(shù)器,當(dāng)TLX 計(jì)數(shù)溢出時(shí),在置1 溢出標(biāo)志TFX的同時(shí),還自動(dòng)的將THX中的常數(shù)送至 TLX,使 TLX 從該常數(shù)開(kāi)始重新計(jì)數(shù)。這種工作方式可以省去用戶軟件中重裝常數(shù)的程序,簡(jiǎn)化定時(shí)常數(shù)的計(jì)算方法(確定計(jì)數(shù)初值),可以相當(dāng)精確地確定定時(shí)時(shí)間。(4)方式 3工作方式 3 僅

10、對(duì)定時(shí)器計(jì)數(shù)器 0 有效,在該工作方式之下,定時(shí)器計(jì)數(shù)器的0被拆成 2個(gè)獨(dú)立的定時(shí)器計(jì)數(shù)器: TL0、TF1。TL0 使用 T0 的狀態(tài)控制 C T、GATE、TR0、INT0,而TH0 被固定位一個(gè) 8 位定時(shí)器(不能作外部計(jì)數(shù)方式) ,并使用定時(shí)器計(jì)數(shù)器1 的狀態(tài)控制位 TR1、和 TF1,同時(shí)占用定時(shí)器T1 的中斷源。 此時(shí),定時(shí)器計(jì)數(shù)器1 可設(shè)定為方式0、方式 1 和方式 2,作為串行口的波特率發(fā)生器。定時(shí)器計(jì)數(shù)器的編程( 1)初始化定時(shí)器計(jì)數(shù)器的初始化編程包括以下幾個(gè)部分。根據(jù)要求給定時(shí)器計(jì)數(shù)器方式寄存器( TMOD)送一個(gè)方式控制字,以設(shè)定定時(shí)器計(jì)數(shù)器的工作方式。根據(jù)需要給TH 和

11、 TL 寄存器送初值,以確定需要的定時(shí)時(shí)間或計(jì)數(shù)的初值。根據(jù)需要給中斷允許寄存器(IE )送中斷控制字,以開(kāi)放相應(yīng)的中斷和設(shè)定中斷優(yōu)先級(jí)。給 TCON寄存器送命令字以啟動(dòng)或禁止定時(shí)計(jì)數(shù)器的運(yùn)行。(2)定時(shí)器計(jì)數(shù)器初值的計(jì)算。計(jì)數(shù)器初值:設(shè)計(jì)算器的模值位M,所需的計(jì)數(shù)值為C,計(jì)數(shù)初值設(shè)定為TC,則 TC=M-C (M 等于 2 的 13次方, 16次方, 8 次方)。定時(shí)器初值:設(shè)定時(shí)器的模值為M,需要的定時(shí)時(shí)間為T,定時(shí)器的初值設(shè)定為TC,則 TC=M-T/t (M等于2 的 13 次方, 16 次方, 8 次方)。五軟件程序設(shè)計(jì)交通燈控制器實(shí)例使用了89C51 單片機(jī)的定時(shí)器,首先分定時(shí)器初

12、始化,定時(shí)器中斷服務(wù)程序兩個(gè)部分介紹定時(shí)器計(jì)數(shù)器的軟件編程,其次在畫(huà)出程序流程圖的基礎(chǔ)上編寫(xiě)軟件程序,并給出完整的交通燈控制器程序?qū)嵗?。定時(shí)器初始化為了使定時(shí)器時(shí)間準(zhǔn)確,避免因?yàn)槎〞r(shí)器重裝而引起的累計(jì)誤差,應(yīng)將定時(shí)器設(shè)置為初值自動(dòng)裝置的8 位定時(shí)器 / 計(jì)數(shù)器,即定時(shí)器工作在工作方式2. 在 12MHz晶振條件下,8 位定時(shí)器的最長(zhǎng)定時(shí)時(shí)間是,為了方便計(jì)算取定時(shí)時(shí)間為,所以,定時(shí)需要定時(shí)器中斷2000 次。下面計(jì)算定時(shí)器的初值。定時(shí)器初值TH0=(65536-50000)/256;TL0=(65536-50000)%256;定時(shí)器中斷服務(wù)程序void time() interrupt 1TH0

13、=(65536-50000)/256;TL0=(65536-50000)%256;i+;if(i=10)i=0;num+;if(num=2*max)num=0;flag=flag;每定時(shí)器中斷發(fā)生,num+1,程序跳轉(zhuǎn)到中斷服務(wù)程序T0-INT開(kāi)始執(zhí)行。 中斷服務(wù)程序每次將定時(shí)器中斷計(jì)數(shù)變量減1,但定時(shí)器中斷計(jì)數(shù)變量為0 時(shí),定時(shí)時(shí)間到,將位變量SECOND-FLAG置為1. 定時(shí)器中斷服務(wù)程序通過(guò)RETI 指令返回,程序?qū)⑻D(zhuǎn)到進(jìn)入中斷前的斷點(diǎn)繼續(xù)執(zhí)行。六電路圖及仿真設(shè)計(jì)手動(dòng)調(diào)時(shí)圖 1設(shè)計(jì)完成原理圖如下在電路連接完成后,將寫(xiě)好的程序放入單片機(jī),運(yùn)行。圖 2電路原理圖在初始狀態(tài)南北綠燈,東西紅

14、燈,持續(xù)時(shí)間為25s圖 3初始狀態(tài)南北跳轉(zhuǎn)到黃燈5s,東西仍為紅燈圖4轉(zhuǎn)為狀態(tài)2在南北轉(zhuǎn)換為紅燈的同時(shí),東西燈轉(zhuǎn)換到綠燈持續(xù)25s 。圖5轉(zhuǎn)為狀態(tài)3東西轉(zhuǎn)換為黃燈持續(xù)5s,南北紅燈不變;如此循環(huán),從而實(shí)現(xiàn)交通燈的作用。圖6狀態(tài)4七總結(jié)本系統(tǒng)采用單片機(jī)89c51 為中心器件來(lái)設(shè)計(jì)交通燈控制器,系統(tǒng)實(shí)用性強(qiáng)、 操作簡(jiǎn)單、 拓展性強(qiáng)。本系統(tǒng)就是采用單片機(jī)模擬十字路口交通燈的狀態(tài)顯示以及倒計(jì)時(shí)。本設(shè)計(jì)系統(tǒng)由單片機(jī)I/O 口擴(kuò)展系統(tǒng)、交通燈狀態(tài)顯示系統(tǒng)、LED數(shù)碼顯示系統(tǒng)、等幾大部分組成。系統(tǒng)除基本的交通功能外還有倒計(jì)時(shí)功能,較好的模擬路口可能出現(xiàn)的狀況。軟件上采用C 語(yǔ)言編程,經(jīng)過(guò)整機(jī)調(diào)試,實(shí)現(xiàn)了對(duì)十

15、字路口交通燈的模擬?;仡櫰鸫舜螁纹瑱C(jī)課程設(shè)計(jì),我仍感慨頗多, 學(xué)到了很多的東西。同時(shí)不僅鞏固了以前所學(xué)過(guò)的知識(shí), 而且還學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。在實(shí)際設(shè)計(jì)中才發(fā)現(xiàn), 書(shū)本上理論性的東西與在實(shí)際運(yùn)用中的還是有一定的出入的,所以有些問(wèn)題不但要深入地理解,而且要不斷地更正以前的錯(cuò)誤思維。一切問(wèn)題必須要靠自己一點(diǎn)一滴的解決,而在解決的過(guò)程當(dāng)中你會(huì)發(fā)現(xiàn)自己在飛速的提升。對(duì)于單片機(jī)設(shè)計(jì), 其硬件電路是比較簡(jiǎn)單的, 主要是解決程序設(shè)計(jì)中的問(wèn)題, 而程序設(shè)計(jì)是一個(gè)很靈活的東西,它反映了你解決問(wèn)題的邏輯思維和創(chuàng)新能力, 它才是一個(gè)設(shè)計(jì)的靈魂所在。因此可以說(shuō)單片機(jī)的設(shè)計(jì)是軟件和硬件的結(jié)合,二者是密不

16、可分的。通過(guò)這次課程設(shè)計(jì)我發(fā)現(xiàn)單片機(jī)原理應(yīng)用行很強(qiáng),只有老師的講解不行,只看也不中,只有自己動(dòng)手去做才會(huì)發(fā)現(xiàn)自己確實(shí)有太多的不足,許多的原理, 程序看似簡(jiǎn)單, 真正去做才知道知識(shí)并沒(méi)有自己想象的那樣扎實(shí)。從而懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù), 從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。樹(shù)立了對(duì)自己工作能力的信心, 相信會(huì)對(duì)今后的學(xué)習(xí)工作生活有非常重要的影響。而且大大提高了動(dòng)手的能力,使我充分體會(huì)到了在創(chuàng)造過(guò)程中探索的艱難和成功時(shí)的喜悅。參考文獻(xiàn):【1】單片機(jī)的 C 語(yǔ)言應(yīng)用程序設(shè)計(jì)馬忠梅籍順

17、心北京航空航天大學(xué)出版社2007【2】51單片機(jī)應(yīng)用開(kāi)發(fā)案例精選王為青邱文勛人民郵電出版社2007【3】51系列單片機(jī)設(shè)計(jì)實(shí)例樓然苗李廣飛北京航空航天大學(xué)出版社2003【4】單片機(jī)原理與接口技術(shù)胡漢才清華大學(xué)出版社2006【5】單片機(jī)原理與應(yīng)用丁元杰機(jī)械工業(yè)出版社2007附程序:#include<>#define uchar unsigned char #define uint unsigned intsbit kai=P30;sbit jia=P31;sbit jian=P32;bit guan=1,flag=0,ci=0;uchar code table= 0xc0,0xf9,

18、0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90;uchar i,num;uchar max=30;void delay(uchar z)uchar x,y;for(x=0;x<z;x+)for(y=0;y<110;y+);void key()while(!kai)delay(10);if(!kai) guan=guan;while(!kai);void tiao()bit sub,add;if(bit)(P3&0x02)=0)delay(5);if(bit)(P3&0x02)=0)add=(bit)(P3&0x02);max

19、+;if(max>30)max=30;while(!add)void main()add=(bit)(P3&0x02);TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;while(1)if(bit)(P3&0x04)=0)key();delay(5);if(guan)if(bit)(P3&0x04)=0)ET0=1;TR0=1;sub=(bit)(P3&0x04);if(!flag)max-;if(max<6)if(num<2*(max-5)max=6;while(!sub)P2=0xde;P0=0XF2;sub=(bit)(P3&0x04);P1=table(max-num/2)/10;delay(1);P1=0xff;P0=0xf1;P1=table(max-num/2)%10;delay(1);P1=0x

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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)論