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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3226|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

FPGA實(shí)現(xiàn)出租車計(jì)價(jià)器

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
  1. /*
  2.     *出租車計(jì)價(jià)器
  3.     *功能:1、初始化計(jì)價(jià) 10元
  4.            2、數(shù)碼管按鍵切換顯示價(jià)格和里程
  5.            3、速度300m/s
  6.            4、可以通過撥碼開關(guān)進(jìn)行清零和保持當(dāng)前價(jià)格和里程
  7.            5、當(dāng)里程十位無數(shù)據(jù)時,不顯示
  8.            6、數(shù)碼管最高位分別顯示當(dāng)前顯示的內(nèi)容字母,d顯示距離,C顯示價(jià)格
  9.     *勻速狀態(tài)
  10.     *By:魚芯工作室
  11. */

  12. module taxi_prj(clkin,rstn,led,dataout,dot,en,Key);

  13. input clkin,rstn;
  14. input [2:0] Key;
  15. output led;
  16. output[7:1] dataout;
  17. output dot;
  18. output[3:0] en;//COM使能輸出

  19. reg led;
  20. reg [10:0] cnt;

  21. reg[7:1] dataout;//各段數(shù)據(jù)輸出
  22. reg dot;//各段數(shù)據(jù)輸出.
  23. reg[3:0] en;
  24. reg[1:0] cnt_scan;//掃描頻率計(jì)數(shù)器
  25. reg[3:0] dataout_buf;
  26. reg [4:0] data_ten,data_ge,data_dot,init_cost;
  27. reg [16:0] distance;
  28. reg [16:0] cost;

  29. gen_div U1(.clkin(clkin),.rstn(rstn),.clkout(clkout));//1ms

  30. always@(posedge clkout or negedge rstn)
  31. begin
  32.     if(!rstn)  
  33.     begin
  34.         cnt <= 0;
  35.         distance <= 0;
  36.         data_ten<=0;
  37.         data_ge<=0;
  38.         data_dot<=0;
  39.         init_cost <= 10;
  40.         cost<=0;
  41.     end
  42.     else if(cnt == 2000)
  43.     begin
  44.         cnt <= 0;
  45.         led <= ~led;
  46.         if(Key[2]==1 || Key[1] == 1)
  47.         begin
  48.             if(Key[1] == 1)
  49.             begin
  50.                 distance <= 0;
  51.                 data_ten<=0;
  52.                 data_ge<=0;
  53.                 data_dot<=0;
  54.                 init_cost <= 10;
  55.                 cost<=0;
  56.             end
  57.             else
  58.             begin
  59.                 distance <= distance ;
  60.                 data_ten<=data_ten;
  61.                 data_ge<=data_ge;
  62.                 data_dot<=data_dot;
  63.                 cost<=cost;
  64.             end            
  65.         end
  66.         else
  67.         begin
  68.                 distance <= distance+300;
  69.                 data_ten<=distance/10000%10;
  70.                 data_ge<=distance/1000%10;
  71.                 data_dot<=distance/100%10;
  72.                 if(distance<=3000 && distance >0)
  73.                 begin
  74.                     init_cost <= 10;
  75.                     cost = init_cost *10;
  76.                 end
  77.                 else
  78.                     cost <=init_cost *10+2*(distance-3000)/100;
  79.         end
  80.     end
  81.     else cnt <= cnt + 1;
  82. end
  83. //segment
  84. always@(posedge clkout or negedge  rstn)
  85. begin
  86.     if(!rstn)
  87.         begin //低電平復(fù)位
  88.             cnt_scan<=0;
  89.         end
  90.     else
  91.         begin
  92.             cnt_scan<=cnt_scan+1;
  93.         end
  94. end

  95. always @(cnt_scan)//段碼掃描頻率
  96. begin
  97.   case(cnt_scan[1:0])
  98.       2'b00 :
  99.           en = 4'b1110;
  100.       2'b01 :
  101.           en = 4'b1101;
  102.       2'b10 :
  103.           en = 4'b1011;
  104.       2'b11 :
  105.           en = 4'b0111;
  106.       default :
  107.           en = 4'b1110;
  108.     endcase
  109. end

  110.   always @ (Key[0],en) //對應(yīng)COM信號給出各段數(shù)據(jù),段碼
  111.     case(Key[0])
  112.         1'b0:
  113.             begin
  114.                 case(en)
  115.                   4'b1110:
  116.                   begin
  117.                         dataout_buf<= 13;//輸入將要顯示的數(shù)字
  118.                         dot <= 1;
  119.                         end
  120.                   4'b1101:
  121.                   begin
  122.                   if(data_ten!==0)
  123.                   begin
  124.                         dataout_buf<=data_ten;
  125.                         dot <= 1;
  126.                     end
  127.                     else
  128.                     begin
  129.                             dataout_buf<=7'b1111_111;
  130.                             dot <= 1;
  131.                         end
  132.                     end
  133.                   4'b1011:
  134.                   begin
  135.                         dataout_buf <=  data_ge;
  136.                         dot <= 0;
  137.                         end
  138.                   4'b0111:
  139.                   begin
  140.                         dataout_buf<=data_dot;  
  141.                         dot <= 1;
  142.                         end
  143.                   default:
  144.                         dataout_buf=1;
  145.               endcase
  146.           end
  147.         1'b1:
  148.                     begin
  149.                             case(en)
  150.                               4'b1110:
  151.                               begin
  152.                                     dataout_buf<= 12;//輸入將要顯示的數(shù)字
  153.                                     dot <= 1;
  154.                                     end
  155.                               4'b1101:
  156.                               begin
  157.                                     dataout_buf<=cost/100;
  158.                                     dot <= 1;
  159.                                     end
  160.                               4'b1011:
  161.                               begin
  162.                                     dataout_buf <= cost/10%10;
  163.                                     dot <= 0;
  164.                                     end
  165.                               4'b0111:
  166.                               begin
  167.                                     dataout_buf<=cost%10;   
  168.                                     dot <= 1;
  169.                                     end
  170.                               default:
  171.                                     dataout_buf=1;
  172.                           endcase
  173.                       end
  174.             default:dataout_buf=0;
  175.     endcase  


  176. always@(dataout_buf)
  177. begin
  178.     case(dataout_buf)  //將要顯示的數(shù)字譯成段碼
  179.         4'b0000://0
  180.             dataout=7'b0000_001;
  181.         4'b0001://1
  182.             dataout=7'b1001_111;
  183.         4'b0010://2
  184.             dataout=7'b0010_010;
  185.         4'b0011://3
  186.             dataout=7'b0000_110;
  187.         4'b0100://4
  188.             dataout=7'b1001_100;
  189.         4'b0101://5
  190.             dataout=7'b0100_100;
  191.         4'b0110://6
  192.             dataout=7'b0100_000;
  193.         4'b0111://7
  194.             dataout=7'b0001_111;
  195.         4'b1000://8
  196.             dataout=7'b0000_000;
  197.         4'b1001://9
  198.             dataout=7'b0000_100;
  199.             4'b1010://A
  200.             dataout=7'b0001_000;
  201.             4'b1011://B
  202.                 dataout=7'b1100_000;
  203.             4'b1100://C
  204.             dataout=7'b0110_001;
  205.             4'b1101://D
  206.             dataout=7'b1000_010;
  207.             4'b1110://E
  208.             dataout=7'b0010_000;
  209.        default://這里僅編譯了0-9這幾個數(shù)字
  210.             dataout=7'b1111_111;//全滅
  211.      endcase
  212. end

  213. endmodule
復(fù)制代碼


全部代碼51hei下載地址:
taxi_prj.zip (3.12 MB, 下載次數(shù): 20)

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:894408 發(fā)表于 2021-11-12 18:58 | 只看該作者
前輩 我學(xué)習(xí)了這個程序,功能都能實(shí)現(xiàn),但是我想在前面加一個分鐘計(jì)時,就是在前兩位數(shù)碼管上加一個計(jì)時的,這個程序里面的位選我不太會,我不知道怎么改,希望前輩教一教我
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 免费精品视频一区 | 亚洲视频手机在线 | 一区二区在线免费观看视频 | 日韩电影一区 | 欧美自拍另类 | 在线观看视频91 | 国产99久久精品一区二区永久免费 | 91天堂网 | 亚洲人成人一区二区在线观看 | 91麻豆精品国产91久久久更新资源速度超快 | 色av一区二区 | 精品久久香蕉国产线看观看亚洲 | 性国产xxxx乳高跟 | 精品一二区 | 久久久久国产一区二区三区四区 | 婷婷色成人 | 久久男人 | 欧美激情一区二区三级高清视频 | 在线观看视频91 | 国产乱码精品一区二区三区忘忧草 | 四虎永久影院 | 国产粉嫩尤物极品99综合精品 | 欧美福利久久 | 青春草在线 | 亚洲精品99 | 欧美激情精品久久久久久 | 视频一区二区三区四区五区 | 青青久在线视频 | 亚洲精品日韩在线 | 欧美h视频 | 在线观看欧美日韩视频 | 手机看片在线播放 | 免费在线观看h片 | 99精品网 | 成人免费观看男女羞羞视频 | 欧美激情一区二区三级高清视频 | 狠狠躁躁夜夜躁波多野结依 | 国产美女特级嫩嫩嫩bbb片 | 羞羞视频一区二区 | 久久精品一 | 日本久久网站 |