久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3093|回復(fù): 0
收起左側(cè)

EDA出租車計(jì)價(jià)器和時(shí)鐘設(shè)計(jì) Verilog源程序

[復(fù)制鏈接]
ID:329016 發(fā)表于 2020-11-4 20:18 | 顯示全部樓層 |閱讀模式
   設(shè)計(jì)并制作一臺(tái)出租車計(jì)費(fèi)器。
1.1.2 性能指標(biāo)要求  
  ① 用EDA實(shí)訓(xùn)儀的I/O設(shè)備和PLD芯片實(shí)現(xiàn)出租車計(jì)費(fèi)器的設(shè)計(jì)。
  ② 出租車起步開始計(jì)程和計(jì)費(fèi),計(jì)程系統(tǒng)按實(shí)際公里數(shù)計(jì)程,計(jì)費(fèi)系統(tǒng)首 先顯示起步價(jià)(如7.0),車行駛2km以內(nèi),只收起步價(jià)7元。
  ③ 出租車行駛超過2km后,按每公里1.6元在7.0元的基礎(chǔ)上增加。
  ④ 出租車行駛超過10km后(或超過20元路費(fèi)),每公里加收50%的車費(fèi),即車費(fèi)變?yōu)槊抗?.4元。
  ⑤ 出租車達(dá)到目的地后,(用一個(gè)按鈕)計(jì)程和計(jì)費(fèi)數(shù)據(jù)清零,為下一次計(jì)費(fèi)開始。

1.2 設(shè)計(jì)思路及設(shè)計(jì)框圖
1.2.1設(shè)計(jì)思路
出租車計(jì)費(fèi)器的整體結(jié)構(gòu)包括:分頻模塊、計(jì)費(fèi)器模塊以及選擇模塊。
另外我拓展了變速模塊、亮燈模塊、計(jì)時(shí)器模塊。
通過不同頻率的分頻模塊產(chǎn)生一個(gè)脈沖信號模擬汽車的啟動(dòng)與停止,然后通過計(jì)數(shù)模塊,計(jì)算出一共所行駛的路程,最后通過記費(fèi)模塊,將所行駛的路程計(jì)算出相對應(yīng)的價(jià)錢。計(jì)費(fèi)顯示起步價(jià)7元,2km之內(nèi)為起步價(jià),以后每1km在起步價(jià)7元的基礎(chǔ)上增加1.6元;超過10km以后,每1km增加2.4元。通過自己設(shè)定的公式計(jì)算出費(fèi)用,這就是計(jì)費(fèi)模塊。結(jié)合生活中的出租車計(jì)費(fèi)器,分別有2km以內(nèi),10km以內(nèi)以及超過10Km以后的計(jì)費(fèi)標(biāo)準(zhǔn)。我設(shè)計(jì)用撥動(dòng)開關(guān)來實(shí)現(xiàn)清零與車速的轉(zhuǎn)換,并通過數(shù)碼管來顯示路程與車費(fèi)。每產(chǎn)生一個(gè)脈沖就代表前進(jìn)了一公里,因此,脈沖頻率的快慢就是車速的快慢,脈沖的多少就是路程,這就是車速以及路程的計(jì)算;當(dāng)路程的脈沖只在兩個(gè)以內(nèi),就只有7元起步價(jià)。于是便實(shí)現(xiàn)了車行駛2km以內(nèi),只收起步價(jià)7元。行駛超過2km后,按每公里1.6元在7.0元的基礎(chǔ)上增加。行駛超過10km后(或超過20元路費(fèi)),每公里加收50%的車費(fèi),即車費(fèi)變?yōu)槊抗?.4元。
1.2.2總體設(shè)計(jì)框圖

附錄2:程序清單

1秒分頻器   
module fpq1(clk,clk_1s);
input clk;

output regclk_1s;

reg[24:0]counter;

always@(posedge clk)

begincounter=counter+'b1;

  if(counter==20000000)counter=0;
  else if(counter<=10000000)clk_1s='b0;
  else clk_1s='b1;
  end
endmodule



    2秒分頻器
module fpq1(clk,clk_1s);
input clk;
output reg clk_1s;
reg[24:0] counter;
always @(posedge clk)
begin counter=counter+'b1;
  if(counter==20000000)counter=0;

  elseif(counter<=10000000)clk_1s='b0;

  elseclk_1s='b1;

  end
endmodule


0.5秒分頻器
module fpq5(clk,clk_5s);
input clk;
output reg clk_5s;
reg[24:0] counter;
always @(posedge clk)
begin counter=counter+'b1;

if(counter==10000000)counter=0;

  elseif(counter<=5000000)clk_5s='b0;

  elseclk_5s='b1;

  end
endmodule


速度選擇
module suduxz(k1,k2,clk1,clk2,clk5,speed);
input clk1,clk2,clk5,k1,k2;
output reg speed;

always@(posedge clk1 or posedge clk2 or posedge clk5)
begin
case({k1,k2})
'b00:speed=0;
'b01:speed=clk2;
'b10:speed=clk1;
'b11:speed=clk5;
endcase
  end
endmodule


記錄路程
module jsq99(clr,clk,q,cout,a);
input clk,clr,a;
output reg[7:0]q;
output reg cout;

always @(posedge clk or negedge clr)
begin
if(~clr) q=0;
else begin
if(a==0)
begin
if(q=='h99) q=0;
else q=q+1;
if(q[3:0]=='ha)
begin
q[3:0]=0;
q[7:4]=q[7:4]+1;
end
if(q==0) cout=1;
else cout=0;end
end
end
endmodule




計(jì)費(fèi)器
module jf(clk,clrn,q,k2);
input clk,k2;
input clrn;
output reg[11:0] q;
reg[3:0] c;
always @(posedge clk or negedge clrn)
begin

   if(~clrn)begin c=0;q=0;end

    else begin
     if(k2==0)
     begin
       if(c<14) c=c+1;
       if(c<=2) q[7:4]=7;
       else if(c<=10)
       begin
           q[3:0]=q[3:0]+6;q[7:4]=q[7:4]+1;

           if(q[3:0]>9)beginq[3:0]=q[3:0]-10;q[7:4]=q[7:4]+1;end

           if(q[7:4]>9)beginq[7:4]=q[7:4]-10;q[11:8]=q[11:8]+1; end

       end

   elseif(c>10)

       begin
           q[3:0]=q[3:0]+4;q[7:4]=q[7:4]+2;

           if(q[3:0]>9)beginq[3:0]=q[3:0]-10;q[7:4]=q[7:4]+1;end

           if(q[7:4]>9)beginq[7:4]=q[7:4]-10;q[11:8]=q[11:8]+1;end

            end
   end     if(c>14) c=11;end
   end
endmodule     

60秒計(jì)時(shí)器
module cnt60(clk,clr,q,cout);
input clk,clr;
output reg cout;
output reg[7:0] q;
reg[7:0] q_temp;
always @(posedge clk,negedge clr)
begin

      if(~clr)q_temp=0;

      elsebegin

        if(q_temp==59)q_temp=0;

         elseq_temp=q_temp+'b1;

         

        if(q_temp==59)cout=1;

         elsecout=0;

             end

              
q[3:0]=q_temp%10;
q[7:4]=q_temp/10;              
end
endmodule



24秒計(jì)時(shí)器
module cnt24(clk,clr,q,cout);
input clk,clr;
output reg cout;
output reg[7:0] q;
always @(posedge clk,negedge clr)
begin

      if(~clr)q=0;

      elsebegin

                if(q=='h23)   q=0;

                else q=q+'b1;

                if(q[3:0]=='ha) begin  q[3:0]='b0;

                                       q[7:4]=q[7:4]+'b1;

                                 end

                if(q=='h23)   cout=1;

                else    cout=0;

             end

end
endmodule



選擇器
     module xzq(k,qm,qf,qs,q,ql,sum);
input k;

input[7:0]qm,qf,qs,ql;

input[11:0]sum;

outputreg[23:0] q;


always
begin  
if(k==0) begin

   q[7:0]=ql;q[11:8]=0;q[23:12]=sum; end

    elseq[23:0]={qs,qf,qm};

    end
    Endmodule



注:全文設(shè)置為固定值20
51hei.png

eda出租車計(jì)價(jià)器和時(shí)鐘.rar

985.2 KB, 下載次數(shù): 35, 下載積分: 黑幣 -5

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久精品欧美电影 | 亚洲国产精品久久久久婷婷老年 | 国产在线一区观看 | www国产成人免费观看视频 | 九九九视频精品 | 欧美日韩在线观看一区二区三区 | 久久久人成影片一区二区三区 | 日韩在线免费电影 | 久热精品视频 | 91免费高清 | 蜜桃精品视频在线 | 性一交一乱一透一a级 | 久久久久久黄 | 天堂免费 | 嫩草视频在线免费观看 | 男女羞羞视频在线免费观看 | 久久久久久网站 | 日韩成人一区二区 | 久久中文字幕一区 | 日本午夜精品 | 成人18亚洲xxoo | 久久99精品国产麻豆婷婷 | 日本欧美在线观看视频 | 国产一级成人 | 涩涩视频在线观看 | 午夜免费小视频 | 成人免费视频 | 亚洲激情网站 | 亚洲欧美一区二区三区视频 | 久久久久久久av | 亚洲欧美激情国产综合久久久 | 老牛嫩草一区二区三区av | 一区二区三区四区五区在线视频 | 天天干天天草 | 午夜精品一区二区三区在线观看 | 国产综合精品一区二区三区 | 理伦毛片 | 国产精品久久久久久久久久免费看 | 亚洲人在线 | 国产视频一区二区 | 中文字幕精品一区二区三区精品 |