freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于fpga出租車計(jì)價(jià)器設(shè)計(jì)-資料下載頁

2024-11-17 21:56本頁面

【導(dǎo)讀】FPGA是作為專用集成電路領(lǐng)域中的一種半定制電路而出現(xiàn)的,既。解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。性高,靈活性強(qiáng),并且完成和擴(kuò)展附加功能性強(qiáng)。本設(shè)計(jì)實(shí)現(xiàn)了出租車計(jì)價(jià)器所需的一些。該設(shè)計(jì)采用模塊化設(shè)計(jì),自頂向下,在Quartus,采用Verilog. 序分別進(jìn)行了仿真,并對仿真波形作了分析。經(jīng)過硬件下載驗(yàn)證,完成了出租車計(jì)價(jià)器分。頻模塊、計(jì)程模塊、計(jì)費(fèi)模塊、計(jì)時(shí)模塊,譯碼以及動(dòng)態(tài)掃描顯示模塊的設(shè)計(jì)實(shí)現(xiàn)。

  

【正文】 00 (reset,clk_20M, clk_800)。 input clk_20M,reset。 output clk_800。 reg clk_800。 reg [15:0] counter。 always@(posedge clk_20M) if(!reset) begin clk_800=0。 counter = 0。 end else begin if(counter==12499) begin counter=0。 clk_800 = ~ clk_800。 end else counter = counter + 1。 end endmodule //等待時(shí)間計(jì) 時(shí)模塊 // module timemokuai(clk_1,reset,te, time_enable)。 input clk_1,reset,te。 output time_enable。//輸出的控制時(shí)間計(jì)費(fèi)的信號(hào) reg time_enable。 28 reg [7:0] j。 always@(posedge clk_1 or negedge reset)//異步復(fù)位 if(!reset) begin time_enable=0。 j=0。 end else if(!te) begin if(j==119) begin j=0。 time_enable=1。 end else begin j=j+1。 time_enable=0。 end end endmodule //路程計(jì)數(shù)模塊 // module distancemokuai(clk_10,start,reset,distance,distance_enable)。 input clk_10,start,reset。 output [15:0] distance。// 輸出的公里 reg [15:0] distance。 output distance_enable。// 控制計(jì)費(fèi)的公里信號(hào) reg distance_enable。 always@(posedge clk_10 or negedge reset)//異步復(fù)位 begin if(!reset)//低電平復(fù)位 begin distance=1639。d0。 end else if(start)// start 高電平有效 29 begin if(distance[3:0]==9)//判斷 distance 的低四位計(jì)到 了 9 沒有 begin distance[3:0]=439。d0。//計(jì)到 9 清零 if(distance[7:4]==9) begin distance[7:4]=439。d0。 if(distance[11:8]==9) begin distance[11:8]=439。d0。 if(distance[15:12]==9) begin distance[15:12]=439。d0。 end else distance[15:12]= distance[15:12]+139。d1。 end else distance[11:8]= distance[11:8]+139。d1。 end else distance[7:4]= distance[7:4]+139。d1。 end else distance[3:0]=distance[3:0]+139。d1。// distance 的低四位沒有計(jì)到 9 的時(shí)候加一 end end //*產(chǎn)生 distance_enable 信號(hào) *// always@(posedge clk_10 or negedge reset) begin if(!reset) begin distance_enable=139。d0。//復(fù)位 end else if(distance1639。d29)// 大于 兩 公里的時(shí)候 begin distance_enable=139。d1。//輸出 distance_enable 信號(hào) end end 30 endmodule //時(shí)間計(jì)費(fèi)模塊 // module feeshi(clk,reset, fee)。 input clk。 input reset。 output[15:0]fee。 //輸出的費(fèi)用 reg[15:0] fee。 always@( negedge reset or posedge clk )//異步復(fù)位 begin if(!reset) //低電平有效 begin fee=1639。d0。 end else if(fee[3:0]==439。d9) //費(fèi)用的低四位是不是計(jì)到了 9 begin fee[3:0]=439。d0。//計(jì)到 9 清零 if(fee[7:4]==439。d9) begin fee[7:4] =439。d0。 if(fee[11:8]==439。d9) begin fee[11:8] =439。d0。 if(fee[15:12]==439。d9) begin fee[15:12] =439。d0。 end else fee[15:12] = fee[15:12] +139。d1。 end else fee[11:8] = fee[11:8] +139。d1。 end else fee[7:4]=fee[7:4]+139。d1。 end else fee[3:0]=fee[3:0]+139。d1。// 費(fèi)用的低四位沒有計(jì)到 9 加 1 31 //end begin end//end always endmodule //里程計(jì)費(fèi)模塊 // module feemokuai(clk_1,reset,fee,en,start )。 input clk_1,en,start 。 input reset。 output[15:0]fee。 //輸出的費(fèi)用 reg[15:0] fee。 always@( negedge reset or posedge clk_1 )//異步復(fù)位 begin if(!reset) //低電平有效 begin fee=1639。d8。 end else if(en==1amp。amp。start==1) if(fee[3:0]==439。d9) //費(fèi)用的低四位是不是計(jì)到了 9 begin fee[3:0]=439。d0。//計(jì)到 9 清零 if(fee[7:4]==439。d9) begin fee[7:4] =439。d0。 if(fee[11:8]==439。d9) begin fee[11:8] =439。d0。 if(fee[15:12]==439。d9) begin fee[15:12] =439。d0。 end else fee[15:12] = fee[15:12] +139。d1。 end else fee[11:8] = fee[11:8] +139。d1。 end else fee[7:4]=fee[7:4]+139。d1。 end 32 else fee[3:0]=fee[3:0]+139。d1。// 費(fèi)用的低四位沒有計(jì)到 9 加 1 //end begin end//end always endmodule //總計(jì)費(fèi)模塊 // module fee(feemokuai,feeshi,fee)。 input[15:0] feemokuai,feeshi。 output[15:0] fee。 assign fee=feemokuai+feeshi。 endmodule //數(shù)碼管顯示譯碼模塊 // module scan_led(clk_800,seg,sel,distance, fee,dp)。 input clk_800。 input[15:0] distance,fee。//輸入的公里,費(fèi)用。 output dp。 output[6:0] seg。 // 譯碼結(jié)果 output[2:0] sel。 // 數(shù)碼管的選擇。 reg [6:0] r_seg。 //數(shù)碼管的選擇寄存器。 reg [3:0] disp_dat。 reg[2:0] sel。 reg dp。 assign seg=r_seg。 always@(posedge clk_800) begin sel = sel +139。d1。 //數(shù)碼管的選擇 end always@( sel or distance or fee) begin case(sel) 439。d0: begin disp_dat= fee[3:0]。dp=0。end//費(fèi)用的低四位用第一個(gè)數(shù)碼管顯示。 439。d1: begin disp_dat= fee[7:4]。dp=0。end 439。d2: begin disp_dat= fee[11:8]。dp=0。end 439。d3: begin disp_dat= fee[15:12]。dp=0。end 33 439。d4: begin disp_dat= distance[3:0]。dp=0。end //公里的低四位用第五個(gè)數(shù)碼管顯示。 439。d5: begin disp_dat= distance[7:4]。dp=0。end 439。d6: begin disp_dat= distance[11:8]。dp=1。end 439。d7: begin disp_dat= distance[15:12]。dp=0。end default: begin disp_dat=439。b1010。 endcase end // *譯碼結(jié)果 *// always@(disp_dat) begin case(disp_dat) 439。h0: r_seg=839。b1111110。// 顯示 0 439。h1: r_seg=839。b0110000。// 顯示 1 439。h2: r_seg=839。b1101101。// 顯示 2 439。h3: r_seg=839。b1111001。// 顯示 3 439。h4: r_seg=839。b0110011。// 顯示 4 439。h5: r_seg=839。b1011011。// 顯示 5 439。h6: r_seg=839。b1011111。// 顯示 6 439。h7: r_seg=839。b1110000。// 顯示 7 439。h8: r_seg=839。b1111111。// 顯示 8 439。h9: r_seg=839。b1110011。// 顯示 9 default: r_seg=839。b0000000。 endcase end endmodule//結(jié)束譯碼模塊
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1