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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4626|回復: 0
收起左側

vhdl多功能電子秒表程序

[復制鏈接]
ID:112317 發表于 2016-4-7 01:15 | 顯示全部樓層 |閱讀模式
0.png
vhdl編的多功能電子秒表,可以記錄幾個人的時間,并且可以在跑秒的時候查看記錄。
  1. library ieee;
  2.   use  ieee.std_logic_1164.all;
  3.   use ieee.std_logic_unsigned.all;
  4.   use ieee.std_logic_arith.all;

  5. entity  clock  is
  6.   port( cp:in std_logic;
  7.                 minten:        out std_logic_vector(3 downto 0);
  8.                 min        :        out std_logic_vector(3 downto 0);
  9.                 secten:        out std_logic_vector(3 downto 0);
  10.                 sec:        out std_logic_vector(3 downto 0);
  11.                 stop:        in std_logic;
  12.                 reset:         in std_logic;
  13.         lamp:   out std_logic;
  14.         lam:   out std_logic;
  15.         read: in std_logic);
  16. end clock;

  17. architecture a of clock is
  18. signal mten: integer range 0 to 9;
  19. signal m: integer range 0 to 9;
  20. signal sten: integer range 0 to 9;
  21. signal ss: integer range 0 to 9;
  22. signal read_signal:integer range 0 to 3;
  23. signal ta : integer range 0 to 10;
  24. signal tb : integer range 0 to 10;
  25. signal tc : integer range 0 to 10;
  26. signal td : integer range 0 to 10;
  27. signal xa : integer range 0 to 10;
  28. signal xb : integer range 0 to 10;
  29. signal xc : integer range 0 to 10;
  30. signal xd : integer range 0 to 10;
  31. signal stop_signal: std_logic;

  32. begin
  33. -------------------stop_signal---------------
  34.     process(stop)
  35.     begin
  36.     if stop'event and stop='1' then
  37.        stop_signal<=not stop_signal;
  38.     end if;
  39.     end process;
  40. ------------------clock goes------------------
  41.         process(cp)
  42.         begin
  43.                 if cp'event and cp='1' then
  44.                         if reset='0' then       
  45.                         if stop_signal='1' then
  46.                                 if ss=9 then
  47.                                         ss<=0;
  48.                                         if sten=5 then
  49.                                                 sten<=0;
  50.                                                 if m=9 then
  51.                                                         m<=0;
  52.                                                         if mten=5 then
  53.                                                                 mten<=0;
  54.                                                         else mten<=mten+1;
  55.                                                         end if;
  56.                                                 else m<=m+1;
  57.                                                 end if;
  58.                                         else sten<=sten+1;
  59.                                         end if;
  60.                                 else ss<=ss+1;
  61.                                 end if;
  62.                         end if;
  63.                         else mten<=0;
  64.                                 m<=0;
  65.                                 sten<=0;
  66.                                 ss<=0;

  67.                         end if;
  68.                 end if;
  69.   end process;
  70. ------------------------------read_signal-----------
  71. process(read)
  72. begin
  73.   if read'event and read='1' then
  74.      
  75. if read_signal=2 then read_signal<=0 ;else read_signal<=read_signal+1 ; end if ;
  76.   end if;
  77. end process;
  78. --------------------record--------------
  79. process(read_signal)
  80. begin
  81.   if stop_signal='1' then  
  82.   case read_signal is
  83.         when 1=> ta<=ss;tb<=sten; tc<=m; td<=mten;lamp<='1';lam<='0';
  84.         when 2=> xa<=ss;xb<=sten; xc<=m; xd<=mten;lam<='1'; lamp<='0';
  85.         when others => lamp<='0' ;lam<='0';
  86.    end case;
  87. end if;
  88. end process;      
  89. ------------------------display--------------
  90. process(cp,read_signal)
  91. begin
  92.     case read_signal  is
  93.     when 1=>if stop_signal='0' then
  94.     minten<=conv_std_logic_vector(td,4);
  95.         min<=conv_std_logic_vector(tc,4);
  96.         secten<=conv_std_logic_vector(tb,4);
  97.         sec<=conv_std_logic_vector(ta,4);
  98.           end if;
  99.     when 2=>
  100.            if stop_signal='0' then
  101.     minten<=conv_std_logic_vector(xd,4);
  102.         min<=conv_std_logic_vector(xc,4);
  103.         secten<=conv_std_logic_vector(xb,4);
  104.         sec<=conv_std_logic_vector(xa,4);
  105.           end if;
  106.     when others=>
  107.         minten<=conv_std_logic_vector(mten,4);
  108.         min<=conv_std_logic_vector(m,4);
  109.         secten<=conv_std_logic_vector(sten,4);
  110.         sec<=conv_std_logic_vector(ss,4);
  111.     end case;
  112. end process;
  113. end a;
復制代碼



回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 性色av一区二区 | 人人综合网 | 天堂在线中文资源 | 久久久久国产精品夜夜夜夜夜 | 97视频在线| 免费一级黄色录像 | 欧美 日韩 国产 成人 在线 | 成人免费网站黄 | 午夜理伦三级理论 | 国产一区二区网站 | 成人在线免费视频观看 | 中国av在线| 国产免费成人 | 一区二区三区在线免费 | 精品在线一区二区 | 极品新婚夜少妇真紧 | 免费网站观看www在线观看 | 在线国产小视频 | 国产成人免费在线视频 | 国产黄a三级三级看三级 | 日韩欧美精品在线 | 成人欧美一区二区三区黑人孕妇 | 日韩欧美国产综合 | 伊人久久久 | 欧美日韩一区二 | 亚洲综合视频在线 | 黄色片一区二区 | 窝窝午夜精品一区二区 | 手机成人在线视频 | 欧美一区在线视频 | 久久青草视频 | 97在线超碰 | 成年人免费看视频 | 中文在线观看视频 | 国产午夜三级一区二区三 | 欧美黄色免费网站 | 日韩成人在线免费观看 | 国产欧美日本 | 在线视频日韩 | 免费看黄色av | 天天插天天操 |