《EDA課程設計報告--交通燈控制器》由會員分享,可在線閱讀,更多相關《EDA課程設計報告--交通燈控制器(12頁珍藏版)》請在裝配圖網上搜索。
1、
鄭州航空工業(yè)管理學院
電子通信工程系
EDA技術及應用課程設計報告
題目: 交通燈控制器
姓 名:
學 號:
同組成員:
指導老師:
年 月 日
目 錄
一、設計任務書
二、硬件系統(tǒng)設計
1、電路原理圖
1.1
2、 CPLD核心電路
1.2 數碼管顯示電路
1.3電源電路
1.4 LED指示燈電路
2、管腳分配
3、設計方案
三、Verilog HDL 代碼設計
四、系統(tǒng)調試
1、邏輯功能模塊RTL級描述
2、仿真圖
五、總結
1、對本次課程設計的總結
六、參考文獻
一、設計任務書
設計要求
(1)主干道通行(綠燈):支干道有車24秒;支路紅燈,數碼管實時顯示倒計時的秒,秒計時的頻率為1Hz 。
(2)主干道緩沖(黃燈):6秒,(不顯示計數),秒計時的頻率為1Hz 。
(3)支路通行(綠燈):20秒,主干道紅燈,數碼管實時顯示倒計
3、時的秒,秒計時的頻率為1Hz 。
(4)支路緩沖(黃燈):6秒,不顯示,秒計時的頻率為1Hz 。
數碼管采用動態(tài)顯示。
其他要求:
(1)晶振為12 MHz
(2)采用CPLD 器件,為ALTERA 的EPM7064SL-44
(3)采用數碼管顯示
二、硬件系統(tǒng)設計
1、電路原理圖:
1.1 CPLD核心電路
1.2 數碼管顯示電路
1.3電源電路
1.4 LED指示燈電路
2、管腳分配
管腳分配:CPLD型號: FAMILY:MAX7000AE
DEVICE:EPM7064AELC44-10
sys_clk :
4、pin 43 // 12Mhz
4個LED燈: led0 ~ led3 : pin 14 16 17 18
8個數碼管:8個位線:com0~com3(dig0~dig3):pin 34, 33,31, 29, com4~com7 (dig4~dig7):pin 28 , 27,26 , 25
8個數據線:seg0~seg 3: pin 36, 37 ,39, 40
seg4~seg 7: pin 41, 4 ,
5、5, 6
4個按鍵:sw0~sw3: pin 19, 20, 21, 24
3、設計方案
三、Verilog HDL 代碼設計
module ds(clk,led,dig,seg);
//輸入
input clk;
//輸出
output[3:0] dig;
output[7:0] seg;
output[4:0] led;
//定義變量
reg[24:0] count;
reg[15:0] miao;
reg[4:0] leden;
reg[7:0] seg_r;
reg[3:0] dig_r;
reg[3:0] disp_dat;
6、
reg sec;
reg num;
reg[1:0] flag; //計數變量
reg[1:0]f2; //計數變量
assign dig=dig_r;
assign seg=seg_r;
assign led=leden;
//秒產生信號
always@(posedge clk)
begin
count=count+1'b1;
if(count==25'd24000000)
begin
count=25'b0;
sec=~sec;
end
end
//數碼管動態(tài)掃描
always@(posedge clk)
begin
7、
case(count[16:15])
0:disp_dat=miao[3:0];
1:disp_dat=miao[7:4];
2:disp_dat=miao[11:8];
3:disp_dat=miao[15:12];
endcase
case(count[16:15]) //選擇數碼管顯示位
0:dig_r=4'b1110;
1:dig_r=4'b1101;
2:dig_r=4'b1011;
3:dig_r=4'b0111;
endcase
end
always@(posedge clk)
begin
c
8、ase(disp_dat)
4'h0:seg_r=8'hc0;
4'h1:seg_r=8'hf9;
4'h2:seg_r=8'ha4;
4'h3:seg_r=8'hb0;
4'h4:seg_r=8'h99;
4'h5:seg_r=8'h92;
4'h6:seg_r=8'h82;
4'h7:seg_r=8'hf8;
4'h8:seg_r=8'h80;
4'h9:seg_r=8'h90;
default:seg_r=8'hff;
endcase
end
always@(negedge sec) //數碼管
9、倒計時及指示燈顯示 倒計時模塊
begin
if(flag==0)
begin
miao[3:0]=miao[3:0]-1;
if(miao[3:0]==4'hf)
begin
miao[7:0]=8'h18; 主干道綠燈倒計時
leden=5'b01101; 主綠支紅
flag[1:0]=4'h1; 計數轉向第二步
end
end
else if(flag[1:0]==4'h1)
begin
miao[3:0]=miao[
10、3:0]-1'b1;
if(miao[3:0]==4'hf)
begin
miao[7:4]=miao[7:4]-1'b1;
if(miao[7:4]==4'hf)
begin
leden[4:2]=3'b110; 主干道黃燈
flag[1:0]=4'h2;
miao[7:0]=8'h06; 黃燈倒計時
end
else miao[3:0]=4'h9;
end
end
else if(flag[1:0]==4'h2)
begin
miao[3:0]=
11、miao[3:0]-1'b1;
if(miao[3:0]==4'hf)
begin
miao[7:4]=miao[7:4]-1'b1;
if(miao[7:4]==4'hf)
begin
leden[4:2]=3'b101; 主干道紅燈
flag[1:0]=4'h3;
miao[7:0]=8'h20;
end
else miao[3:0]=4'h9;
end
end
else if(flag[1:0]==4'h3)
begin
miao[3:0]=m
12、iao[3:0]-1'b1;
if(miao[3:0]==4'hf)
begin
miao[7:4]=miao[7:4]-1'b1;
if(miao[7:4]==4'hf)
begin
leden[4:2]=3'b011; 主干道綠燈 返回flag==1
flag[1:0]=4'h1;
miao[7:0]=8'h18;
end
else miao[3:0]=4'h9;
end
end
else flag[1:0]=4'h0;
if(f2==0)
begin
13、
miao[11:8]=miao[11:8]-1;
if(miao[11:8]==4'hf)
begin
miao[15:8]=8'h24;
//leden=6'b011110;
f2[1:0]=4'h1;
end
end
else if(f2[1:0]==4'h1)
begin
miao[11:8]=miao[11:8]-1'b1;
if(miao[11:8]==4'hf)
begin
miao[15:12]=miao[15:12]-1'b1;
if(miao[15:12]==4'hf)
b
14、egin
leden[2:0]=3'b110;
f2[1:0]=4'h2;
miao[15:8]=8'h14;
end
else miao[11:8]=4'h9;
end
end
else if(f2[1:0]==4'h2)
begin
miao[11:8]=miao[11:8]-1'b1;
if(miao[11:8]==4'hf)
begin
miao[15:12]=miao[15:12]-1'b1;
if(miao[15:12]==4'hf)
begin
15、 leden[2:0]=3'b011;
f2[1:0]=4'h3;
miao[15:8]=8'h06;
end
else miao[11:8]=4'h9;
end
end
else if(f2[1:0]==4'h3)
begin
miao[11:8]=miao[11:8]-1'b1;
if(miao[11:8]==4'hf)
begin
miao[15:12]=miao[15:12]-1'b1;
if(miao[15:12]==4'hf)
begin
leden
16、[2:0]=3'b101;
f2[1:0]=4'h1;
miao[15:8]=8'h24;
end
else miao[11:8]=4'h9;
end
end
else f2[1:0]=4'h0;
end
endmodule
四、系統(tǒng)調試
1、邏輯功能模塊RTL級描述
仿真圖
五、總結
在做本課程設計的過程中,從程序編寫到硬件實現,我們遇到了許多問題。開始的時候,在編寫程序中無法實現賦初值,使程序無法初始化,led燈與數碼管不能同步。查詢資料后,設定兩個變量對程序進行初始化,解決了出現的問題。由于對軟件使
17、用不熟悉,軟件編譯頻頻出錯,通過對輔導資料的仔細研究,我們逐漸掌握它的使用方法,最終程序順利的進行了編譯,在硬件聯機調試時依然是問題重重。在這次的課程設計中我們遇到的最大問題是將我們的原程序的下載到電路板上時,發(fā)現提示說寄存器不夠的現象。
在進行焊接電路板的過程中,有些元器件安裝有些不容易,經過練習熟悉后,進一步熟練焊接工藝。經過對程序的一些刪選,問題也得到了解決,最終通過我們不斷地努力,作品還是順利完成了??吹綒v時近一周多的交通燈控制終于在我們的期待與苦惱中正常工作,我們都非常高興。在實驗中出現問題很正常,重要的是要努力克服,不為困難喪失信心,總能找到方法解決的。通過自己親手完成實驗并親自
18、焊接電路板,經測試后能夠實現功能,心中喜悅之極,增強了實踐能力,以后要多多動手,提高自己的實踐能力。
經過這次實踐,我感到我要學習的還有很多,深層次的知識非常缺乏,更加堅定了我多學專業(yè)知道的態(tài)度。同時,在同組合作伙伴的幫助下,解決了很多困難,充分表明了團隊協作的重要性。
六、參考文獻
《EDA技術實用教程——VerilogHDL版》 第四版 潘松
《Verilog數字系統(tǒng)設計教程》 第二版 夏宇聞
《Verilog HDL實用教程》 電子科技大學出版社 張明
《Verilog HDL硬件描述語言》 機械工業(yè)出版社 徐振林
教師評語:
成績: 日期: