亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mc8051_tmrctr_rtl.vhd

?? mc8051內(nèi)核,VHDL程序,內(nèi)有說明,超詳細.
?? VHD
?? 第 1 頁 / 共 2 頁
字號:
---------------------------------------------------------------------------------                                                                           ----          X       X   XXXXXX    XXXXXX    XXXXXX    XXXXXX      X          ----          XX     XX  X      X  X      X  X      X  X           XX          ----          X X   X X  X         X      X  X      X  X          X X          ----          X  X X  X  X         X      X  X      X  X         X  X          ----          X   X   X  X          XXXXXX   X      X   XXXXXX      X          ----          X       X  X         X      X  X      X         X     X          ----          X       X  X         X      X  X      X         X     X          ----          X       X  X      X  X      X  X      X         X     X          ----          X       X   XXXXXX    XXXXXX    XXXXXX    XXXXXX      X          ----                                                                           ----                                                                           ----                       O R E G A N O   S Y S T E M S                       ----                                                                           ----                            Design & Consulting                            ----                                                                           -----------------------------------------------------------------------------------                                                                           ----         Web:           http://www.oregano.at/                             ----                                                                           ----         Contact:       mc8051@oregano.at                                  ----                                                                           -----------------------------------------------------------------------------------                                                                           ----  MC8051 - VHDL 8051 Microcontroller IP Core                               ----  Copyright (C) 2001 OREGANO SYSTEMS                                       ----                                                                           ----  This library is free software; you can redistribute it and/or            ----  modify it under the terms of the GNU Lesser General Public               ----  License as published by the Free Software Foundation; either             ----  version 2.1 of the License, or (at your option) any later version.       ----                                                                           ----  This library is distributed in the hope that it will be useful,          ----  but WITHOUT ANY WARRANTY; without even the implied warranty of           ----  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU        ----  Lesser General Public License for more details.                          ----                                                                           ----  Full details of the license can be found in the file LGPL.TXT.           ----                                                                           ----  You should have received a copy of the GNU Lesser General Public         ----  License along with this library; if not, write to the Free Software      ----  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA  ----                                                                           ---------------------------------------------------------------------------------------         Author:                 Roland H鰈ler----         Filename:               mc8051_tmrctr_rtl.vhd----         Date of Creation:       Mon Aug  9 12:14:48 1999----         Version:                $Revision: 1.7 $----         Date of Latest Version: $Date: 2002/01/30 16:42:57 $------         Description: Timer/Counter unit of the mc8051 microcontroller.---------------------------------------------------------------------------------------architecture rtl of mc8051_tmrctr is  signal s_pre_count    : unsigned(3 downto 0);  -- these two signals provide  signal s_count_enable : std_logic;             -- a clock enable signal which                                                 -- masks out every sixteenth                                                 -- rising edge of clk    signal s_count0       : unsigned(15 downto 0); -- count for tmr/ctr0  signal s_countl0      : unsigned(7 downto 0);  -- count register for tmr/ctr0  signal s_counth0      : unsigned(7 downto 0);  -- count register for tmr/ctr0  signal s_count1       : unsigned(15 downto 0); -- count for tmr/ctr1  signal s_countl1      : unsigned(7 downto 0);  -- count register for tmr/ctr1  signal s_counth1      : unsigned(7 downto 0);  -- count register for tmr/ctr1  signal s_gate0        : std_logic;             -- gate bit for tmr/ctr 0  signal s_gate1        : std_logic;             -- gate bit for tmr/ctr 1  signal s_c_t0         : std_logic;             -- tmr/ctr 0 is timer if 0  signal s_c_t1         : std_logic;             -- tmr/ctr 1 is timer if 0  signal s_tmr_ctr0_en  : std_logic;             -- starts tmr/ctr 0 if 1  signal s_tmr_ctr1_en  : std_logic;             -- starts tmr/ctr 1 if 1  signal s_mode0        : unsigned(1 downto 0);  -- mode of tmr/ctr 0  signal s_mode1        : unsigned(1 downto 0);  -- mode of tmr/ctr 1  signal s_tf0          : std_logic;             -- overflow flag of tmr/ctr 0  signal s_tf1          : std_logic;             -- overflow flag of tmr/ctr 1  signal s_t0ff0        : std_logic;             -- flipflop for edge dedection  signal s_t0ff1        : std_logic;             -- flipflop for edge dedection  signal s_t0ff2        : std_logic;             -- flipflop for edge dedection  signal s_t1ff0        : std_logic;             -- flipflop for edge dedection  signal s_t1ff1        : std_logic;             -- flipflop for edge dedection  signal s_t1ff2        : std_logic;             -- flipflop for edge dedection  signal s_ext_edge0    : std_logic;             -- 1 if external edge dedected  signal s_ext_edge1    : std_logic;             -- 1 if external edge dedected      begin                 -- architecture rtl  -- The names of the following signals make the code more readable.  s_gate0 <= tmod_i(3);  s_c_t0  <= tmod_i(2);  s_mode0(1) <= tmod_i(1);  s_mode0(0) <= tmod_i(0);    s_gate1 <= tmod_i(7);  s_c_t1  <= tmod_i(6);  s_mode1(1) <= tmod_i(5);  s_mode1(0) <= tmod_i(4);  -- These two signals start the corresponding timer/counter if they are 1.  s_tmr_ctr0_en <= tcon_tr0_i and (not(s_gate0) or int0_i);  s_tmr_ctr1_en <= tcon_tr1_i and (not(s_gate1) or int1_i);  -- The outputs of this unit are the two timer overflow flags, which are read  -- by the control unit and the two 16 bit count registers to enable read  -- access.  tf0_o <= s_tf0;  tf1_o <= s_tf1;  th0_o <= std_logic_vector(s_count0(15 downto 8));  tl0_o <= std_logic_vector(s_count0(7 downto 0));  th1_o <= std_logic_vector(s_count1(15 downto 8));  tl1_o <= std_logic_vector(s_count1(7 downto 0));-------------------------------------------------------------------------------  -- The register s_pre_count is driven with the system clock. So a  -- good enable signal (which is stable when clk has its rising edge) can be  -- derived to mask out every sixteenth pulse of clk.  s_count_enable <= '1' when s_pre_count = conv_unsigned(15,4) else '0';    p_divide_clk: process (clk, reset)        begin      if reset = '1' then        s_pre_count <= conv_unsigned(0,4);      else        if clk'event and clk='1' then          s_pre_count <= s_pre_count + conv_unsigned(1,1);        end if;      end if;      end process p_divide_clk;-------------------------------------------------------------------------------  -- The two flip flops are updated every second clock period.  -- If a falling edge  -- on the port t0_i is dedected the signal s_ext_edge0 is set to 1 and with  -- the next rising edge of clk the counter0 is incremented.  -- The same function is realised for counter1.  s_ext_edge0 <= '1' when (s_t0ff1 = '0' and s_t0ff2 = '1') else '0';        p_sample_t0: process (clk, reset)          begin      if reset = '1' then        s_t0ff0 <= '0';        s_t0ff1 <= '0';        s_t0ff2 <= '0';      else                    if clk'event and clk = '1' then          if s_pre_count = conv_unsigned(6,3) then            if s_c_t0 = '1' then              s_t0ff0 <= t0_i;              s_t0ff1 <= s_t0ff0;              s_t0ff2 <= s_t0ff1;            end if;          end if;        end if;        end if;      end process p_sample_t0;        s_ext_edge1 <= '1' when (s_t1ff1 = '0' and s_t1ff2 = '1') else '0';  p_sample_t1: process (clk, reset)          begin      if reset = '1' then        s_t1ff0 <= '0';        s_t1ff1 <= '0';        s_t1ff2 <= '0';      else        if clk'event and clk = '1' then          if s_pre_count = conv_unsigned(6,3) then            if s_c_t1 = '1' then              s_t1ff0 <= t1_i;              s_t1ff1 <= s_t1ff0;              s_t1ff2 <= s_t1ff1;            end if;                        end if;        end if;        end if;      end process p_sample_t1;--------------------------------------------------------------------------------+++++++++++++++++++++   TIMER / COUNTER 0   ++++++++++++++++++++++++++++++---------------------------------------------------------------------------------- This is timer/counter0. It is built around the 16 bit count register-- s_count0 and realises its four operating modes------------------------------------------------------------------------------  s_count0(15 downto 8) <= s_counth0;  s_count0(7 downto 0) <= s_countl0;  s_count1(15 downto 8) <= s_counth1;  s_count1(7 downto 0) <= s_countl1;        p_tmr_ctr: process (clk, reset)      begin    if reset = '1' then                 -- perform asynchronous reset      s_countl0 <= conv_unsigned(0,8);      s_counth0 <= conv_unsigned(0,8);      s_countl1 <= conv_unsigned(0,8);      s_counth1 <= conv_unsigned(0,8);      s_tf1    <= '0';      s_tf0    <= '0';            else              if clk'event and clk = '1' then          --------------------------------------------------------------------------------- operating mode 0 (13 bit timer/counter)-------------------------------------------------------------------------------      case s_mode0 is        when "00" =>        -- This section generates the timer/counter overflow flag0        if s_tmr_ctr0_en = '1' then          if s_count_enable = '1' then               if s_c_t0 = '0' or (s_ext_edge0 = '1' and s_c_t0 = '1')  then              if s_count0 = conv_unsigned(8191,16) then                s_tf0 <= '1';              else                s_tf0 <= '0';              end if;            end if;          end if;        end if;                -- This section generates the low byte register of tmr/ctr0        if wt_i = "00" and wt_en_i = '1' then          s_countl0 <= unsigned(reload_i);          else          if s_tmr_ctr0_en = '1' then            if s_count_enable = '1' then                 if s_c_t0 = '0' then                if s_count0 = conv_unsigned(8191,16) then                  s_countl0 <= conv_unsigned(0,8);                else                  s_countl0 <= s_countl0 + conv_unsigned(1,1);                end if;              else                if s_ext_edge0 = '1' then                  if s_count0 = conv_unsigned(8191,16) then                    s_countl0 <= conv_unsigned(0,8);                  else                    s_countl0 <= s_countl0 + conv_unsigned(1,1);                  end if;                end if;                                end if;            end if;           end if;        end if;                -- This section generates the high byte register of tmr/ctr0        if wt_i = "10" and wt_en_i = '1' then          s_counth0 <= unsigned(reload_i);          else          if s_tmr_ctr0_en = '1' then            if s_count_enable = '1' then                 if s_c_t0 = '0' then                if s_count0 = conv_unsigned(8191,16) then                  s_counth0 <= conv_unsigned(0,8);                else                  if s_countl0 = conv_unsigned(255,8) then                    s_counth0 <= s_counth0 + conv_unsigned(1,1);                  end if;                end if;              else                if s_ext_edge0 = '1' then                  if s_count0 = conv_unsigned(8191,16) then                    s_counth0 <= conv_unsigned(0,8);                  else                    if s_countl0 = conv_unsigned(255,8) then                      s_counth0 <= s_counth0 + conv_unsigned(1,1);                    end if;                  end if;                end if;                                end if;            end if;          end if;        end if;--------------------------------------------------------------------------------- operating mode 1 (16 bit timer/counter)-------------------------------------------------------------------------------      when "01" =>        -- This section generates the timer/counter overflow flag0        if s_tmr_ctr0_en = '1' then          if s_count_enable = '1' then               if s_c_t0 = '0' or (s_ext_edge0 = '1' and s_c_t0 = '1')  then              if s_count0 = conv_unsigned(65535,16) then                s_tf0 <= '1';              else                s_tf0 <= '0';              end if;            end if;          end if;        end if;                -- This section generates the low byte register of tmr/ctr0        if wt_i = "00" and wt_en_i = '1' then          s_countl0 <= unsigned(reload_i);          else          if s_tmr_ctr0_en = '1' then            if s_count_enable = '1' then                 if s_c_t0 = '0' then                if s_count0 = conv_unsigned(65535,16) then                  s_countl0 <= conv_unsigned(0,8);                else                  s_countl0 <= s_countl0 + conv_unsigned(1,1);                end if;              else                if s_ext_edge0 = '1' then                  if s_count0 = conv_unsigned(65535,16) then                    s_countl0 <= conv_unsigned(0,8);                  else                    s_countl0 <= s_countl0 + conv_unsigned(1,1);                  end if;                end if;                                end if;            end if;           end if;        end if;                -- This section generates the high byte register of tmr/ctr0        if wt_i = "10" and wt_en_i = '1' then          s_counth0 <= unsigned(reload_i);          else          if s_tmr_ctr0_en = '1' then            if s_count_enable = '1' then                 if s_c_t0 = '0' then                if s_count0 = conv_unsigned(65535,16) then                  s_counth0 <= conv_unsigned(0,8);                else                  if s_countl0 = conv_unsigned(255,8) then                    s_counth0 <= s_counth0 + conv_unsigned(1,1);                  end if;                end if;              else                if s_ext_edge0 = '1' then                  if s_count0 = conv_unsigned(65535,16) then                    s_counth0 <= conv_unsigned(0,8);                  else                    if s_countl0 = conv_unsigned(255,8) then                      s_counth0 <= s_counth0 + conv_unsigned(1,1);                    end if;                  end if;                end if;                                end if;            end if;          end if;        end if;-------------------------------------------------------------------------------

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲视频资源在线| 国产精品国产三级国产aⅴ无密码| 国产伦精品一区二区三区视频青涩 | 日本中文字幕一区二区有限公司| 中文字幕亚洲在| 亚洲欧洲制服丝袜| 亚洲人亚洲人成电影网站色| 自拍偷拍亚洲激情| 亚洲精品美国一| 亚洲高清视频在线| 人人狠狠综合久久亚洲| 久久av中文字幕片| 国产精品亚洲第一区在线暖暖韩国| 国产一区不卡在线| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 在线日韩一区二区| 欧美色电影在线| 日韩一级免费一区| 久久久久久毛片| 亚洲免费在线观看| 日本女优在线视频一区二区| 国产精品亚洲成人| 97久久超碰国产精品电影| 欧洲亚洲国产日韩| 91精品免费在线观看| 久久久精品国产免大香伊| 中国av一区二区三区| 洋洋成人永久网站入口| 免费在线观看一区二区三区| 国产精品夜夜嗨| 欧美在线观看视频在线| 精品福利一二区| 一区二区成人在线视频| 久久不见久久见中文字幕免费| 粉嫩13p一区二区三区| 欧美性大战久久久久久久 | 成人久久久精品乱码一区二区三区| av亚洲精华国产精华精| 在线播放视频一区| 国产欧美视频在线观看| 亚洲成在人线免费| av午夜一区麻豆| 欧美刺激脚交jootjob| 亚洲私人影院在线观看| 黄页视频在线91| 91丝袜呻吟高潮美腿白嫩在线观看| 91精品免费在线| 亚洲色图欧美在线| 高清国产午夜精品久久久久久| 欧美丰满少妇xxxxx高潮对白| 欧美国产1区2区| 免费不卡在线观看| 欧美人妇做爰xxxⅹ性高电影| 国产精品毛片大码女人| 久久国产精品99久久人人澡| 欧美日韩一区 二区 三区 久久精品| 久久精品一区蜜桃臀影院| 日本美女视频一区二区| 欧美性大战久久久久久久 | 日韩免费看网站| 亚洲午夜免费福利视频| 91麻豆swag| 国产精品久久久久久久久动漫 | 日韩亚洲欧美综合| 亚洲一区二区三区爽爽爽爽爽| 国产91精品一区二区麻豆亚洲| 欧美电影免费观看完整版| 一区二区三区欧美日韩| 成人av动漫网站| 日本一区二区三区免费乱视频| 九九在线精品视频| 日韩免费一区二区| 韩国成人福利片在线播放| 日韩欧美久久一区| 蜜桃视频在线观看一区| 91精品国产全国免费观看| 午夜电影一区二区三区| 欧美久久久久中文字幕| 偷拍一区二区三区四区| 777色狠狠一区二区三区| 五月天精品一区二区三区| 在线成人av影院| 精品亚洲porn| 久久久综合网站| 成人动漫一区二区| 亚洲精品高清在线观看| 欧美日韩激情一区二区三区| 性做久久久久久| 欧美成人a∨高清免费观看| 国产综合久久久久久久久久久久| 久久久久久久免费视频了| www.综合网.com| 亚洲自拍都市欧美小说| 欧美一区二区高清| 国产综合成人久久大片91| 国产精品视频一二三区| 日本电影亚洲天堂一区| 欧美aa在线视频| 国产亚洲一区二区三区四区| 99久久99久久久精品齐齐 | 欧美一级高清片| 国产电影一区在线| 日本一区二区成人在线| 91麻豆产精品久久久久久 | 国产不卡视频在线播放| 日韩毛片高清在线播放| 8x福利精品第一导航| 国产精品夜夜嗨| 亚洲国产精品久久久久婷婷884| 日韩亚洲欧美综合| 91小视频免费观看| 毛片不卡一区二区| 亚洲欧美日本韩国| 欧美精品一区二区久久久| 99精品热视频| 狠狠色丁香久久婷婷综合丁香| 国产精品毛片久久久久久久| 欧美电影一区二区三区| 91色综合久久久久婷婷| 国产一区二区三区最好精华液| 亚洲夂夂婷婷色拍ww47| 国产精品网站在线观看| 69久久99精品久久久久婷婷 | 日韩欧美一区二区在线视频| 成年人国产精品| 久久精品99国产精品日本| 一区二区在线观看不卡| 久久久久久97三级| 欧美理论片在线| 色国产精品一区在线观看| 国产乱理伦片在线观看夜一区 | 日韩三级伦理片妻子的秘密按摩| 99久久婷婷国产综合精品 | 色噜噜狠狠成人网p站| 国产在线一区观看| 人妖欧美一区二区| 婷婷中文字幕综合| 一区二区成人在线| 一区二区三区中文字幕电影| 国产精品美女久久久久久2018| 欧美成人一级视频| 日韩欧美一二区| 日韩久久精品一区| 91.com在线观看| 欧美日韩激情一区二区| 欧美日韩一区二区三区不卡| 色欧美片视频在线观看在线视频| 国产乱人伦偷精品视频免下载| 日韩电影一区二区三区四区| 亚洲午夜免费视频| 午夜电影网亚洲视频| 日日摸夜夜添夜夜添国产精品| 亚洲国产欧美一区二区三区丁香婷| 亚洲精品中文字幕在线观看| 樱桃视频在线观看一区| 一区二区三区精品视频| 亚洲欧美日韩一区二区 | 欧美三级乱人伦电影| 欧美日韩一区二区不卡| 在线观看91av| 欧美大胆一级视频| 久久久亚洲高清| 欧美韩国日本不卡| 亚洲视频一二三区| 午夜久久久久久久久 | www国产精品av| 久久夜色精品一区| 国产精品乱人伦中文| 亚洲图片另类小说| 亚洲成在人线在线播放| 六月丁香婷婷久久| 成人动漫中文字幕| 欧美日韩精品一区二区三区| 日韩手机在线导航| 国产欧美一区二区精品性色超碰| 亚洲欧美日韩中文播放| 日韩高清一区在线| 国产一区二区三区最好精华液| 波多野结衣中文字幕一区二区三区 | 亚洲日本成人在线观看| 五月综合激情婷婷六月色窝| 国内精品视频一区二区三区八戒| 国产精品综合在线视频| 色婷婷综合久久久| 日韩欧美电影一区| 亚洲人成电影网站色mp4| 天天综合天天综合色| 国产91对白在线观看九色| 欧美午夜电影网| 国产日产欧美一区二区三区| 亚洲一区二区三区四区五区黄| 国产在线乱码一区二区三区| 99久久久精品| 欧美精品一区二区三区高清aⅴ | 欧美乱妇15p| 国产三级一区二区三区| 五月婷婷激情综合网| 成人av在线网站| 精品欧美一区二区在线观看| 亚洲精品成人少妇|