




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
鄭州航空工業(yè)管理學(xué)院EDA技術(shù)及應(yīng)用》課程設(shè)計報告2012 屆 通信工程 專業(yè)1213071 班級題目: 百進(jìn)制計數(shù)器姓 名 學(xué)號同組人2014 年6月 25日任務(wù)書百進(jìn)制計數(shù)器設(shè)計要求(1) 技術(shù)范圍為 0~199(2) 可以在數(shù)碼管上顯示出計數(shù)值, 且數(shù)值為十進(jìn)制數(shù)(3) 計數(shù)方向:雙向(即可遞增遞減計數(shù))在EDA實驗箱上完成。1.晶振為 48MHz2.FPGA器件為ALTERA 的EP1C6Q240C83.采用數(shù)碼管顯示一、設(shè)計方案規(guī)劃:整體規(guī)劃(確定輸入與輸出)時鐘輸入
clk,
遞增遞減控制
dir,
輸入按鍵
key,
數(shù)碼管選擇輸出引腳
dig,
數(shù)碼管段輸出引腳
seg,具體如下:inputclk;// 輸入時鐘inputdir;// 遞增遞減控制鍵input[1:0]key;// 輸入按鍵output[2:0]dig;// 數(shù)碼管選擇輸出引腳output[7:0]seg;// 數(shù)碼管段輸出引腳功能劃分與模塊劃分a.秒信號產(chǎn)生部分分頻模塊:計算機(jī)本身頻率較大,顯示時間短,為顯示人眼可見,將高頻率改為低頻率,即增減周期。按鍵消抖處理部分按鍵消抖模塊:作為機(jī)械開關(guān)鍵盤,在按鍵操作時,機(jī)械觸點的彈性以及電壓突跳等原因,在觸點閉合或開啟的瞬間出現(xiàn)電壓抖動,所以處理后消除誤觸發(fā)。計數(shù)處理部分遞增遞減計數(shù)模塊:計數(shù)要求在 0-199之間可增可減。數(shù)碼管動態(tài)掃描顯示部分選擇掃描顯示數(shù)據(jù)和選擇數(shù)碼管顯示位顯示譯碼部分顯示相對應(yīng)的數(shù)據(jù)各功能或各模塊的功能細(xì)分,分頻模塊定義clk上升沿觸發(fā)器定義計數(shù)器寄存器,計數(shù)部分b.按鍵消抖模塊key 輸入按鍵key_done 按鍵消抖輸出遞增遞減計數(shù)模塊清零部分控制鍵 dir,遞增部分,遞減部分,sum計數(shù)緩存器數(shù)碼管動態(tài)掃描顯示部分顯示不同各位的數(shù)據(jù),選擇對應(yīng)的不同數(shù)碼管,dig數(shù)碼管選擇顯示譯碼部分共陽數(shù)碼管,低電平有效, seg數(shù)碼管譯碼結(jié)果二、各模塊的實現(xiàn)方法,技術(shù)、要點分頻模塊:always@(posedgeclk)// 定義clk上升沿觸發(fā)器。分頻 //秒信號產(chǎn)生部分beginq=q+1'b1;if(q==26'd24000000)beginq=0;//sec=~sec;//
計數(shù)器清零致位秒標(biāo)志endend按鍵消抖: always@(posedgeq[16])begindout1<={dir,key};dout2<=dout1;dout3<=dout2;endalways@(negedgekey_done[0])beginkeyen=~keyen;endregr_dir;always@(negedgekey_done[2])beginr_dir=~r_dir;end計數(shù)塊遞增計數(shù):always@(posedgesecornegedgekey_done[1])//200 進(jìn)制計數(shù)beginif(!key_done[1])// 是清零鍵嗎?sum<=12'h000;elsebeginif(r_dir)beginif(!keyen)beginif(sum>12'h198)sum<=12'h000;elsesum[3:0]<=sum[3:0]+4'h1; // 個位加1if(sum[3:0]==4'h9)beginsum[3:0]<=0;sum[7:4]<=sum[7:4]+4'h1; // 十位加1if(sum[7:4]==4'h9)beginsum[7:4]<=0;sum[11:8]<=sum[11:8]+4'h1;// 百位加1endif(sum==12'h199)sum[11:0]<=12'h000;endendend遞減計數(shù):
elseif(!keyen)beginif(sum==12'h000)sum<=12'h199;elsesum[3:0]<=sum[3:0]-4'h1;//
個位減
1if(sum[3:0]==4'h0)beginsum[3:0]<=4'h9;sum[7:4]<=sum[7:4]-4'h1;//
十位減
1if(sum[7:4]==4'h0)beginsum[7:4]<=4'h9;sum[11:8]<=sum[11:8]-4'h1;//
百位減
1endif(sum==12'h000)sum[11:0]<=12'h199;endend數(shù)碼管動態(tài)掃描顯示部分 :always@(posedgeclk) //count[17:15]begincase(q[16:15])2'd0:disp_temp=sum[3:0];2'd1:disp_temp=sum[7:4];2'd2:disp_temp=sum[11:8];
大約1ms改變一次//選擇掃描顯示數(shù)據(jù)//顯示個位//顯示十位// 顯示百位2'd3:disp_temp=4'hf;
//為15,全滅endcasecase(q[16:15])2'd0:dig_r=3'b110;2'd1:dig_r=3'b101;2'd2:dig_r=3'b011;default:dig_r=3'b111;
//選擇數(shù)碼管顯示位//選擇第一個數(shù)碼管顯示//選擇第二個數(shù)碼管顯示//選擇第三個數(shù)碼管顯示//選擇第四個數(shù)碼管顯示endcaseend七段碼顯示模塊:
always@(posedgeclk)//
顯示譯碼
,共陽數(shù)碼管
(低電平有效,即為0時亮)begincase(disp_temp)4'h0:seg_r=8'hc0;4'h1:seg_r=8'hf9;
//顯示//顯示
014'h2:seg_r=8'ha4;//顯示24'h3:seg_r=8'hb0;//顯示34'h4:seg_r=8'h99;//顯示44'h5:seg_r=8'h92;//顯示54'h6:seg_r=8'h82;//顯示64'h7:seg_r=8'hf8;//顯示74'h8:seg_r=8'h80;//顯示84'h9:seg_r=8'h90;//顯示9default:seg_r=8'hff;//不顯示endcaseend三、模塊的編寫modulecount199(clk,key,dir,dig,seg);inputclk;// 輸入時鐘inputdir;// 遞增遞減控制input[1:0]key;//
輸入按鍵output[2:0]dig;//output[7:0]seg;//reg[7:0]seg_r;//reg[2:0]dig_r;//reg[25:0]q;//
數(shù)碼管選擇輸出引腳數(shù)碼管段輸出引腳定義數(shù)碼管輸出寄存器定義數(shù)碼管選擇輸出寄存器定義計數(shù)器寄存器 分頻計數(shù)器,最大
2^6*2^20<64*10^6
分頻reg[3:0]disp_temp;//reg[11:0]sum;//regsec,keyen;//
定義顯示數(shù)據(jù)寄存器計數(shù)緩存器定義標(biāo)志位reg[2:0]dout1,dout2,dout3;//
寄存器wire[2:0]key_done;//
按鍵消抖輸出assigndig=dig_r;//assignseg=seg_r;//always@(posedgeclk)//
輸出數(shù)碼管選擇輸出數(shù)碼管譯碼結(jié)果定義clk上升沿觸發(fā)器。分頻
//秒信號產(chǎn)生部分beginq=q+1'b1;if(q==26'd24000000)beginq=0;//sec=~sec;//
計數(shù)器清零致位秒標(biāo)志endend//按鍵消抖處理部分assignkey_done=(dout1|dout2|dout3);always@(posedgeq[16])begindout1<={dir,key};dout2<=dout1;dout3<=dout2;end
//按鍵消抖輸出always@(negedgekey_done[0])beginkeyen=~keyen;endregr_dir;always@(negedgekey_done[2])beginr_dir=~r_dir;endalways@(posedgesecornegedgekey_done[1])//200begin
進(jìn)制計數(shù)if(!key_done[1])//
是清零鍵嗎
?sum<=12'h000;elsebeginif(r_dir)beginif(!keyen)beginif(sum>12'h198)sum<=12'h000;elsesum[3:0]<=sum[3:0]+4'h1;if(sum[3:0]==4'h9)beginsum[3:0]<=0;sum[7:4]<=sum[7:4]+4'h1; //
//
個位加1十位加
1if(sum[7:4]==4'h9)beginsum[7:4]<=0;sum[11:8]<=sum[11:8]+4'h1;//百位加1endif(sum==12'h199)sum[11:0]<=12'h000;endendendelseif(!keyen)beginif(sum==12'h000)sum<=12'h199;elsesum[3:0]<=sum[3:0]-4'h1;//
個位減
1if(sum[3:0]==4'h0)beginsum[3:0]<=4'h9;sum[7:4]<=sum[7:4]-4'h1;//
十位減
1if(sum[7:4]==4'h0)beginsum[7:4]<=4'h9;sum[11:8]<=sum[11:8]-4'h1;//
百位減
1endif(sum==12'h000)sum[11:0]<=12'h199;endendendend//數(shù)碼管動態(tài)掃描顯示部分always@(posedgeclk)//count[17:15]
大約
1ms改變一次begincase(q[16:15])2'd0:disp_temp=sum[3:0];2'd1:disp_temp=sum[7:4];2'd2:disp_temp=sum[11:8];
//選擇掃描顯示數(shù)據(jù)//顯示個位//顯示十位// 顯示百位2'd3:disp_temp=4'hf;
//為
15,全滅endcasecase(q[16:15])
//選擇數(shù)碼管顯示位2'd0:dig_r=3'b110;2'd1:dig_r=3'b101;2'd2:dig_r=3'b011;default:dig_r=3'b111;endcaseend
選擇第一個數(shù)碼管顯示選擇第二個數(shù)碼管顯示選擇第三個數(shù)碼管顯示選擇第四個數(shù)碼管顯示always@(posedgeclk)// 顯示譯碼,共陽數(shù)碼管(低電平有效,即為 0時亮)begincase(disp_temp)4'h0:seg_r=8'hc0; //顯示04'h1:seg_r=8'hf9; //顯示14'h2:seg_r=8'ha4; //顯示24'h3:seg_r=8'hb0; //顯示34'h4:seg_r=8'h99; //顯示44'h5:seg_r=8'h92; //顯示54'h6:seg_r=8'h82; //顯示64'h7:seg_r=8'hf8; //顯示74'h8:seg_r=8'h80; //顯示84'h9:seg_r
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度風(fēng)力發(fā)電項目風(fēng)機(jī)設(shè)備采購與投資分析合同
- 2025年度智能制造對賭協(xié)議約定倍收益合作協(xié)議
- 二零二五年度林地使用權(quán)變更及補償合同
- 2025年度藥店藥店藥品知識產(chǎn)權(quán)保護(hù)聘用勞動合同
- 股權(quán)代持協(xié)議書標(biāo)準(zhǔn)模板:2025年度股權(quán)激勵適用
- 2025年度森林土地承包與林木撫育合作協(xié)議
- 二零二五年度企業(yè)內(nèi)部員工外出安全免責(zé)合同
- 二零二五年度汽車零部件貨物運輸保險協(xié)議
- 二零二五年度歷史文化街區(qū)拆除搬遷保護(hù)協(xié)議
- 2025年度服裝廠職工勞動合同模板書(智能化工廠)
- 2024解析:第九章液體壓強(qiáng)-基礎(chǔ)練(解析版)
- 2024解析:第十章 浮力、阿基米德原理及其應(yīng)用-講核心(解析版)
- 隱睪手術(shù)配合
- 華東師范大學(xué)《社會學(xué)概論》2023-2024學(xué)年第一學(xué)期期末試卷
- 建筑工程財務(wù)流程制度(6篇)
- 閥門培訓(xùn)課件
- 2024年四川省公務(wù)員錄用考試《行測》真題及答案解析
- 2024全新醫(yī)務(wù)人員手衛(wèi)生課件
- 高考英語一輪復(fù)習(xí)知識清單(全國版)專題01++定語從句十大考點歸納(清單)+含答案及解析
- 培訓(xùn)機(jī)構(gòu)收費退費管理規(guī)定
- 愛學(xué)習(xí)平臺登錄入口
評論
0/150
提交評論