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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

FPGA人體反應(yīng)速度測試器設(shè)計

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:140725 發(fā)表于 2016-10-11 18:06 | 只看該作者 |只看大圖 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
實(shí)驗(yàn)一基于fpga設(shè)計的人體反應(yīng)速度測試器
.實(shí)驗(yàn)內(nèi)容與要求:
在DE2 fpga開發(fā)板上實(shí)現(xiàn)一個人體反應(yīng)速度測試電路。
1)測試器復(fù)位電路;
2)復(fù)位一段時間后紅燈點(diǎn)亮(用LED指示燈),計數(shù)器開始以毫秒為單位計數(shù)(計數(shù)值顯示在數(shù)碼管上)。
3) 測試人發(fā)現(xiàn)紅燈點(diǎn)亮后,迅速按住KEY1鍵,紅燈熄滅。計數(shù)器停止計數(shù),得到測試人反映時間。
4)等待時間值要求可設(shè)置,由按鍵或開關(guān)設(shè)置等待時間。

反映速度測試器所有資料打包下載:
反映速度測試器.rar (2.5 MB, 下載次數(shù): 49)

  1. module respone_time(clk,rst,dataout,en,led,key,key_start);
  2. input clk,rst,key,key_start;
  3. output led;
  4. output[7:0] dataout;   //數(shù)碼管的段碼輸出
  5. output[3:0] en;        //數(shù)碼管的位選使能輸出
  6. reg[7:0] dataout;      //各段數(shù)據(jù)輸出
  7. reg[3:0] en;

  8. reg[15:0] cnt_scan;//掃描頻率計數(shù)器
  9. reg[3:0] dataout_buf;
  10.       
  11. reg[18:0]  cnt; //計數(shù)寄存器
  12. always @ (posedge clk  or negedge rst)
  13.     if (!rst) cnt <= 19'd0; //異步復(fù)位
  14. //else if(key_an) cnt <=20'd0;//發(fā)現(xiàn)按鍵按下,重新計數(shù)
  15.     else if(cnt==19'd500000)
  16.         cnt <= 19'd0;
  17.     else cnt <= cnt + 1'b1;
  18.    
  19. reg[9:0]  postphone; //計數(shù)寄存器
  20. always @ (posedge clk  or negedge rst)
  21.     if (!rst)
  22.         postphone <= 10'd0; //異步復(fù)位
  23.    else if(cnt==19'd500000)
  24.         postphone <= postphone+1'b1;
  25.    else if (postphone==10'd1000)
  26.         postphone <=10'd0;
  27.    
  28. reg low_sw;
  29. always @(posedge clk  or negedge rst)
  30.     if (!rst) low_sw <= 1'b1;
  31.     else if (cnt == 19'd500000)  //滿20ms,將按鍵值鎖存到寄存器low_sw中  cnt == 20'hfffff
  32.       low_sw <= key;
  33.       
  34. reg  low_sw_r;                 //每個時鐘周期的上升沿將low_sw信號鎖存到low_sw_r中
  35. always @ ( posedge clk  or negedge rst)
  36.     if (!rst) low_sw_r <= 1'b1;
  37.     else low_sw_r <= low_sw;
  38.    
  39. //當(dāng)寄存器low_sw由1變?yōu)?時,led_ctrl的值變?yōu)楦撸S持一個時鐘周期
  40. wire led_ctrl = low_sw_r & ( ~low_sw);   


  41. reg key_st;
  42. always @(posedge clk  or negedge rst)
  43.     if (!rst) key_st <= 1'b1;
  44.     else if (cnt == 19'd500000)
  45.     key_st <= key_start;

  46. reg key_st_r;       //每個時鐘周期的上升沿將low_sw信號鎖存到low_sw_r中
  47. always @ ( posedge clk  or negedge rst )
  48.     if (!rst) key_st_r <= 1'b1;
  49.     else key_st_r <= key_st;

  50. //當(dāng)寄存器key_rst由1變?yōu)?時,led_an的值變?yōu)楦撸S持一個時鐘周期
  51. wire key_start_an = key_st_r & ( ~key_st);

  52. reg led1;
  53. //reg flag;
  54. always @ (posedge clk or negedge rst)
  55.     if (!rst)
  56.         begin
  57.            led1 <= 1'b0;
  58.            //flag <= 1'b0;
  59.         end
  60.     else if((postphone==10'd60)||(postphone==10'd190)||(postphone==10'd280)||(postphone==10'd450)||(postphone==10'd650)||(postphone==10'd750)||(postphone==10'd900))//(postphone==9'd150)&&(flag == 1'b0)   
  61.         begin
  62.            led1 <= 1'b1;
  63.            //flag <= 1'b1;
  64.         end                                                      
  65.     else if ( led_ctrl)
  66.         led1 <=1'b0; //led1 <= ~led1  某個按鍵值變化時,LED將做亮滅翻轉(zhuǎn)

  67. assign led = led1;//assign led = led1 ? 1'b1 : 1'b0; //LED翻轉(zhuǎn)輸出
  68.   

  69. reg[12:0] respone;//數(shù)值顯示
  70. always@(posedge clk or negedge rst)
  71.      if(!rst)
  72.         begin
  73.           respone<=13'd0;
  74.         end
  75.      else if(led1 ==1'b1)
  76.         begin
  77.           if(cnt==19'd500000)
  78.              respone <= respone+1'b1;              
  79.         end
  80.      else if(key_start_an)
  81.         respone<=13'd0;

  82. always@(posedge clk or negedge rst)//數(shù)碼管掃描模塊
  83. begin
  84.         if(!rst)
  85.                 cnt_scan<=16'd0;               
  86.         else
  87.                 cnt_scan<=cnt_scan+1'b1;
  88. end

  89. always @(cnt_scan)
  90. begin
  91.    case(cnt_scan[15:13])
  92.        3'b000 :
  93.           en = 4'b1110;//位選低電平有效
  94.        3'b001 :
  95.           en = 4'b1101;
  96.        3'b010 :
  97.           en = 4'b1011;
  98.        3'b011 :
  99.           en = 4'b0111;
  100.        default :
  101.           en = 4'b1110;
  102.     endcase
  103. end

  104. always@(en) //對應(yīng)COM信號給出各段數(shù)據(jù)
  105. begin
  106.         case(en)
  107.                 4'b1110:
  108.                         dataout_buf=20*respone%10000/1000;
  109.                 4'b1101:
  110.                         dataout_buf=20*respone%1000/100;
  111.                 4'b1011:
  112.                         dataout_buf=20*respone%100/10;
  113.                 4'b0111:
  114.                         dataout_buf=20*respone%10;        
  115.                 default:;
  116.          endcase
  117. end

  118. always@(dataout_buf)
  119. begin
  120.         case(dataout_buf)
  121.                 4'b0000:
  122.                         dataout=8'b1100_0000;////共陰0x3f,
  123.                 4'b0001:
  124.                         dataout=8'b1111_1001;//0x06,
  125.                 4'b0010:
  126.                         dataout=8'b1010_0100;//0x5b,
  127.                 4'b0011:
  128.                         dataout=8'b1011_0000;//0x4f,
  129.                 4'b0100:
  130.                         dataout=8'b1001_1001;//0x66,
  131.                 4'b0101:
  132.                         dataout=8'b1001_0010;//0x6d,
  133.                 4'b0110:
  134.                         dataout=8'b1000_0010;//0x7d,
  135.                 4'b0111:
  136.                         dataout=8'b1111_1000;//0x07,
  137.                 4'b1000:
  138.                         dataout=8'b1000_0000;//0x7f,
  139.                 4'b1001:
  140.                         dataout=8'b1001_1000;//0x6f,
  141.                 default:;
  142.          endcase
  143. end

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

使用道具 舉報

沙發(fā)
ID:235935 發(fā)表于 2017-10-4 21:49 | 只看該作者
感謝樓主無私分享
回復(fù)

使用道具 舉報

板凳
ID:291855 發(fā)表于 2018-6-26 19:19 | 只看該作者
這個程序不能打開啊
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲 欧美 激情 另类 校园 | 羞羞色网站 | 欧美888 | 国产精品欧美一区二区 | 国产精品综合视频 | 欧美视频免费在线 | 国产精久久久久久久 | 亚洲免费一区二区 | 亚洲一区在线免费观看 | 久久精品亚洲 | 风间由美一区二区三区在线观看 | 9久9久| 久久精品综合 | 国产一级黄色网 | 亚洲欧美国产视频 | 久久精品国产免费一区二区三区 | 国产乱码久久久久久 | 在线观看av网站永久 | 日韩欧美一级片 | 福利精品 | 在线观看电影av | 福利视频一区二区 | 九色网址 | 日韩羞羞 | 亚洲乱码国产乱码精品精98午夜 | 亚洲国产精品成人久久久 | 国产日韩一区二区 | 在线国产视频 | 麻豆精品一区二区三区在线观看 | 国产精品1区2区3区 国产在线观看一区 | 日本a在线| 凹凸日日摸日日碰夜夜 | 国产精品一区二区无线 | 日韩av一二三区 | 日本三级电影在线观看视频 | 中文字幕成人 | 国产精品不卡视频 | 在线观看亚洲精品 | 国产成人a亚洲精品 | 91国产视频在线 | 国产成人精品999在线观看 |