欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      華南理工大學(xué)簡易交通燈控制電路的設(shè)計(jì)

      時(shí)間:2019-05-13 22:54:31下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《華南理工大學(xué)簡易交通燈控制電路的設(shè)計(jì)》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《華南理工大學(xué)簡易交通燈控制電路的設(shè)計(jì)》。

      第一篇:華南理工大學(xué)簡易交通燈控制電路的設(shè)計(jì)

      簡易交通燈控制電路的設(shè)計(jì)

      一、設(shè)計(jì)題目

      題目一:在某交叉路口的南北方向設(shè)置有紅燈(A1)、黃燈(B1)、綠燈C1),東西方向也設(shè)置有紅燈(A2)、黃燈(B 2)、綠燈(C2)。紅燈亮是停車信號,綠燈亮是通車信號,黃燈亮是右轉(zhuǎn)彎信號。根據(jù)交通規(guī)則,上述信號燈應(yīng)按下圖流程循環(huán)。試用三個(gè) JK 觸發(fā)器構(gòu)成一個(gè)同步二進(jìn)制計(jì)數(shù)器,并將其輸出信號 Q3、Q2、Q1 譯碼后啟動紅、黃、綠信號燈,使其按圖5.2.1 流程循環(huán)。(譯碼電路全部用與非門實(shí)現(xiàn))。

      二、原理推導(dǎo) 1、列真值表

      第二篇:基于FPGA的交通燈控制電路設(shè)計(jì)

      基于FPGA的交通燈控制電路設(shè)計(jì)

      關(guān)鍵字: 交通信號機(jī) FPGA 脈沖發(fā)生器

      目前交通燈廣泛應(yīng)用于道路交通建設(shè)中。本文設(shè)計(jì)一個(gè)十字路口交通燈控制電路,要求東西、南北兩條干道的紅、綠、黃交通燈按要求循環(huán)變化,并以倒計(jì)時(shí)方式指示干道通行或禁止的維持時(shí)間。在QuartusⅡ軟件環(huán)境中設(shè)計(jì)、仿真,并在FPGA實(shí)驗(yàn)板上實(shí)現(xiàn)所設(shè)計(jì)電路的功能。

      系統(tǒng)概述

      1.1 設(shè)計(jì)思想

      基于FPGA的交通燈系統(tǒng)控制設(shè)計(jì)包括4大模塊,分別為脈沖發(fā)生、狀態(tài)定時(shí)、交通燈閃爍的控制、閃爍時(shí)間的控制,基本原理如圖1所示。

      1.2 總體工作情況

      交通燈控制要求如表1所示。

      該設(shè)計(jì)的交通燈控制分為6個(gè)狀態(tài)。由于各狀態(tài)持續(xù)時(shí)間不同,所以電路的核心控制部分是狀態(tài)機(jī)和定時(shí)器,狀態(tài)機(jī)在定時(shí)器觸發(fā)下周期性循環(huán),狀態(tài)碼控制6個(gè)燈以一定的規(guī)律變化。變化情況如圖2所示。

      系統(tǒng)脈沖由FPGA開發(fā)板晶振經(jīng)過分頻電路實(shí)現(xiàn)。狀態(tài)定時(shí)由74190可逆十進(jìn)制計(jì)數(shù)器和T’觸發(fā)器實(shí)現(xiàn),只要置數(shù)合理,翻轉(zhuǎn)信號到位,就可以使電路在東西(I)、南北(J)兩個(gè)控制狀態(tài)間翻轉(zhuǎn)。紅、黃、綠燈的閃爍由7485數(shù)字比較器和組合邏輯控制,其中7485數(shù)字比較器用于比較計(jì)數(shù)器當(dāng)前持續(xù)狀態(tài)和所需要的狀態(tài)全部時(shí)間,并做出相應(yīng)的變化。組合邏輯控制由AHDL文件編寫真值表實(shí)現(xiàn)。時(shí)間顯示由AHDL文件編寫真值表實(shí)現(xiàn),輸入正確的邏輯,七段譯碼電路即能得到正確的時(shí)間顯示。

      1.3 各功能的組成

      整個(gè)電路可以分為4大部分,包括脈沖發(fā)生、狀態(tài)定時(shí)、時(shí)間顯示和數(shù)字比較一組合邏輯控制。

      1.3.1 脈沖發(fā)生

      脈沖發(fā)生器為整個(gè)系統(tǒng)提供驅(qū)動,將輸入端分配給FPGA實(shí)驗(yàn)板的PIN55引腳,則會由實(shí)驗(yàn)板上產(chǎn)生頻率為10 MHz的輸入脈沖,用7片7490,每一級都構(gòu)成10分頻電路,使頻率從10 MHz降低為1Hz。

      1.3.2 狀態(tài)定時(shí)

      狀態(tài)定時(shí)可由預(yù)置BCD碼初值的74190級聯(lián)實(shí)現(xiàn),構(gòu)成減計(jì)數(shù)器。級聯(lián)原則是:低位計(jì)數(shù)器從全0狀態(tài)變?yōu)樽畲蟠a值狀態(tài)時(shí)可使高位計(jì)數(shù)器減1。級聯(lián)方式分為異步和同步兩種,本文采取的是異步級聯(lián)方式,即低位計(jì)數(shù)器溢出信號控制高位計(jì)數(shù)器的記數(shù)脈沖輸入端??筛鶕?jù)計(jì)數(shù)器的時(shí)鐘觸發(fā)方式,在低位計(jì)數(shù)器狀態(tài)碼從全“0”變?yōu)樽畲蟠a值的瞬間,為高位計(jì)數(shù)器提供有效的計(jì)數(shù)脈沖邊沿。具體做法是將低片位的溢出信號RCON端口接到高片位的計(jì)數(shù)脈沖CLK,實(shí)現(xiàn)兩位BCD碼的置數(shù)、翻轉(zhuǎn)和借位,使系統(tǒng)表示的數(shù)字能在22~16之間循環(huán)。

      74190功能說明:

      (1)GN為計(jì)數(shù)器使能控制端,低電平有效。當(dāng)GN為高電平時(shí),禁止計(jì)數(shù)。

      (2)DNUP為計(jì)數(shù)方式控制,接高電平為減計(jì)數(shù),接低電平為加計(jì)數(shù)。

      (3)LDN為異步預(yù)置數(shù)控制。當(dāng)LDN為低電平時(shí),計(jì)數(shù)器狀態(tài)QD,QC,QB,QA分別等于D,C,B,A。

      (4)計(jì)數(shù)器位序由高至低順序?yàn)镼D,QC,QB,QA。QD為最高位MSB,QA為最低位LSB。

      (5)計(jì)數(shù)脈沖CLK上升沿有效。

      (6)當(dāng)計(jì)數(shù)器輸出QDQCQBQA為十進(jìn)制加計(jì)數(shù)的最大狀態(tài)碼“1001”或?yàn)闇p計(jì)數(shù)的最小狀態(tài)碼全“0”時(shí),極值狀態(tài)碼指示MAX/MIN輸出為高電平。

      (7)當(dāng)極值狀態(tài)碼指示MAX/MIN為高電平且CLK為低電平時(shí),溢出信號RCON為低電平,即RCON與計(jì)數(shù)脈沖同步。

      系統(tǒng)記數(shù)脈沖為1 Hz時(shí),如表2所示,當(dāng)I狀態(tài)(東西控制狀態(tài))的定時(shí)時(shí)間為22 s,計(jì)數(shù)器應(yīng)該先預(yù)置22的BCD碼;同理,J狀態(tài)(南北控制狀態(tài))之前應(yīng)該預(yù)置16的BCD碼。

      狀態(tài)計(jì)時(shí)電路由兩片74190級聯(lián)而成,構(gòu)成22和16自翻轉(zhuǎn)的電路。其要解決的核心問題包括置數(shù),翻轉(zhuǎn)和借位。根據(jù)74190芯片的特點(diǎn),可分析其實(shí)現(xiàn)原理如圖4所示,通過溢出信號RCON的上升沿實(shí)現(xiàn)借位,使得數(shù)字能夠從20到19,個(gè)位向十位借位,順利過渡。

      置數(shù)和翻轉(zhuǎn)之間有先后關(guān)系,即須先置數(shù)后翻轉(zhuǎn)。如表3所示,分析兩個(gè)BCD碼各位特點(diǎn),可知兩者D7D6D3D0位均為1,D1位均為0,而D5D4D2位不同,如圖5,D5D4D2位由狀態(tài)電平S來控制,當(dāng)為I狀態(tài)時(shí),計(jì)數(shù)器的預(yù)置的數(shù)為D5=0,D4=D2=1,而為J狀態(tài)時(shí),計(jì)數(shù)器的預(yù)置的數(shù)為D5=1,D4=D2=0,根據(jù)74190的功能,將2片74190的MAX/MIN引出,通過與非門,分別連在高位和低位的LDN置數(shù)端,通過分析可知,當(dāng)計(jì)數(shù)器從01減到00時(shí)候,高低位的MAX/MIN均為高電平,經(jīng)過與非門以后為低電平,74190被置數(shù),其置數(shù)值由狀態(tài)S來決定,S是由LDN端信號經(jīng)過一個(gè)T’觸發(fā)器決定的,即LDN信號每置數(shù)一次,S翻轉(zhuǎn)1次,從而區(qū)分16和22狀態(tài)。按這個(gè)結(jié)構(gòu),可分別置數(shù)16和22,使其實(shí)現(xiàn)自翻轉(zhuǎn)。

      圖5為狀態(tài)定時(shí)模塊的實(shí)際連接圖。

      1.3.3 時(shí)間顯示

      時(shí)間顯示要用到7段顯示譯碼電路,由于是兩位BCD碼,故用二選一數(shù)據(jù)選擇器。選擇端S接一個(gè)頻率很高的方波(如1 kHz);數(shù)據(jù)比較器的輸出和1 Hz脈沖作為AHDL模塊的輸入,即可正確顯示時(shí)間。

      為正確顯示時(shí)間,用AHDL文件自編譯碼真值表如下:

      1.3.4 數(shù)字比較一組合邏輯控制

      該模塊將狀態(tài)定時(shí)模塊輸出的時(shí)間與時(shí)間節(jié)點(diǎn)進(jìn)行比較,從而確定電路處于22 s或者16 s的具體的某個(gè)狀態(tài)。由表1可知,東西(I)或南北(J)的控制狀態(tài)都有3個(gè)階段的控制邏輯,分別對應(yīng)3個(gè)時(shí)間段:1~3 s,4~6 s和大于6 s,因此,采用數(shù)字比較器進(jìn)行比較,確定定時(shí)值小于4 s或大于6 s,方法如圖7所示,采用4片7485數(shù)字比較器,兩兩級聯(lián),其中一個(gè)由狀態(tài)定時(shí)模塊的輸出與4即二進(jìn)制0100比較;另一個(gè)由狀態(tài)定時(shí)模塊的輸出與6即二進(jìn)制0110比較。

      編寫組合邏輯真值表,將狀態(tài)信號S,兩個(gè)數(shù)字比較器的輸出Y1,Y2和1 Hz脈沖作為輸入,各個(gè)燈的狀態(tài)作為輸出。從而根據(jù)邏輯關(guān)系得出對應(yīng)時(shí)間電路的狀態(tài),控制紅、黃、綠燈處于不同的狀態(tài)。S判斷電路處于22 s狀態(tài)還是16 s狀態(tài),Y1,Y2區(qū)分東西、南北六個(gè)階段狀態(tài),1 Hz脈沖實(shí)現(xiàn)綠燈閃爍。電路的組構(gòu)與調(diào)試

      來用QuartusⅡ軟件設(shè)計(jì)各個(gè)模塊,并進(jìn)行仿真。確認(rèn)結(jié)果后,下載至FPGA實(shí)驗(yàn)板中,進(jìn)行相應(yīng)的硬件調(diào)試,調(diào)試結(jié)果與仿真結(jié)果相一致。圖8為仿真波形,系統(tǒng)上電需要調(diào)整的過程,因此電路正常工作前重復(fù)了22s的狀態(tài)。

      第三篇:基于51單片機(jī)的交通燈控制電路設(shè)計(jì)

      交通燈

      一、功能要求

      要求甲車道和乙車道兩條交叉道路上的車輛交替運(yùn)行,每次通行時(shí)間都設(shè)為25秒,黃燈先亮5秒鐘,才能變換運(yùn)行車道;黃燈亮?xí)r,要求每秒鐘閃亮一次。

      二、電路圖

      說明:1)每一位數(shù)碼管位選要分開,對應(yīng)IO口參照程序中紅色部分 2)圖示數(shù)碼管為共陽,沒加驅(qū)動數(shù)碼管顯示較暗,建議加驅(qū)動

      三、程序

      //TrafficLight.c #include“reg52.h”

      //IO口定義 sbit red_1 =P2^0;//南北方向 sbit red_2 =P2^3;//東西方向 sbit yellow_1 =P2^1;sbit yellow_2 =P2^4;sbit green_1 =P2^2;sbit green_2 =P2^5;sbit com1_1 =P3^6;//十位 南北方向 數(shù)碼管位選 sbit com1_2 =P3^7;//個(gè)位 南北方向 sbit com2_1 =P3^4;//十位 東西方向 sbit com2_2 =P3^5;//個(gè)位 東西方向

      //全局變量 char time=30;//倒計(jì)時(shí)

      unsigned char num1=0,num2=0;//輔助計(jì)時(shí) unsigned char flag1=0,flag2=0;//黃燈閃標(biāo)志位 unsigned char shi1,shi2,ge1,ge2;//數(shù)碼管十位個(gè)位

      const unsigned char ledNum[] =

      {// 0 1

      A

      b

      c

      d

      E

      F

      不顯示-o(18)H(19)h(20)C(21)0(22)n(23)0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xA7,0xA1,0x86,0x8e,0xFF,0xbf,0xa3,0x89,0x8b,0xc6,0xc0,0xab };//共陽數(shù)碼管

      //中斷優(yōu)先級別T0>T1,數(shù)碼管顯示中斷間隔2ms,計(jì)時(shí)時(shí)間間隔50ms //計(jì)時(shí)要求比較精確,間隔長,不應(yīng)該被打斷,故中斷優(yōu)先級要高,使用T0 //數(shù)碼管中斷可以被打斷,打斷時(shí)間較短,不會影響顯示,使用T1 //在交通燈中,計(jì)時(shí)和數(shù)碼管顯示一直進(jìn)行,故定時(shí)器開啟后不用停止 void InitInter(void){ TMOD=0x11;//設(shè)置定時(shí)器工作方式為16位計(jì)時(shí)器

      TH0=(65535-45872)/256;//11.0592M晶振,50ms TL0=(65535-45872)%256;TH1=(65535-1835)/256;//11.0592M晶振,2ms TL1=(65535-1835)%256;EA=1;ET0=1;ET1=1;TR0=1;TR1=1;}

      void Display(void){ static unsigned char i=1;

      switch(i){ case 1:

      com2_2=0;

      P0=ledNum[shi1];

      com1_1=1;

      break;case 2:

      com1_1=0;

      P0=ledNum[ge1];

      com1_2=1;

      break;case 3:

      com1_2=0;

      P0=ledNum[shi2];

      com2_1=1;

      break;case 4:

      com2_1=0;

      P0=ledNum[ge2];

      com2_2=1;

      break;

      default:;}

      i++;if(i>4)i=1;}

      //紅燈可以直接變成綠燈,但綠燈必須先變成黃燈再變紅燈 void main(void){ bit i=0;InitInter();

      while(1){

      red_1=0;//0為亮

      red_2=1;

      green_2=0;

      time=30;

      while(time>5)

      {

      shi1=time/10;

      ge1=time%10;

      shi2=(time-5)/10;

      ge2=(time-5)%10;

      }

      green_2=1;

      yellow_2=0;

      flag2=1;

      num2=0;

      while(time>0)

      {

      shi1=time/10;

      ge1=time%10;

      shi2=time/10;

      ge2=time%10;

      }

      flag2=0;

      yellow_2=1;

      red_2=0;

      red_1=1;

      green_1=0;

      time=30;

      while(time>5)

      {

      shi2=time/10;

      ge2=time%10;

      shi1=(time-5)/10;

      ge1=(time-5)%10;

      }

      green_1=1;

      yellow_1=0;

      flag1=1;

      num2=0;

      while(time>0)

      {

      shi2=time/10;

      ge2=time%10;

      shi1=time/10;

      ge1=time%10;

      }

      flag1=0;

      yellow_1=1;

      //red_1=0;

      //green_2=0;} } void Timer_0(void)interrupt 1//計(jì)時(shí) { TH0=(65535-45872)/256;TL0=(65535-45872)%256;num1++;if(num1>=20){

      num1=0;

      time--;

      //if(time<0)time=30;

      //處理time,顯示方式

      } if(flag1||flag2){

      num2++;

      if(num2>=10)

      {

      num2=0;

      if(flag1)yellow_1=~yellow_1;

      if(flag2)yellow_2=~yellow_2;

      } } }

      void Timer_1(void)interrupt 3 { TH1=(65535-1835)/256;//11.0592M晶振,2ms TL1=(65535-1835)%256;

      Display();}

      第四篇:課程設(shè)計(jì)任務(wù)書-24交通燈控制電路設(shè)計(jì)

      課程設(shè)計(jì)任務(wù)書

      題目:交通燈控制電路設(shè)計(jì)

      時(shí)間: 年 月 日—— 年 月 日

      設(shè)計(jì)的說明:

      本設(shè)計(jì)需要用到實(shí)驗(yàn)箱上交通燈模塊中的發(fā)光二極管,即紅、黃、綠各三個(gè)。依人們的交通常規(guī),“紅燈停,綠燈行,黃燈提醒”。交通燈顯示用實(shí)驗(yàn)箱的交通燈模塊和七段碼管中的任意兩個(gè)來顯示。系統(tǒng)時(shí)鐘選擇時(shí)鐘模塊的1KHz時(shí)鐘,黃燈閃爍時(shí)鐘要求為2Hz,七段碼管的時(shí)間顯示為1Hz 脈沖,即每1s 中遞減一次,在顯示時(shí)間小于3 秒的時(shí)候,通車方向的黃燈以2Hz 的頻率閃爍。系統(tǒng)中用S1 按鍵進(jìn)行復(fù)位。

      設(shè)計(jì)的任務(wù)和要求:

      1、在十字路口的兩個(gè)方向上各設(shè)一組紅、綠、黃燈;初始狀態(tài)是兩個(gè)路口的紅燈全亮之后,東西路口的綠燈亮,南北路口的紅燈亮,東西方向通車,延時(shí)一段時(shí)間后,東西路口綠燈滅,黃燈開始閃爍。閃爍若干次后,東西路口紅燈亮,而同時(shí)南北路口的綠燈亮,南北方向開始通車,延時(shí)一段時(shí)間后,南北路口的綠燈滅,黃燈開始閃爍。閃爍若干次后,再切換到東西路口方向,重復(fù)上述過程。

      2、設(shè)置數(shù)碼管顯示允許通行或者禁止通行的時(shí)間,東西路和南北路的通車時(shí)間均設(shè)定為20s。數(shù)碼管的時(shí)間總是顯示為19、18、17……2、1、0、19、18……。在顯示時(shí)間小于3 秒的時(shí)候,通車方向的黃燈閃爍。

      3、當(dāng)各條路中任意一條上出現(xiàn)特殊情況,如消防車、救護(hù)車或其他需要優(yōu)先放行的車輛時(shí),各方向上均是紅燈亮。倒計(jì)時(shí)停止,且顯示數(shù)字在閃爍。當(dāng)特殊運(yùn)行狀態(tài)結(jié)束后,控制器恢復(fù)原來狀態(tài),繼續(xù)正常運(yùn)行。

      4、要求對整體電路進(jìn)行仿真,提供仿真波形圖,并分析結(jié)果

      5、硬件測試結(jié)果用照片的形式記錄下來。

      提高部分:編寫能手動控制交通燈通行時(shí)間的交通燈控制器。

      指導(dǎo)教師:

      學(xué)生:

      日期:

      第五篇:交通燈控制邏輯電路設(shè)計(jì)與總結(jié)報(bào)告

      交通燈控制邏輯電路設(shè)計(jì)與總結(jié)報(bào)告

      一、設(shè)計(jì)任務(wù)

      用CPLD設(shè)計(jì)路口交通燈控制器

      二、設(shè)計(jì)要求

      1、滿足一下時(shí)序要求:南北方向紅燈亮,東西方向綠燈亮;南北方向綠燈亮,東西方向紅燈亮;

      2、每一方向的紅(綠)黃燈總共維持30秒;

      3、十字路口要有時(shí)間顯示,具體為:當(dāng)某一方向綠燈亮?xí)r,置顯示器為30秒,然后以每秒減一技術(shù)方式工作,直至減到數(shù)為4秒時(shí),紅綠燈熄滅,黃燈開始間隙閃耀4秒,減到0時(shí),紅綠燈交換,一次工作循環(huán)結(jié)束,進(jìn)入下一步另一方向的工作循環(huán);

      4、紅綠燈均采用發(fā)光二極管;

      5、設(shè)計(jì)由晶振電路產(chǎn)生1Hz標(biāo)準(zhǔn)秒信號的單元電路(實(shí)際秒脈沖由開發(fā)箱提供);

      6、要求對整體電路進(jìn)行仿真,觀察并記錄下仿真波形;

      7、選作部分:

      a、手動調(diào)整和自動控制,夜間為黃燈閃耀;

      b、白天黃燈亮?xí)r,以2Hz的速度閃爍點(diǎn)亮四秒; c、紅綠燈循環(huán)點(diǎn)亮?xí)r間可以自由修改。

      三、設(shè)計(jì)設(shè)備

      含有Quartus軟件的電腦一臺,可下載的試驗(yàn)臺;

      四、設(shè)計(jì)方法

      使用VHDL語言進(jìn)行程序的設(shè)計(jì)運(yùn)行和仿真,以及波形的運(yùn)行仿真,最后進(jìn)行下載仿真;

      五、方案論證

      方案1:把整個(gè)流程分成幾個(gè)進(jìn)程來做;

      方案2:每個(gè)進(jìn)程都使用if和case語句實(shí)現(xiàn)功能的實(shí)現(xiàn); 方案3:使用狀態(tài)機(jī)來實(shí)現(xiàn)狀態(tài)間的轉(zhuǎn)換;

      方案論證:

      1、要實(shí)現(xiàn)整個(gè)流程,需要做的輸出內(nèi)容類型不同,如果放在一個(gè)進(jìn)程里面就比較容易混淆,產(chǎn)生混亂。而采用分成幾個(gè)進(jìn)程來做的方式就明確了每個(gè)模塊的內(nèi)容和分工,使其調(diào)理清晰,一目了然;

      2、if語句是條件語句,是VHDL語言中常用的基本語句。該流程中的變量比較繁多,而使用case語句分情況列出來,簡潔明了。

      3、狀態(tài)機(jī)的使用格式簡潔,使用簡單方便,特別是在進(jìn)行狀態(tài)的轉(zhuǎn)換時(shí)候。并行的狀態(tài)轉(zhuǎn)換不易出錯(cuò),可將狀態(tài)轉(zhuǎn)換、賦值、計(jì)數(shù)等多個(gè)功能封裝在某一個(gè)狀態(tài)中,并且更加便于為系統(tǒng)添加新的狀態(tài)功能。

      方案選定:

      通過以上分析,確定用以上方案為本次設(shè)計(jì)的方案。

      六、工作原理

      先對所給時(shí)鐘脈沖進(jìn)行分頻到標(biāo)準(zhǔn)時(shí)鐘脈沖;設(shè)計(jì)兩個(gè)時(shí)鐘控制倒計(jì)時(shí),倒計(jì)時(shí)的時(shí)間可自由修改,由輸入決定;設(shè)計(jì)另一個(gè)時(shí)鐘,用以控制白天與夜間模式的轉(zhuǎn)換;在白天時(shí),根據(jù)倒計(jì)時(shí)的數(shù)字進(jìn)行紅綠燈的狀態(tài)轉(zhuǎn)換;夜間時(shí),紅綠燈狀態(tài)改為夜間模式:黃燈閃爍。

      七、程序設(shè)計(jì)

      ------交通燈控制系統(tǒng)所使用的庫和包

      -------------------------library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;

      -------------------------------交通燈控制系統(tǒng)的實(shí)體

      -------------------------entity jt is

      port(clk,reset:in std_logic;

      ------------------時(shí)鐘脈沖clk由系統(tǒng)直接提供,需要進(jìn)行分

      頻;reset是啟動鍵,當(dāng)reset為1是,系統(tǒng)啟動

      t0:integer range 0 to30;

      ------------------紅綠燈循環(huán)點(diǎn)亮的時(shí)間,根據(jù)輸入的不同

      系統(tǒng)運(yùn)行的不同

      r1,y1,g1,r2,y2,g2:out std_logic;

      ------------------r1為東西方向紅燈,y1為東西方

      向黃燈,g1為東西方向綠燈;r2為南北方向紅燈,y2為南北方向黃燈,g2為南北方向綠燈

      ec0,ec1,nc0,nc1:out std_logic_vector(3 downto 0));

      ------------------ec0,ec1分別為東西方向的倒計(jì)時(shí)間的個(gè)位和十位;

      nc0,nc1分別為南北方向的倒計(jì)時(shí)間的個(gè)位和十位

      end jt;-------------------------------交通燈控制系統(tǒng)的結(jié)構(gòu)體(5個(gè)進(jìn)程)

      -------------------------architecture one of jt is

      type state_type is(s0,s1,s2,s3);

      ------------------定義狀態(tài)的類型

      signal state:state_type;

      ------------------使用狀態(tài)機(jī)

      signal k:std_logic;

      ------------------分頻后的1Hz的標(biāo)準(zhǔn)時(shí)鐘脈沖

      signal c1,c2:integer range 0 to 30;

      ------------------定義東西、南北方向的兩個(gè)

      倒計(jì)時(shí)的計(jì)數(shù)

      signal t1:integer range 0 to 3600;

      signal t2:integer range 0 to 24;------------------定義一個(gè)時(shí)鐘,用以控制白天與夜間模式 Begin------該進(jìn)程用以分頻

      -------------------------q0:process(clk)

      variable tt:std_logic_vector(9 downto 0);

      ------------------中間變量

      begin

      if clk'event and clk='1' then

      if tt=“1111101000” then

      ----------------------把所給1kHz分頻成1Hz的脈沖

      k,10000分頻,仿真值用“ 0000000100”八分頻

      tt:=(others=>'0');

      k<='1';

      else

      tt:=tt+1;k<='0';

      end if;

      end if;end process q0;-------------------------

      ------該進(jìn)程用以設(shè)計(jì)時(shí)鐘

      -------------------------q1:process(k,reset)

      begin

      if reset='1' then

      ------------------啟動開關(guān)為1時(shí),系統(tǒng)開始運(yùn)行

      t1<=0;t2<=0;

      ------------------從0點(diǎn)開始 elsif k='1' and k'event then if t1=3599 then

      ------------------一個(gè)t1循環(huán)是一個(gè)秒,仿真值用“35” if t2=23 then

      -------------------一個(gè)t1循環(huán)是一個(gè)小時(shí),一天24小時(shí) t2<=0;

      else t2<=t2+1;end if;t1<=0;else t1<=t1+1;end if;end if;end process q1;-------------------------------該進(jìn)程用以控制白天黑天模式和紅綠燈狀態(tài)轉(zhuǎn)換

      -------------------------q2:process(k,reset,t2)

      begin

      if t2>=5 and t2<=22 then

      -------------------白天模式5:00到22:00之間

      if reset='1' then

      -------------------啟動開關(guān)為1時(shí),系統(tǒng)開始運(yùn)

      行,進(jìn)行狀態(tài)轉(zhuǎn)換

      r1<='0';y1<='0';g1<='1';-------------------東西方向綠燈亮 r2<='1';y2<='0';g2<='0';-------------------南北方向紅燈亮 state<=s0;-------------------紅綠燈處于初始狀態(tài)s0 c1<=t0;

      c2<=t0;-------------------倒計(jì)時(shí)從自由輸入值開始遞減 elsif k='1' and k'event then

      case state is

      when s0=>-------------------當(dāng)處于第1狀態(tài)時(shí),討論

      if c1=5 then

      --------------由于進(jìn)程內(nèi)部的并列進(jìn)

      行,當(dāng)?shù)褂?jì)時(shí)第4秒時(shí),進(jìn)入到第2狀態(tài)s1

      state<=s1;

      c1<=c1-1;

      c2<=c2-1;

      --------------倒計(jì)時(shí)遞減

      elsif c2=0 then

      ------------倒計(jì)時(shí)減到0時(shí),再從

      初始值開始

      c1<=t0;

      c2<=t0;

      else

      ----------------否則繼續(xù)保持第1狀態(tài)s0

      state<=s0;

      c1<=c1-1;

      c2<=c2-1;

      end if;

      when s1=>-------------------當(dāng)處于第2狀態(tài)時(shí),討論

      if c1=1 then--------------由于進(jìn)程內(nèi)部的并列進(jìn)行,當(dāng)

      倒計(jì)時(shí)第t0秒時(shí),進(jìn)入到第3狀態(tài)s2

      state<=s2;

      c1<=c1-1;

      c2<=c2-1;

      else----------------否則繼續(xù)保持第2狀態(tài)

      state<=s1;

      c1<=c1-1;

      c2<=c2-1;

      end if;

      when s2=>-------------------當(dāng)處于第3狀態(tài)時(shí),討論

      if c2=5 then--------------由于進(jìn)程內(nèi)部的并列進(jìn)行,當(dāng)?shù)褂?jì)時(shí)第4秒時(shí),進(jìn)入到第4狀態(tài)s3

      state<=s3;

      c1<=c1-1;

      c2<=c2-1;

      elsif c1=0 then

      ------------倒計(jì)時(shí)減到0時(shí),再從初

      始值開始

      c1<=t0;

      c2<=t0;

      else

      ----------------否則繼續(xù)保持第3狀態(tài)

      state<=s2;

      c1<=c1-1;

      c2<=c2-1;

      end if;

      when s3=>-------------------當(dāng)處于第4狀態(tài)時(shí),討論 if c2=1 then--------------由于進(jìn)程內(nèi)部的并列進(jìn)行,當(dāng)?shù)?/p>

      計(jì)時(shí)第t0秒時(shí),進(jìn)入到第1狀態(tài)s0

      state<=s0;

      c1<=c1-1;

      c2<=c2-1;

      else----------------否則繼續(xù)保持第4狀態(tài)

      state<=s3;

      c1<=c1-1;

      c2<=c2-1;

      end if;

      when others=> state<=s0;

      end case;if state=s0 then

      r1<='0';y1<='0';g1<='1';

      r2<='1';y2<='0';g2<='0';elsif state=s1 then

      r1<='0';g1<='0';

      r2<='1';y2<='0';g2<='0';

      if c1=4 or c1=2 then y1<='1';

      else y1<='0';

      end if;elsif state=s2 then

      r1<='1';y1<='0';g1<='0';

      r2<='0';y2<='0';g2<='1';elsif state=s3 then

      r1<='1';y1<='0';g1<='0';

      r2<='0';g2<='0';

      if c2=4 or c2=2 then y2<='1';

      else y2<='0';

      end if;end if;

      --各個(gè)狀態(tài)的紅綠燈變量的賦值,‘1’亮‘0’熄 end if;else-------------------夜間模式22:00到次日5:00之間

      c2<=0;c1<=0;r1<='0';r2<='0';g1<='0';g2<='0';y1<=k;y2<=k----------------紅綠燈的狀態(tài):脈沖k賦給黃燈變量,黃燈閃爍

      end if;end process q2;-------------------------------該進(jìn)程用于東西方向倒計(jì)時(shí)的譯碼顯示

      -------------------------q3:process(c1)

      begin case c1 is when 0=>ec0<=“0000”;ec1<=“0000”;when 1=>ec0<=“0001”;ec1<=“0000”;when 2=>ec0<=“0010”;ec1<=“0000”;when 3=>ec0<=“0011”;ec1<=“0000”;when 4=>ec0<=“0100”;ec1<=“0000”;when 5=>ec0<=“0101”;ec1<=“0000”;when 6=>ec0<=“0110”;ec1<=“0000”;when 7=>ec0<=“1000”;ec1<=“0000”;when 9=>ec0<=“1001”;ec1<=“0000”;when 10=>ec0<=“0000”;ec1<=“0001”;when 11=>ec0<=“0001”;ec1<=“0001”;when 12=>ec0<=“0010”;ec1<=“0001”;when 13=>ec0<=“0011”;ec1<=“0001”;when 14=>ec0<=“0100”;ec1<=“0001”;when 15=>ec0<=“0101”;ec1<=“0001”;when 16=>ec0<=“0110”;ec1<=“0001”;when 17=>ec0<=“0111”;ec1<=“0001”;when 18=>ec0<=“1000”;ec1<=“0001”;when 19=>ec0<=“1001”;ec1<=“0001”;when 20=>ec0<=“0000”;ec1<=“0010”;when 21=>ec0<=“0001”;ec1<=“0010”;when 22=>ec0<=“0010”;ec1<=“0010”;when 23=>ec0<=“0011”;ec1<=“0010”;when 24=>ec0<=“0100”;ec1<=“0010”;when 25=>ec0<=“0101”;ec1<=“0010”;when 26=>ec0<=“0110”;ec1<=“0010”;when 27=>ec0<=“0111”;ec1<=“0010”;when 28=>ec0<=“1000”;ec1<=“0010”;when 29=>ec0<=“1001”;ec1<=“0010”;when 30=>ec0<=“0000”;ec1<=“0011”;----------------------------當(dāng)在設(shè)定范圍內(nèi)時(shí),分別為個(gè)位十位譯碼并顯示

      when others=>ec0<=“0000”;ec1<=“0000”;

      -------------------------否則,LED燈顯示0

      end case;

      end process q3;-------------------------------該進(jìn)程用于南北方向倒計(jì)時(shí)的譯碼顯示

      -------------------------q4:process(c2)

      begin

      case c2 is when 0=>nc0<=“0000”;nc1<=“0000”;when 1=>nc0<=“0001”;nc1<=“0000”;when 2=>nc0<=“0010”;nc1<=“0000”;when 3=>nc0<=“0011”;nc1<=“0000”;when 4=>nc0<=“0100”;nc1<=“0000”;when 5=>nc0<=“0101”;nc1<=“0000”;when 6=>nc0<=“0110”;nc1<=“0000”;when 7=>nc0<=“0111”;nc1<=“0000”;when 8=>nc0<=“1000”;nc1<=“0000”;when 9=>nc0<=“1001”;nc1<=“0000”;when 10=>nc0<=“0000”;nc1<=“0001”;when 11=>nc0<=“0001”;nc1<=“0001”;when 12=>nc0<=“0010”;nc1<=“0001”;when 13=>nc0<=“0011”;nc1<=“0001”;when 14=>nc0<=“0100”;nc1<=“0001”;when 15=>nc0<=“0101”;nc1<=“0001”;when 16=>nc0<=“0110”;nc1<=“0001”;when 17=>nc0<=“0111”;nc1<=“0001”;when 18=>nc0<=“1000”;nc1<=“0001”;when 19=>nc0<=“1001”;nc1<=“0001”;when 20=>nc0<=“0000”;nc1<=“0010”;when 21=>nc0<=“0001”;nc1<=“0010”;when 22=>nc0<=“0010”;nc1<=“0010”;when 23=>nc0<=“0011”;nc1<=“0010”;when 24=>nc0<=“0100”;nc1<=“0010”;when 25=>nc0<=“0101”;nc1<=“0010”;when 26=>nc0<=“0110”;nc1<=“0010”;when 27=>nc0<=“0111”;nc1<=“0010”;when 28=>nc0<=“1000”;nc1<=“0010”;when 29=>nc0<=“1001”;nc1<=“0010”;when 30=>nc0<=“0000”;nc1<=“0011”;---------------------------當(dāng)在設(shè)定范圍內(nèi)時(shí),分別為個(gè)位十位譯碼并顯示

      when others=>nc0<=“0000”;nc1<=“0000”;

      end process q4;-------------------------end architecture one;

      ----所有進(jìn)程結(jié)束-------------------------

      八、仿真結(jié)果

      1、clk為輸入脈沖;開始令reset為’1’,啟動系統(tǒng),系統(tǒng)正常工作后值為’0; t0為紅綠燈循環(huán)時(shí)間,可自由修改,如果輸入值為’0010000’,則為16秒倒計(jì)時(shí)。如下圖:系統(tǒng)從0點(diǎn)開始運(yùn)行,處于夜間模式時(shí),倒計(jì)時(shí)都為“00”,兩個(gè)方向都為黃燈閃爍,紅綠燈都熄滅。

      ---------------------------否則,LED燈顯示0

      end case;2、5:00之后,進(jìn)入到白天模式:從第1狀態(tài)(東西方向綠燈亮、南北方向紅燈)開始,倒計(jì)時(shí)從16秒開始遞減。倒計(jì)時(shí)第4秒后進(jìn)入第2 狀態(tài)(東西方向黃燈閃爍,南北方向紅燈亮)。

      3、倒計(jì)時(shí)第0秒后進(jìn)入第3 狀態(tài)(東西方向紅燈亮,南北方向綠燈亮),倒計(jì)時(shí)再從16秒開始遞減;倒計(jì)時(shí)第4秒后進(jìn)入第4 狀態(tài)(東西方向紅燈亮,南北方向黃燈閃爍);倒計(jì)時(shí)第0秒后進(jìn)入第1 狀態(tài)(東西方向綠燈亮,南北方向紅燈亮),倒計(jì)時(shí)再從16秒開始遞減

      。如此循環(huán)。

      4、當(dāng)計(jì)時(shí)器到22:00時(shí),再次進(jìn)入夜間模式:東西南北方向黃燈閃爍;到次日5:00時(shí)又回到白天模式。如此循環(huán)。

      九、討論與改進(jìn)

      特點(diǎn):

      1、在整個(gè)設(shè)計(jì)過程中,分進(jìn)程實(shí)現(xiàn)整個(gè)功能,簡單明了;

      2、狀態(tài)機(jī)的功能和優(yōu)點(diǎn)得到了較為完整的體現(xiàn);

      3、分夜間和白天模式不同,系統(tǒng)自動調(diào)節(jié);

      4、黃燈以閃爍的形式亮;系統(tǒng)運(yùn)行后紅綠燈循環(huán)點(diǎn)亮的時(shí)間也可自由修改。不足:

      1、整個(gè)系統(tǒng)啟動后從夜間0點(diǎn)開始運(yùn)行,而不能隨意調(diào)為哪個(gè)時(shí)間的交通燈狀態(tài),只能從程序中改,不能手動調(diào)節(jié);

      2、整個(gè)功能還是比較簡單,未能分左右轉(zhuǎn)和直行的情況;

      3、緊急情況處理時(shí)也無特殊處理的設(shè)置。

      改進(jìn):

      1、在進(jìn)程中可增加一個(gè)輸入量,用以控制系統(tǒng)的時(shí)鐘時(shí)間,方便調(diào)節(jié)模式和交通燈狀態(tài);

      2、在進(jìn)程中可加入幾個(gè)紅綠燈狀態(tài)來分別控制東西方向和南北方向的左轉(zhuǎn)、右轉(zhuǎn)和直行的紅綠燈狀態(tài);

      3、在原有程序的基礎(chǔ)上,可通過增加一個(gè)輸入量來控制一種特殊狀態(tài),用以控制特殊情況的處理,視該特殊情況而定。

      二○一○年九月三日

      下載華南理工大學(xué)簡易交通燈控制電路的設(shè)計(jì)word格式文檔
      下載華南理工大學(xué)簡易交通燈控制電路的設(shè)計(jì).doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        交通燈管理電路設(shè)計(jì)

        交通燈管理電路設(shè)計(jì).txt懂得放手的人找到輕松,懂得遺忘的人找到自由,懂得關(guān)懷的人找到幸福!女人的聰明在于能欣賞男人的聰明。生活是燈,工作是油,若要燈亮,就要加油!相愛時(shí),飛到天邊......

        交通燈控制電路設(shè)計(jì)自動化 數(shù)字電子技術(shù)課程設(shè)計(jì)

        綜 述 本次設(shè)計(jì)主要分為四個(gè)部分,第一部分:信號產(chǎn)生電路;第二部分:電子示電路;第三部分:倒計(jì)時(shí)設(shè)計(jì),第四部分:交通燈及交通燈控制電路 在本次設(shè)計(jì)中采用555定時(shí)器產(chǎn)生CP=1Hz的脈沖信......

        新型交通燈控制管理器

        天津職業(yè)技術(shù)師范大學(xué) 課程題目:新型交通燈控制管理器設(shè)計(jì)成員:王昕指導(dǎo)教師:谷金清 課程設(shè)計(jì) 徐盼盼 梁佳欣 鄧裕明 孔維敬 1.題目 新型交通燈控制管理器 2.主要技術(shù)指標(biāo)......

        單片機(jī)控制交通燈的案例

        單片機(jī)控制交通燈 AT89C51單片機(jī)及由Keil 軟件編寫單片機(jī)程序,并且通過Proteus仿真測試,設(shè)計(jì)一個(gè)交通燈系統(tǒng),實(shí)現(xiàn)簡單的交通燈的管理功能。在交通燈系統(tǒng)的管理中,用發(fā)光二極管模......

        十字路口交通燈控制設(shè)計(jì)5則范文

        網(wǎng)絡(luò)教育學(xué)院 《可編程控制器》大作業(yè) 題目: 十字路口交通燈控制設(shè)計(jì) 學(xué)習(xí)中心: 遼寧彰武電大學(xué)習(xí)中心 層 次: 高中起點(diǎn)??? 專 業(yè): 電力系統(tǒng)自動化技術(shù)年 級: 2015 年 秋 季......

        十字路口交通燈控制畢業(yè)設(shè)計(jì)答辯題目

        十字路口交通燈控制畢業(yè)設(shè)計(jì)答辯題目 1.PLC控制系統(tǒng)設(shè)計(jì)的基本內(nèi)容?本文選擇西門子可編程控制器S7-200為核心部件,著重進(jìn)行硬件接口設(shè)計(jì),利用梯形圖和語句表進(jìn)行編程,實(shí)現(xiàn)了十字......

        基于單片機(jī)控制的交通燈設(shè)計(jì)系統(tǒng)

        基于單片機(jī)控制的交通燈設(shè)計(jì)系統(tǒng) 班級: 姓名: 學(xué)號: 第一章 概述 1. 設(shè)計(jì)內(nèi)容 本系統(tǒng)需要采用AT89C51單片機(jī)AT89C5中心器件來設(shè)計(jì)交通燈控制器,實(shí)現(xiàn)以下功能: 1.1初始東西綠......

        微機(jī)原理課程設(shè)計(jì)-8255控制交通燈[精選合集]

        微機(jī)原理課程設(shè)計(jì):8255模擬交通燈 1、目的:學(xué)習(xí)8255使用方法,學(xué)習(xí)模擬交通燈控制的方法,學(xué)習(xí)雙色燈的使用。 2、要求:控制4個(gè)雙色LED燈(可發(fā)紅,綠,黃光),模擬十字路口交通燈管理。......