交通燈控制系統(tǒng)設(shè)計(jì)_第1頁(yè)
交通燈控制系統(tǒng)設(shè)計(jì)_第2頁(yè)
交通燈控制系統(tǒng)設(shè)計(jì)_第3頁(yè)
交通燈控制系統(tǒng)設(shè)計(jì)_第4頁(yè)
交通燈控制系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩13頁(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、交通燈控制系統(tǒng)設(shè)計(jì) _交通燈控制系統(tǒng)設(shè)計(jì)_ -基于單片機(jī)MSP430實(shí)驗(yàn)結(jié)果總體設(shè)計(jì)設(shè)計(jì)指標(biāo)感想程序代碼設(shè)計(jì)要求設(shè)計(jì)目的摘 要 一個(gè)好的交通燈控制系統(tǒng),將給道路擁擠、違章控制等方面給予技術(shù)革新。隨著大規(guī)模集成電路及計(jì)算機(jī)技術(shù)的迅速發(fā)展,以及人工智能在控制技術(shù)方面的廣泛運(yùn)用,智能設(shè)備有了很大的發(fā)展,是現(xiàn)代科技發(fā)展的主流方向。基于MSP430單片機(jī)的交通控制系統(tǒng)以MSP430F149單片機(jī)為路口控制核心、液晶屏12864和LED燈作為顯示、驅(qū)動(dòng)電路與部分模擬器件構(gòu)成的一種電子產(chǎn)品。MSP430F149單片機(jī)為控制核心,能實(shí)時(shí)的進(jìn)行控制;此系統(tǒng)可以長(zhǎng)時(shí)間穩(wěn)定的運(yùn)行,可用于各種十字路口,進(jìn)行自動(dòng)的交通

2、控制,由于留有其它接口,可以很方便的進(jìn)行升級(jí)擴(kuò)展。 本設(shè)計(jì)實(shí)現(xiàn)的功能為:液晶屏上東西方向與南北方向的交通燈控制;液晶屏上交通燈的時(shí)間顯示;LED紅綠黃三種燈的交替發(fā)光;當(dāng)有救護(hù)車出現(xiàn)兩個(gè)方向的紅燈亮起。1.設(shè)計(jì)目的(1)學(xué)習(xí)MSP430 內(nèi)部定時(shí)器的原理及應(yīng)用。(2)掌握外部中斷技術(shù)的原理及應(yīng)用。(3)掌握獨(dú)立按鍵的識(shí)別方法及數(shù)碼顯示電路的設(shè)計(jì)。(4)了解Proteus 及IAR FOR 430(EW430)軟件的應(yīng)用。2.設(shè)計(jì)指標(biāo)(1)用發(fā)光二級(jí)管模擬東、西、南、北四個(gè)路口的交通信號(hào)燈。(2)在十字路口處,交通燈的基本變化規(guī)律為:當(dāng)東西方向放行、南北方向禁行時(shí),東西方向放行的總時(shí)間為30 s

3、,其中綠燈亮25 s,接著黃燈亮5 s 后,紅燈開(kāi)始點(diǎn)亮,東西方向禁行,南北方向又開(kāi)始放行。(3)用2 位數(shù)碼管進(jìn)行30 s 遞減時(shí)間顯示。(4)當(dāng)有急救車到達(dá)時(shí),路口的信號(hào)燈全部變紅,以便讓急救車通過(guò)。急救車通過(guò)的時(shí)間為10 s。3.設(shè)計(jì)要求(1)硬件設(shè)計(jì):設(shè)計(jì)電路原理圖,并進(jìn)行系統(tǒng)功能描述。(2)軟件設(shè)計(jì):設(shè)計(jì)程序流程圖并編制編程。(3)在軟件平臺(tái)中進(jìn)行仿真調(diào)試。(4)搭建實(shí)驗(yàn)電路,下載程序,進(jìn)行硬件調(diào)試。(5)整理實(shí)驗(yàn)報(bào)告,并對(duì)設(shè)計(jì)過(guò)程進(jìn)行歸納總結(jié)。4.總體設(shè)計(jì) 系統(tǒng)設(shè)計(jì)思路在硬件上,為了簡(jiǎn)潔,做成兩個(gè)部分。一方面在液晶屏上標(biāo)識(shí)東西方向和南北方向交通燈的狀態(tài)和時(shí)間倒數(shù),一方面用LED燈來(lái)

4、顯示十字路口燈的狀態(tài)。在液晶屏上面我們把顯示設(shè)置為十字路口的樣子,用_和來(lái)畫(huà)出路口,左上角和右上角顯示我們組的姓名,東西兩側(cè)中文顯示,路口處用“R”“Y”“G”來(lái)代表紅燈、黃燈和綠燈,旁邊來(lái)倒數(shù)顯示剩余通行時(shí)間。左下角和右下角顯示救護(hù)車的狀態(tài)(救護(hù)車出現(xiàn)coming和不在away)。此外我們將P1.2作為救護(hù)車信號(hào)的輸入端,LED燈方面設(shè)置P3.0,P3.1,P3.2作為南北方向的紅黃綠燈的輸出端口連接相應(yīng)的燈,同時(shí)P4.0,P4.1,P4.2作為東西方向的。而主程序中設(shè)置四種狀態(tài)。設(shè)計(jì)思路如下圖。LED燈顯示 液晶顯示屏顯示無(wú)救護(hù)車的四種狀態(tài)系統(tǒng)的主要組成 本系統(tǒng)主要包括單片機(jī)電路、1286

5、4液晶顯示電路以及LED數(shù)碼燈電路。 C語(yǔ)言部分設(shè)計(jì)1.中斷處理函數(shù):在該函數(shù)中每次循環(huán)一次,增加計(jì)數(shù)的data1,判斷data1的大小從而判斷處于哪種狀態(tài),從而對(duì)南北和東西方向的時(shí)間進(jìn)行記錄;2.主函數(shù)中進(jìn)行端口的初始化和其他函數(shù)(中斷函數(shù),初始化程序,漢字顯示函數(shù)等)的引用;3.輸入輸出端口的中斷函數(shù)對(duì)救護(hù)車來(lái)的情況進(jìn)行處理,并對(duì)顯示的時(shí)間和此時(shí)顯示的字符進(jìn)行定義,并定義輸出端口的高/低電平。MSP430單片機(jī)系統(tǒng)MSP430 是德州公司新開(kāi)發(fā)的一類具有16 位總線的帶FLASH 的單片機(jī),由于其性價(jià)比和集成度高,受到廣大技術(shù)開(kāi)發(fā)人員的青睞.它采用16 位的總線,外設(shè)和內(nèi)存統(tǒng)一編址,尋址范

6、圍可達(dá)64K,還可以外擴(kuò)展存儲(chǔ)器.具有統(tǒng)一的中斷管理,具有豐富的片上外圍模塊,片內(nèi)有精密硬件乘法器、兩個(gè)16 位定時(shí)器、一個(gè)14 路的12 位的模數(shù)轉(zhuǎn)換器、一個(gè)看門(mén)狗、6 路P 口、兩路USART通信端口、一個(gè)比較器、一個(gè)DCO 內(nèi)部振蕩器和兩個(gè)外部時(shí)鐘,支持8M 的時(shí)鐘.由于FLASH型,則可以在線對(duì)單片機(jī)進(jìn)行調(diào)試和下載,且JTAG 口直接和FET的相連,不須另外的仿真工具,方便實(shí)用,而且,可以在超低功耗模式下工作,對(duì)環(huán)境和人體的輻射小,測(cè)量結(jié)果為100mw 左右的功耗(電流為14mA 左右),可靠性能好,加強(qiáng)電干擾運(yùn)行不受影響,適應(yīng)工業(yè)級(jí)的運(yùn)行環(huán)境,適合與做手柄之類的自動(dòng)控制的設(shè)備.我們相

7、信MSP430 單片機(jī)將會(huì)在工程技術(shù)應(yīng)用中得以廣泛應(yīng)用,而且,它是通向DSP 系列的橋梁,隨著自動(dòng)控制的高速化和低功耗化 ,MSP430 系列將會(huì)得到越來(lái)越多人的喜愛(ài)。MSP430單片機(jī)的管腳圖如下:原理圖為:基于MSP430基本性質(zhì)的設(shè)計(jì)思路1. 時(shí)鐘部分,關(guān)閉看門(mén)狗,運(yùn)用time_A內(nèi)部的輸入時(shí)鐘源ACLK,并且選擇增計(jì)數(shù)模式,以一秒為基本時(shí)間單位;2. 通過(guò)計(jì)數(shù),if語(yǔ)句的選擇來(lái)定義四種狀態(tài);3. P1做為輸入端口,P3和P4作為輸出端口;所參考的資料一、MSP430單片機(jī)的端口概述 P1P6每組有8個(gè)I/O 口,P3,P4,P5,P6具有I/O,及其它片內(nèi)外設(shè)功能,每組具有4

8、個(gè)寄存器。P1,P2除具有上述功能外還具有中斷能力,每組具有7個(gè)寄存器。 二、PX端口 1. P1,P2端口 (1)PxDIR 輸入/輸出方向寄存器相互獨(dú)立的八位分別定義了Px7Px0,8個(gè)引腳的輸入輸出方向。 0 輸入模式,只能讀。 1 輸出模式,可讀可寫(xiě)。 8為在PUC后都被復(fù)位及置為0.  (2)PxIN 輸入寄存器 輸入寄存器是CPU掃描I/O引腳信號(hào)的只讀寄存器。用戶不能對(duì)它寫(xiě)入,只能通過(guò)讀取該寄存器中內(nèi)容知道I/O端口的輸入信號(hào)。此時(shí)引腳的方向必須選定為輸入。(3)PxOUT輸出寄存器

9、0;該寄存器為I/O端口的輸出緩沖寄存器??捎盟邪康牟僮鲾?shù)的指令修改,以達(dá)到改變I/O口狀態(tài)的目的。在讀取時(shí)輸出緩存的內(nèi)容與引腳方向定義無(wú)關(guān)。改變方向寄存器的內(nèi)容,輸出緩存的內(nèi)容不受影響。(4)PxIFG中斷標(biāo)志寄存器 0 表示沒(méi)有中斷請(qǐng)求 1 表示有中斷請(qǐng)求 中斷標(biāo)志PxIFG.0 PxIFG.7共用一個(gè)中斷向量,屬于多源中斷。當(dāng)對(duì)應(yīng)的I/O口有上升沿或下降沿出現(xiàn)時(shí),對(duì)應(yīng)的標(biāo)志位會(huì)置位,如果中斷允許而且系統(tǒng)總中斷允許,則表明在該引腳上有中斷事件發(fā)生,并執(zhí)行中斷處理程序。 (5)PxIE中斷使能寄存器 76543210PnIE.7PnIE

10、.6PnIE.5PnIE.4PnIE.3PnIE.2PnIE.1PnIE.00 禁止中斷 1 允許中斷 只有跳變才能引起中斷請(qǐng)求,而靜電平不能.(6)PxIES中斷觸發(fā)沿選擇寄存器 0 上升沿使相應(yīng)標(biāo)志位置位 1 下降沿使相應(yīng)標(biāo)志位置位 (7)PxSEL功能選擇寄存器 0 選擇引腳為I/O功能 1 選擇引腳為外圍模塊功能 單片機(jī)內(nèi)還有豐富的外圍模塊,這些模塊通常也需要和外界進(jìn)行通信,但是單片機(jī)的引腳有限,故采用P1和P2引腳復(fù)用的方法來(lái)實(shí)現(xiàn)。2. 端口P3,P4,P5,P6 (1)端口P3,P4,P5,P

11、6除沒(méi)有中斷能力外,其余功能和P1,P2相同,包括輸入輸出功能和外圍模塊功能。 (2)由于端口P3,P4,P5,P6沒(méi)有中斷能力,所以它們沒(méi)有和中斷相關(guān)的寄存器,每組端口有4個(gè)寄存器分別為:PxDIR 輸入/輸出方向寄存器,PxIN 輸入寄存器,PxOUT輸入寄存器,PxSEL功能選擇寄存器。 Timer_A定時(shí)器: 注:MSP430有兩個(gè)16位定時(shí)器Timer_A和Timer_B.二者基本相同。主要有TACTL,TAR,CCTL0,CCR0,CCTL1,CCR1,CCTL2,CCR2,TAIV幾個(gè)寄存器。(1.)TACLK 控制寄存器15109876543210

12、0未用SSEL1SSEL0ID1ID0MC1MC0未用CLRTAIETAIFGSSEL1,SSEL0選擇輸入分頻器的輸入時(shí)鐘源SSEL1SSEL0輸入時(shí)鐘源 說(shuō)明00TACLK使用外部引腳信號(hào)作為輸入01ACLK輔助時(shí)鐘10MCLK系統(tǒng)主時(shí)鐘11INCLK外部輸入時(shí)鐘ID1,ID0 選擇輸入分頻器的分頻系數(shù)MC1,MC0選擇定時(shí)器工作模式CLR 定時(shí)器清除位,計(jì)數(shù)器內(nèi)容清零TAIE 中斷允許位,允許定時(shí)器溢出中斷TAIFG 定時(shí)器溢出標(biāo)志位,在不同定時(shí)器工作模式下,該位置位條件不一樣。  LCD顯示本次采用的LCD顯示屏為L(zhǎng)CD12864。帶中文字庫(kù)的128X64是一種具有

13、4 位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國(guó)標(biāo)一級(jí)、二級(jí)簡(jiǎn)體 中文字庫(kù)的點(diǎn)陣圖形液晶顯示模塊;其顯示分辨率為128×64, 內(nèi)置8192個(gè)16*16 點(diǎn)漢字,和128個(gè)16*8點(diǎn)ASCII 字符集。利用該模塊靈活的接口方式和簡(jiǎn)單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面??梢燥@示8×4行16×16 點(diǎn)陣的漢字。也可完成圖形顯示。低電壓低功耗是其又一顯著特點(diǎn)。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點(diǎn)陣液晶 顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡(jiǎn)潔得多,且該模塊的價(jià)格也略低于相同點(diǎn)陣的圖形液晶模塊。12864芯片主要用于顯示時(shí)間和定時(shí)時(shí)間。由

14、點(diǎn)陣字符液晶顯示器件和專用的行、列驅(qū)動(dòng)器、控制及必要的鏈接件、結(jié)構(gòu)件組裝而成,可以顯示數(shù)字和西文字符,但不能顯示圖形,已經(jīng)可以滿足本次設(shè)計(jì)的需要。運(yùn)用:在工程中添加芯片漢字顯示的C語(yǔ)言文件,然后在main.c中引用該函數(shù),從而顯示需要在液晶屏上顯示的內(nèi)容。顯示電路 單片機(jī)應(yīng)用系統(tǒng)中使用的顯示器主要有發(fā)光二極管LED液晶顯示器和液晶LCD顯示。因此LCD實(shí)現(xiàn)非常簡(jiǎn)單,只需要LCD模塊就可以實(shí)現(xiàn)。LCD12864共有20個(gè)引腳,Vss為接地電源,Vcc、Vee接+5V的電源。RS為寄存器選擇,高電平時(shí),選擇數(shù)據(jù)寄存器;低電平時(shí),選擇指令寄存器。當(dāng)RS和RW共同為低電平時(shí),進(jìn)行讀操作,低電平時(shí),進(jìn)行

15、寫(xiě)操作。當(dāng)RS和RW共同為低電平時(shí),可以寫(xiě)入指令或者顯示地址,當(dāng)RS為低電平、RW為高電平時(shí),可以讀忙信號(hào),當(dāng)RS為高電平、RW為低電平,可以寫(xiě)入數(shù)據(jù)。E為使能端,A和K用于帶背光模塊,不帶背光模塊。DB0-DB7為8位雙向數(shù)據(jù)線。下圖為顯示模塊流程圖:5程序代碼#include "msp430.h"#include "cry12864.h"#include "cry12864.C"unsigned char hang1 = " |00| "unsigned char hang2 = "西 U 東&quo

16、t;unsigned char hang3 = "00U_ U _00U"unsigned char hang4 = "救護(hù)車|00| "unsigned char hangData="0123456789"unsigned char DispArray2; void timerA0_init(void);unsigned char data1,state,dataWE,dataNS;unsigned char AmbulanceFlag=0; /救護(hù)車的標(biāo)志 void sys_init(void); /系統(tǒng)初始化void inter

17、rupt_handler(void); /中斷處理函數(shù)void interrupt_handler(void) if(data1<26) state=0; dataWE=31-data1; dataNS=26-data1; else if(data1<31) state=1; dataWE=31-data1; dataNS=31-data1; else if(data1<56) state=2; dataWE=56-data1; dataNS=61-data1; else if(data1<61) state=3; dataWE=61-data1; dataNS=61-

18、data1; if(data1>=60)data1=0;void main( void ) P1DIR = 0XFF;P1OUT = 0XFF; /*六行程序關(guān)閉所有的IO口*/ P2DIR = 0XFF;P2OUT = 0XFF; P3DIR = 0XFF;P3OUT = 0XFF; P4DIR = 0XFF;P4OUT = 0XFF; P5DIR = 0XFF;P5OUT = 0XFF; P6DIR = 0XFF;P6OUT = 0XFF; WDTCTL = WDTPW + WDTHOLD; /設(shè)置控制寄存器,關(guān)閉看門(mén)狗 Ini_Lcd(); /初始化液晶 timerA0_init(

19、); /定時(shí)器初始化 Disp_HZ(0x80,hang1,8); /顯示第一行內(nèi)容 Disp_HZ(0x90,hang2,8); / 二 Disp_HZ(0x88,hang3,8); / 三 Disp_HZ(0x98,hang4,8); P1DIR &=0x04; /P1.0輸入 P1IE |=0x04; /P1.0中斷使能 P1IES |=0x04; /P1.0下降沿觸發(fā)中斷 P1IFG =0x00; /P1.0中斷標(biāo)志設(shè)為0 while(1); # pragma vector=PORT1_VECTOR /IO中斷程序_interrupt void Amb(void) P1IFG

20、= 0x00; AmbulanceFlag=1; #pragma vector=TIMERA0_VECTOR /定時(shí)器TIMERA0的中斷程序_interrupt void _A(void) static unsigned char cnt=11; CCR0=32768; if(AmbulanceFlag=1) /救護(hù)車來(lái)啦的計(jì)時(shí)程序 cnt-; if(cnt=0) /倒計(jì)時(shí)十秒 AmbulanceFlag=0; cnt=11; DispArray0=cnt; DispArray1=cnt; else interrupt_handler(); /中斷處理程序 if(AmbulanceFlag=

21、0) /沒(méi)有救護(hù)車的情況 hang30=hangDatadataWE/10; /顯示南北方向的燈控時(shí)間 hang31=hangDatadataWE%10; hang313=hangDatadataWE/10; /顯示東西方向的燈控時(shí)間 hang314=hangDatadataWE%10; hang17=hangDatadataNS/10; hang18=hangDatadataNS%10; hang47=hangDatadataNS/10; hang48=hangDatadataNS%10; else /救護(hù)車來(lái)了以后的顯示程序 hang30=hangDatacnt/10; hang31=ha

22、ngDatacnt%10; hang313=hangDatacnt/10; hang314=hangDatacnt%10; hang17=hangDatacnt/10; hang18=hangDatacnt%10; hang47=hangDatacnt/10; hang48=hangDatacnt%10; switch (state) /對(duì)紅綠燈進(jìn)行字符轉(zhuǎn)換以顯示于LCD上 case 0: hang28='G' hang38='G' hang32='R' hang315='R' break; case 1: hang28='

23、;Y' hang38='Y' break; case 2: hang28='R' hang38='R' hang32='G' hang315='G' break; case 3: hang32='Y' hang315='Y' break; if(AmbulanceFlag=1) /救護(hù)車的顯示 hang28='R' hang38='R' hang32='R' hang315='R' hang410='C&

24、#39;/COMING hang411='o' hang412='m' hang413='i' hang414='n' hang415='g' else hang410='A' /AWAY hang411='w' hang412='a' hang413='y' hang414=' ' hang415=' ' if(hang32='R') P4OUT=BIT0; P4OUT&=BIT1; P4OUT

25、&=BIT2; if(hang32='Y') P4OUT|=BIT1; P4OUT&=BIT0; P4OUT&=BIT2; if(hang32='G') P4OUT|=BIT2; P4OUT&=BIT1; P4OUT&=BIT0; if(hang28='R') P3OUT=BIT0; P3OUT&=BIT1; P3OUT&=BIT2; if(hang28='Y') P3OUT|=BIT1; P3OUT&=BIT0; P3OUT&=BIT2; if(hang28='G') P3OUT|=BIT2; P3OUT&=BIT1; P3OUT&=BIT0; Ini_Lcd(); /初始化液晶 Disp_HZ(0x80,hang1,8); Disp_HZ(0x90,hang2,8); Disp_HZ(0x88,hang3,8); Disp_HZ(0x98,ha

溫馨提示

  • 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)論