eda課程設(shè)計(jì)--交通燈控制器_第1頁(yè)
已閱讀1頁(yè),還剩17頁(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、<p>  《EDA技術(shù)及應(yīng)用》課程設(shè)計(jì)報(bào)告</p><p>  級(jí) 專業(yè) 班級(jí)</p><p>  題 目 </p><p>  姓 名 學(xué)號(hào) </p><p> 

2、 同組同學(xué) </p><p>  指導(dǎo)教師 </p><p>  二О 年 月 日</p><p>  交通燈控制器的功能介紹</p><p><b>  設(shè)計(jì)要求</b></p&g

3、t;<p>  (1)主干道通行(綠燈):支干道有車24秒;支路紅燈,數(shù)碼管實(shí)時(shí)顯示倒計(jì)時(shí)的秒,秒計(jì)時(shí)的頻率為1Hz 。</p><p> ?。ǎ玻┲鞲傻谰彌_(黃燈):6秒,(不顯示計(jì)數(shù)),秒計(jì)時(shí)的頻率為1Hz 。</p><p> ?。ǎ常┲吠ㄐ校ňG燈):20秒,主干道紅燈,數(shù)碼管實(shí)時(shí)顯示倒計(jì)時(shí)的秒,秒計(jì)時(shí)的頻率為1Hz 。</p><p> ?。?/p>

4、4)支路緩沖(黃燈):6秒,不顯示,秒計(jì)時(shí)的頻率為1Hz 。</p><p>  數(shù)碼管采用動(dòng)態(tài)顯示。</p><p><b>  其他要求:</b></p><p> ?。?)晶振為12 MHz</p><p> ?。?)采用CPLD 器件,為ALTERA 的EPM7064SL-44</p><p&

5、gt; ?。?)采用數(shù)碼管顯示</p><p><b>  硬件設(shè)計(jì)</b></p><p><b>  電路圖</b></p><p><b>  芯片圖:</b></p><p>  CPLD的工作大部分是在電腦上完成的。打開(kāi)集成開(kāi)發(fā)軟件→畫原理圖、寫硬件描述語(yǔ)言(VHDL

6、,Verilog)→編譯→給出邏輯電路的輸入激勵(lì)信號(hào),進(jìn)行仿真,查看邏輯輸出結(jié)果是否正確→進(jìn)行管腳輸入、輸出鎖定(7064的44個(gè)輸入、輸出管腳可根據(jù)需要設(shè)定)→生成代碼→通過(guò)下載電纜將代碼傳送并存儲(chǔ)在CPLD芯片中。7128這塊芯片各管腳已引出,將數(shù)碼管、搶答開(kāi)關(guān)、指示燈、蜂鳴器通過(guò)導(dǎo)線分別接到芯片板上,通電測(cè)試,</p><p><b>  數(shù)碼管:</b></p><

7、;p>  R26-r33 r12-r19 是限流電阻,位碼由于電流過(guò)大,采用了三極管驅(qū)動(dòng),數(shù)碼管為共陰極,當(dāng)有信號(hào)1時(shí),對(duì)應(yīng)數(shù)碼管才能操作。Com0-com7接芯片</p><p><b>  按鍵和led燈:</b></p><p>  按鍵:當(dāng)按鍵按下電路接通,輸入一個(gè)0信號(hào),</p><p>  Led:電路中低電壓點(diǎn)亮led燈,一

8、般led的壓降1.7v,電路中r21-r25都是保護(hù)用的,防止led短路</p><p>  下載器接口、電源接口、蜂鳴器</p><p>  電源接口:Jp2口接入5v電源,</p><p>  下載器接口:接下載線,pc電腦usb口輸出數(shù)據(jù)寫入芯片</p><p>  蜂鳴器:當(dāng)有一低電平時(shí)蜂鳴器鳴響</p><p&g

9、t;<b>  晶振和電容:</b></p><p>  晶振為電路提供4mhz的時(shí)鐘信號(hào)。</p><p><b>  原件清單:</b></p><p><b>  軟件設(shè)計(jì)</b></p><p><b>  流程圖</b></p>&

10、lt;p> ?。?)顯示模塊由兩部分組成,一是由七段數(shù)碼管組成的倒計(jì)時(shí)顯示器,每個(gè)方向兩個(gè)七段數(shù)碼管;二是由發(fā)光二極管代替的交通燈,每個(gè)方向3個(gè)發(fā)光二極管。</p><p>  (2)每個(gè)方向有一組2位倒計(jì)時(shí)器模塊,用以顯示該方向交通燈剩余的點(diǎn)亮?xí)r間。</p><p> ?。?)控制模塊是交通燈的核心,主要控制交通燈按工作順序自動(dòng)變換,同時(shí)控制倒計(jì)時(shí)模塊工作,每當(dāng)?shù)褂?jì)時(shí)回零時(shí),控制模

11、塊接收到一個(gè)計(jì)時(shí)信號(hào),從而控制交通燈進(jìn)入下一個(gè)工作狀態(tài)。</p><p><b>  2、源程序</b></p><p><b>  頂層模塊:</b></p><p><b>  module</b></p><p>  traffic(clk_lk,rst,clk,lamp

12、a,lampb,acount,bcount);</p><p>  inputclk_lk,rst,clk;//產(chǎn)生系統(tǒng)時(shí)鐘,復(fù)位信號(hào),1s時(shí)鐘信號(hào)</p><p>  output[2:0]lampa,lampb;//led燈(紅黃綠)</p><p>  output[7:0]acount,bcount;//數(shù)碼管倒計(jì)時(shí)顯示</p><

13、p>  reg[2:0]lampa,lampb;</p><p>  reg[7:0]numa,numb;</p><p>  regtempa,tempb;</p><p>  reg[2:0]statea,stateb;//led燈控制</p><p>  parameterared=8'h26,ayellow=8&#

14、39;h6,agreen=8'h24,</p><p>  bred=8'h30,byellow=8'h6,bgreen=8'h20;//初始值</p><p>  assignacount=numa;</p><p>  assignbcount=numb;</p><p>  always@(posed

15、geclk_lkornegedgerst)</p><p><b>  begin</b></p><p><b>  if(!rst)</b></p><p><b>  begin</b></p><p>  statea<=3'h0;</p&g

16、t;<p>  lampa<=3'b011;</p><p>  tempa<=1'b0;</p><p><b>  end</b></p><p>  elseif(clk)</p><p><b>  begin</b></p><

17、;p>  if(!tempa)//A方向燈控制</p><p><b>  begin</b></p><p>  tempa<=1'b1;</p><p>  case(statea)</p><p>  0:beginnuma<=agreen;lampa<=3'b011;st

18、atea<=1;end</p><p>  1:beginnuma<=ayellow;lampa<=3'b101;statea<=2;end</p><p>  2:beginnuma<=ared;lampa<=3'b110;statea<=0;end</p><p>  default:lampa<

19、;=3'b110;</p><p><b>  endcase</b></p><p><b>  end</b></p><p><b>  else</b></p><p><b>  begin</b></p><p>

20、;  if(numa>1)</p><p>  if(numa[3:0]==0)</p><p><b>  begin</b></p><p>  numa[3:0]<=4'h9;</p><p>  numa[7:4]<=numa[7:4]-4'h1;</p><

21、p><b>  end</b></p><p><b>  else</b></p><p>  numa[3:0]<=numa[3:0]-4'h1;</p><p>  if(numa==2)</p><p>  tempa<=1'b0;</p>&

22、lt;p><b>  end</b></p><p><b>  end</b></p><p><b>  end</b></p><p>  always@(posedgeclk_lkornegedgerst)</p><p><b>  begin

23、</b></p><p><b>  if(!rst)</b></p><p><b>  begin</b></p><p>  lampb<=3'b110;</p><p>  stateb<=3'h0;</p><p>  tem

24、pb<=1'b0;</p><p><b>  end</b></p><p>  elseif(clk)</p><p><b>  begin</b></p><p>  if(!tempb)//B方向燈控制</p><p><b>  begi

25、n</b></p><p>  tempb<=1'b1;</p><p>  case(stateb)</p><p>  0:beginnumb<=bred;lampb<=3'b110;stateb<=1;end</p><p>  1:beginnumb<=bgreen;lam

26、pb<=3'b011;stateb<=2;end</p><p>  2:beginnumb<=byellow;lampb<=3'b101;stateb<=0;end</p><p>  default:lampb<=3'b110;</p><p><b>  endcase</b>

27、</p><p><b>  end</b></p><p><b>  else</b></p><p>  begin//倒計(jì)時(shí)</p><p>  if(numb>1)</p><p>  if(numb[3:0]==0)</p><p>

28、<b>  begin</b></p><p>  numb[3:0]<=4'h9;</p><p>  numb[7:4]<=numb[7:4]-4'h1;</p><p><b>  end</b></p><p><b>  else</b>&

29、lt;/p><p>  numb[3:0]<=numb[3:0]-4'h1;</p><p>  if(numb==2)</p><p>  tempb<=1'b0;</p><p><b>  end</b></p><p><b>  end</b>

30、;</p><p><b>  end</b></p><p><b>  endmodule</b></p><p><b>  數(shù)碼管顯示模塊:</b></p><p>  //Traffic_test.v 程序:</p><p>  module

31、traffic_test(clk_lk,clk,rst,acount,bcount,seg,dig);</p><p>  inputclk_lk;</p><p>  inputrst;</p><p>  outputclk;</p><p>  input[7:0]acount;</p><p>  i

32、nput[7:0]bcount;</p><p>  output[7:0] seg;</p><p>  output[7:0]dig;</p><p>  reg[7:0]seg;</p><p>  reg[7:0]dig;</p><p>  reg[25:0]clk_cnt;</p><

33、;p>  reg[16:0]count;</p><p>  reg[1:0]cnt;</p><p>  reg[3:0]disp_dat;</p><p>  always@(posedgeclk_lk)</p><p><b>  begin</b></p><p><b>

34、;  if(clk)</b></p><p>  clk_cnt<=26'h1;</p><p><b>  else</b></p><p>  clk_cnt<=clk_cnt+26'h1;</p><p><b>  end</b></p>

35、<p>  assignclk=(clk_cnt>=26'd48000000);</p><p>  always@(posedgeclk_lk)</p><p><b>  begin</b></p><p>  count<=count+1'b1;</p><p><

36、b>  end</b></p><p>  assigndiv_clk=&count;</p><p>  always@(posedgeclk_lk)</p><p><b>  begin</b></p><p>  if(div_clk)</p><p>  c

37、nt<=cnt+1'b1;</p><p><b>  end</b></p><p>  always@(posedgeclk_lk)</p><p><b>  begin</b></p><p>  if(div_clk)</p><p><b&g

38、t;  begin</b></p><p><b>  case(cnt)</b></p><p>  2'd0:disp_dat<=acount[7:4];//選擇數(shù)碼管</p><p>  2'd1:disp_dat<=acount[3:0];</p><p>  2'

39、d2:disp_dat<=bcount[7:4];</p><p>  2'd3:disp_dat<=bcount[3:0];</p><p><b>  endcase</b></p><p><b>  case(cnt)</b></p><p>  2'd0:dig

40、<=8'b01111111;//掃描數(shù)碼管</p><p>  2'd1:dig<=8'b10111111;</p><p>  2'd2:dig<=8'b11111101;</p><p>  2'd3:dig<=8'b11111110;</p><p><

41、;b>  endcase</b></p><p><b>  end</b></p><p><b>  end</b></p><p>  always@(disp_dat)</p><p><b>  begin</b></p><p&

42、gt;  case(disp_dat)//顯示值</p><p>  4'h0:seg=8'hc0;//0</p><p>  4'h1:seg=8'hf9;//1</p><p>  4'h2:seg=8'ha4;//2</p><p>  4'h3:seg=8'hb0;//

43、3</p><p>  4'h4:seg=8'h99;//4</p><p>  4'h5:seg=8'h92;//5</p><p>  4'h6:seg=8'h82;//6</p><p>  4'h7:seg=8'hf8;//7</p><p>  

44、4'h8:seg=8'h80;//8</p><p>  4'h9:seg=8'h90;//9</p><p><b>  endcase</b></p><p><b>  end</b></p><p><b>  endmodule</b>

45、</p><p><b>  3、管腳分配</b></p><p><b>  實(shí)驗(yàn)板:</b></p><p><b>  4、程序分析</b></p><p><b>  狀態(tài)機(jī)狀態(tài)列表</b></p><p>  工作狀態(tài):s

溫馨提示

  • 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ù)僅提供信息存儲(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)論