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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5353|回復: 0
打印 上一主題 下一主題
收起左側

FPGA七人選擇器ego1 設計源碼

[復制鏈接]
跳轉到指定樓層
樓主
1、完成7人表決電路設計,LED燈表示通過、否決。
(1)開關表示贊成與否,1~7編號(1贊成,0不贊成);
(2)LED顯示表決的結果;
(3)數碼管分別顯示贊成、否決的人數;
(4)工作時鐘100HZ即可。   
2、所有程序設計代碼包括設計代碼、仿真代碼和約束文件。

FPGA源程序如下:
  1. `timescale 1ns / 1ps
  2. //////////////////////////////////////////////////////////////////////////////////
  3. // Company:
  4. // Engineer:
  5. //
  6. // Create Date: 2018/06/20 21:42:40
  7. // Design Name:
  8. // Module Name: vote_7
  9. // Project Name:
  10. // Target Devices:
  11. // Tool Versions:
  12. // Description:
  13. //
  14. // Dependencies:
  15. //
  16. // Revision:
  17. // Revision 0.01 - File Created
  18. // Additional Comments:
  19. //
  20. //////////////////////////////////////////////////////////////////////////////////


  21. module vote_7(
  22.         input clk,
  23.         input rst,
  24.         input[6:0]vote,                                         //7位按鍵開關
  25.         output reg led,                                        //小燈表示贊同or否決        
  26.         output out1,                                        //數碼管1輸出
  27.         output out2,                                        //數碼管2輸出
  28.     output reg [6:0]state1,                        //數碼管1顯示贊同人數的總和
  29.     output reg [6:0]state2                //數碼管2顯示否決人數的總和

  30.         );
  31.         
  32. reg [2:0]sum;      //計算贊同人數(開關)的總和
  33. always @(posedge clk)
  34.     begin
  35.         if(!rst)
  36.             begin
  37.                 sum<=0;                        //初始化sum等于0
  38.             end
  39.                 else
  40.                         sum<=vote[6]+vote[5]+vote[4]+vote[3]+vote[2]+vote[1]+vote[0];   //sum計人數(撥碼開關)的數量,求人數(撥碼開關)的總和
  41.    end        
  42. assign out1 = 1'b1;                                        //給數碼管的兩個輸出out1、out2使能
  43. assign out2 = 1'b1;
  44. //片選一個數碼管顯示否決人數,將sum顯示的值顯示到數碼管1上,sum=0數碼管顯示0,sum=1數碼管顯示1,sum=2數碼管顯示2······
  45. always@(negedge rst,posedge clk)
  46.         begin     
  47.               if(!rst)
  48.                   state1 <= 7'hff;                                //數碼管1初始化
  49.               else
  50.                 begin
  51.                       case(sum[2:0])                        
  52.                                 3'h0:state1 <= 7'b0111111;
  53.                                 3'h1:state1 <= 7'b0000110;
  54.                                 3'h2:state1 <= 7'b1011011;
  55.                                 3'h3:state1 <= 7'b1001111;
  56.                                 3'h4:state1 <= 7'b1100110;
  57.                                 3'h5:state1 <= 7'b1101101;
  58.                                 3'h6:state1 <= 7'b1111101;
  59.                                 3'h7:state1 <= 7'b0000111;
  60.                                 default        :
  61.                                         state1 <= 7'b0111111;
  62.                         endcase
  63.                 end
  64.     end
  65. //片選一個數碼管顯示否決人數,將sum顯示的值顯示到數碼管2上,sum=0數碼管顯示7,sum=1數碼管顯示6,sum=2數碼管顯示5······        
  66. always@(negedge rst,posedge clk)               
  67.         begin     
  68.               if(!rst)
  69.                   state2 <= 7'hff;
  70.               else
  71.                 begin
  72.                       case(sum)
  73.                                 3'h0:state2 <= 7'b0000111;
  74.                                 3'h1:state2 <= 7'b1111101;
  75.                                 3'h2:state2 <= 7'b1101101;
  76.                                 3'h3:state2 <= 7'b1100110;
  77.                                 3'h4:state2 <= 7'b1001111;
  78.                                 3'h5:state2 <= 7'b1011011;
  79.                                 3'h6:state2 <= 7'b0000110;
  80.                                 3'h7:state2 <= 7'b0111111;
  81.                                 default        :
  82.                                         state2 <= 7'h0000111;
  83.                         endcase
  84.                 end
  85.     end
  86. //用小燈顯示通過和不通過,小燈亮,則通過;小燈滅則不通過。當sum值大于3時led小燈亮,否則小燈滅
  87. always @(negedge rst,posedge clk)
  88.     begin
  89.         if(!rst)
  90.             begin
  91.                 led<=0;                        //初始化小燈
  92.             end
  93.                 else if(sum>=4)                        
  94.                         led<=1;
  95.                 else
  96.                     led<=0;
  97. end        
  98. endmodule
復制代碼


所有資料51hei提供下載:
vote_7.zip (2.25 KB, 下載次數: 38)



評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩在线一区二区三区 | 在线免费观看黄网 | 1204国产成人精品视频 | 中文字幕精品视频 | 欧美国产精品一区二区三区 | 亚洲激情视频在线 | 欧美精品一区二区三区在线播放 | 欧美日韩手机在线观看 | 久久久综合| hitomi一区二区三区精品 | 91在线色视频 | 夏同学福利网 | 在线免费观看黄网 | av一区二区三区四区 | 亚洲视频免费一区 | 国产电影一区二区在线观看 | 久久av一区 | 欧美国产日韩在线观看 | 成人在线免费av | 亚洲国产精品一区二区三区 | 日日夜夜精品视频 | 凹凸日日摸日日碰夜夜 | 亚洲aⅴ | 亚洲欧美国产精品一区二区 | 成人国产网站 | 国产女人精品视频 | 一级片av| 欧美精品区 | 黄色片在线免费看 | 欧美成人精品激情在线观看 | 久久久爽爽爽美女图片 | 亚洲高清成人 | 久久精品国产99国产精品 | 欧美亚洲视频 | 日韩一区av | 久久国产精品一区 | 亚洲日韩视频 | www日| 天天爽天天操 | 可以在线看的黄色网址 | 国产精品中文字幕在线 |