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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mc8051_tmrctr.vhd

?? Standard 8051 IP Core
?? VHD
?? 第 1 頁 / 共 2 頁
字號:
-------------------------------------------------------------------------------

      when "10" =>
               
        -- 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(7 downto 0) = conv_unsigned(255,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_countl0 = conv_unsigned(255,8) then
                  s_countl0 <= s_counth0;
                else
                  s_countl0 <= s_countl0 + conv_unsigned(1,1);
                end if;
              else
                if s_ext_edge0 = '1' then
                  if s_countl0 = conv_unsigned(255,8) then
                    s_countl0 <= s_counth0;
                  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);
        end if;
        
-------------------------------------------------------------------------------
-- operating mode 3 (One 8 bit timer/counter and one 8 bit timer)
-------------------------------------------------------------------------------

      when "11" =>
           
        -- 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(7 downto 0) = conv_unsigned(255,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_countl0 = conv_unsigned(255,8) 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_countl0 = conv_unsigned(255,8) 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 timer/counter overflow flag1
        if tcon_tr1_i = '1' then
          if s_count_enable = '1' then   
            if s_count0(15 downto 8) = conv_unsigned(255,8) then
              s_tf1 <= '1';
            else
              s_tf1 <= '0';
            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 tcon_tr1_i = '1' then
            if s_count_enable = '1' then   
              if s_counth0 = conv_unsigned(255,8) then
                s_counth0 <= conv_unsigned(0,8);
              else
                s_counth0 <= s_counth0 + conv_unsigned(1,1);
              end if;
            end if; 
          end if;
        end if;
        
      when others => null;
    end case;
  
------------------------------------------------------------------------------
--+++++++++++++++++   END OF TIMER / COUNTER 0   +++++++++++++++++++++++++++--
------------------------------------------------------------------------------

  
------------------------------------------------------------------------------
--+++++++++++++++++++++   TIMER / COUNTER 1   ++++++++++++++++++++++++++++++--
------------------------------------------------------------------------------
-- This is timer/counter1. It is built around the 16 bit count register
-- s_count1 and realises its four operating modes
------------------------------------------------------------------------------

-------------------------------------------------------------------------------
-- operating mode 0 (13 bit timer/counter)
-------------------------------------------------------------------------------
      case s_mode1 is
        when "00" =>

        -- This section generates the timer/counter overflow flag1
        if s_tmr_ctr1_en = '1' then
          if s_count_enable = '1' then
            if s_mode0 = conv_unsigned(1,2) or
               s_mode0 = conv_unsigned(0,2) or
               s_mode0 = conv_unsigned(2,2) then
              if s_c_t1 = '0' or (s_ext_edge1 = '1' and s_c_t1 = '1')  then
                if s_count1 = conv_unsigned(65311,16) then                           -- ***
                  s_tf1 <= '1';
                else
                  s_tf1 <= '0';
                end if;
              end if;
            else
              null;
            end if;
          end if;
        end if;
        
        -- This section generates the low byte register of tmr/ctr1
        if wt_i = "01" and wt_en_i = '1' then
          s_countl1 <= unsigned(reload_i);  
        else
          if s_tmr_ctr1_en = '1' then
            if s_count_enable = '1' then   
              if s_c_t1 = '0' then
                if s_countl1 = conv_unsigned(31,8) then                              -- *** 
                  s_countl1 <= conv_unsigned(0,8);
                else
                  s_countl1 <= s_countl1 + conv_unsigned(1,1);
                end if;
              else
                if s_ext_edge1 = '1' then
                  if s_countl1 = conv_unsigned(31,8) then                            -- *** 
                    s_countl1 <= conv_unsigned(0,8);
                  else
                    s_countl1 <= s_countl1 + 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/ctr1
        if wt_i = "11" and wt_en_i = '1' then
          s_counth1 <= unsigned(reload_i);  
        else
          if s_tmr_ctr1_en = '1' then
            if s_count_enable = '1' then   
              if s_c_t1 = '0' then
                if s_count1 = conv_unsigned(65311,16) then                            -- *** 
                  s_counth1 <= conv_unsigned(0,8);
                else
                  if s_countl1 = conv_unsigned(31,8) then                              -- ***
                    s_counth1 <= s_counth1 + conv_unsigned(1,1);
                  end if;
                end if;
              else
                if s_ext_edge1 = '1' then
                  if s_count1 = conv_unsigned(65311,16) then                           -- *** 
                    s_counth1 <= conv_unsigned(0,8);
                  else
                    if s_countl1 = conv_unsigned(31,8) then                            -- *** 
                      s_counth1 <= s_counth1 + 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 flag1
        if s_tmr_ctr1_en = '1' then
          if s_count_enable = '1' then
            if s_mode0 = conv_unsigned(1,2) or
               s_mode0 = conv_unsigned(0,2) or
               s_mode0 = conv_unsigned(2,2) then
              if s_c_t1 = '0' or (s_ext_edge1 = '1' and s_c_t1 = '1')  then
                if s_count1 = conv_unsigned(65535,16) then
                  s_tf1 <= '1';
                else
                  s_tf1 <= '0';
                end if;
              end if;
            else
              null;
            end if;
          end if;
        end if;
        
        -- This section generates the low byte register of tmr/ctr1
        if wt_i = "01" and wt_en_i = '1' then
          s_countl1 <= unsigned(reload_i);  
        else
          if s_tmr_ctr1_en = '1' then
            if s_count_enable = '1' then   
              if s_c_t1 = '0' then
                if s_count1 = conv_unsigned(65535,16) then
                  s_countl1 <= conv_unsigned(0,8);
                else
                  s_countl1 <= s_countl1 + conv_unsigned(1,1);
                end if;
              else
                if s_ext_edge1 = '1' then
                  if s_count1 = conv_unsigned(65535,16) then
                    s_countl1 <= conv_unsigned(0,8);
                  else
                    s_countl1 <= s_countl1 + 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/ctr1
        if wt_i = "11" and wt_en_i = '1' then
          s_counth1 <= unsigned(reload_i);  
        else
          if s_tmr_ctr1_en = '1' then
            if s_count_enable = '1' then   
              if s_c_t1 = '0' then
                if s_count1 = conv_unsigned(65535,16) then
                  s_counth1 <= conv_unsigned(0,8);
                else
                  if s_countl1 = conv_unsigned(255,8) then
                    s_counth1 <= s_counth1 + conv_unsigned(1,1);
                  end if;
                end if;
              else
                if s_ext_edge1 = '1' then
                  if s_count1 = conv_unsigned(65535,16) then
                    s_counth1 <= conv_unsigned(0,8);
                  else
                    if s_countl1 = conv_unsigned(255,8) then
                      s_counth1 <= s_counth1 + conv_unsigned(1,1);
                    end if;
                  end if;
                end if;                  
              end if;
            end if;
          end if;
        end if;
        
-------------------------------------------------------------------------------
-- operating mode 2 (8 bit timer/counter, auto reloaded)
-------------------------------------------------------------------------------

        when "10" =>
               
        -- This section generates the timer/counter overflow flag1
        if s_tmr_ctr1_en = '1' then
          if s_count_enable = '1' then   
            if s_mode0 = conv_unsigned(1,2) or
               s_mode0 = conv_unsigned(0,2) or
               s_mode0 = conv_unsigned(2,2) then
              if s_c_t1 = '0' or (s_ext_edge1 = '1' and s_c_t1 = '1')  then
                if s_count1(7 downto 0) = conv_unsigned(255,16) then
                  s_tf1 <= '1';
                else
                  s_tf1 <= '0';
                end if;
              end if;
            else
              null;
            end if;
          end if;
        end if;
        
        -- This section generates the low byte register of tmr/ctr1
        if wt_i = "01" and wt_en_i = '1' then
          s_countl1 <= unsigned(reload_i);  
        else
          if s_tmr_ctr1_en = '1' then
            if s_count_enable = '1' then   
              if s_c_t1 = '0' then
                if s_countl1 = conv_unsigned(255,8) then
                  s_countl1 <= s_counth1;
                else
                  s_countl1 <= s_countl1 + conv_unsigned(1,1);
                end if;
              else
                if s_ext_edge1 = '1' then
                  if s_countl1 = conv_unsigned(255,8) then
                    s_countl1 <= s_counth1;
                  else
                    s_countl1 <= s_countl1 + 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/ctr1
        if wt_i = "11" and wt_en_i = '1' then
          s_counth1 <= unsigned(reload_i);
        end if;
        
-------------------------------------------------------------------------------
-- operating mode 3 (One 8 bit timer/counter and one 8 bit timer)
-------------------------------------------------------------------------------

      when "11" =>
        
        -- This section generates the low byte register of tmr/ctr1
        if wt_i = "01" and wt_en_i = '1' then
          s_countl1 <= unsigned(reload_i);  
        end if;
        
        -- This section generates the high byte register of tmr/ctr1
        if wt_i = "11" and wt_en_i = '1' then
          s_counth1 <= unsigned(reload_i);
        end if;
          
      when others => null;
    end case;
------------------------------------------------------------------------------
--+++++++++++++++++   END OF TIMER / COUNTER 1   +++++++++++++++++++++++++++--
------------------------------------------------------------------------------
      
    end if;  
  end if;
  
  end process p_tmr_ctr;

  
end rtl;

-------------------------------------------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色中色一区二区| 欧美日韩在线电影| 麻豆精品一二三| 免费在线观看一区| 美女视频免费一区| 精品亚洲免费视频| 粉嫩在线一区二区三区视频| 粉嫩高潮美女一区二区三区| 成人精品视频网站| 91在线丨porny丨国产| 91视频观看视频| 91高清在线观看| 欧美日本高清视频在线观看| 欧美日韩另类一区| 欧美一级免费观看| 久久久久久久国产精品影院| 国产精品视频线看| 亚洲视频免费在线观看| 亚洲一区二区三区国产| 亚洲成人在线观看视频| 青青草91视频| 成人免费毛片app| 欧洲视频一区二区| 制服丝袜亚洲精品中文字幕| 精品人在线二区三区| 国产精品视频你懂的| 香蕉久久一区二区不卡无毒影院| 免费在线观看视频一区| 国产成人精品三级麻豆| 91啪亚洲精品| 日韩欧美久久一区| 亚洲欧美日韩人成在线播放| 午夜av电影一区| 国产一区二区三区四区五区美女 | 欧美三级资源在线| 欧美大片国产精品| 日韩理论电影院| 九九久久精品视频| 欧美亚洲综合在线| 国产人伦精品一区二区| 亚洲国产精品嫩草影院| 国产夫妻精品视频| 日韩一区二区在线看| 中文字幕中文字幕一区二区| 日韩精品亚洲专区| 色综合久久久久综合99| 日韩视频中午一区| 亚洲夂夂婷婷色拍ww47| 国产精品一区专区| 日韩一级大片在线| 亚洲美女电影在线| 国产九九视频一区二区三区| 欧美乱妇15p| 亚洲精品老司机| 成人免费毛片高清视频| 精品久久久久久无| 丝瓜av网站精品一区二区 | 亚洲黄色片在线观看| 国产在线一区观看| 日韩久久免费av| 日韩电影在线免费观看| 91极品美女在线| 国产精品成人一区二区三区夜夜夜 | 日韩精品一区二区三区三区免费 | 青青草视频一区| 在线免费亚洲电影| 国产精品国产三级国产三级人妇 | 一区二区三区在线视频播放| 丰满少妇在线播放bd日韩电影| 欧美成人r级一区二区三区| 日韩经典中文字幕一区| 欧美日韩一区二区欧美激情| 一区二区三区国产| 91视频在线看| 亚洲尤物在线视频观看| 91官网在线免费观看| 夜夜嗨av一区二区三区中文字幕 | 成人av先锋影音| 中文字幕欧美区| 国产丶欧美丶日本不卡视频| 国产亚洲成年网址在线观看| 国产美女视频91| 国产精品久久久久影院色老大 | 亚洲一区二区三区四区中文字幕| 99视频有精品| 一区二区三区四区视频精品免费| 91国内精品野花午夜精品| 一区二区三区 在线观看视频| 在线观看日韩国产| 午夜视频在线观看一区二区 | 成人高清免费在线播放| 国产精品久久一卡二卡| 色噜噜偷拍精品综合在线| 亚洲国产精品影院| 日韩一区二区在线看| 九九视频精品免费| 亚洲欧洲三级电影| 欧美精品一卡二卡| 韩国一区二区在线观看| 国产精品电影院| 欧美精品一二三| 国产激情精品久久久第一区二区 | 美女一区二区三区| 国产精品全国免费观看高清| 在线日韩一区二区| 麻豆精品一区二区av白丝在线| 国产无一区二区| 欧美性xxxxxxxx| 国产乱码字幕精品高清av| 综合久久久久久久| 欧美一区二区女人| 99在线热播精品免费| 日本va欧美va瓶| 亚洲欧美日韩成人高清在线一区| 91精品国产色综合久久 | 亚洲黄色小视频| 久久久久久久久久电影| 欧美视频一区在线观看| 国产一区二区三区在线观看免费| 有坂深雪av一区二区精品| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 国产麻豆视频精品| 亚洲成人综合视频| 欧美国产视频在线| 日韩精品一区国产麻豆| 一本大道久久a久久精二百| 激情都市一区二区| 亚洲综合一区二区精品导航| 久久一区二区视频| 欧美一区二区三区喷汁尤物| 91麻豆国产福利在线观看| 精品一区二区国语对白| 日韩av一区二区三区四区| 亚洲久草在线视频| 国产偷国产偷亚洲高清人白洁| 欧美日韩国产首页| 97精品视频在线观看自产线路二| 久久99最新地址| 免费欧美日韩国产三级电影| 亚洲午夜久久久久久久久久久| 国产精品久久久久久久久久免费看 | 欧美三级韩国三级日本三斤| eeuss鲁片一区二区三区在线看| 麻豆精品久久久| 美女在线一区二区| 蜜臀av一区二区在线观看| 日日欢夜夜爽一区| 亚洲成人动漫在线免费观看| 亚洲精品高清在线观看| 亚洲精品v日韩精品| 综合在线观看色| 国产精品家庭影院| 综合网在线视频| 亚洲精品国产成人久久av盗摄| 亚洲欧美中日韩| 中文字幕五月欧美| 综合久久久久久| 一区二区三区欧美日韩| 一区二区三区欧美日| 亚洲高清三级视频| 五月婷婷色综合| 日本不卡中文字幕| 蜜臀av在线播放一区二区三区| 麻豆精品一二三| 国产精品99久久久久久似苏梦涵| 国产东北露脸精品视频| 97精品国产露脸对白| 欧美午夜理伦三级在线观看| 欧美伦理视频网站| 精品国产免费人成电影在线观看四季 | 国产精品久久久久久久久免费樱桃| 国产精品久久久久一区| 一区二区不卡在线播放| 亚洲一区二区欧美| 麻豆一区二区三| 国产iv一区二区三区| 色欧美日韩亚洲| 91精品国产福利| 久久精品亚洲麻豆av一区二区| 国产精品九色蝌蚪自拍| 亚洲高清免费观看高清完整版在线观看| 亚洲香肠在线观看| 国产一区在线视频| 色av一区二区| 亚洲精品在线三区| 亚洲人成精品久久久久| 日本美女一区二区三区| 成人网在线免费视频| 欧美图片一区二区三区| 国产午夜三级一区二区三| 亚洲精品大片www| 激情五月播播久久久精品| 99re在线精品| 欧美成人精品3d动漫h| 亚洲精品一卡二卡| 国产一区二区三区黄视频| 欧美亚洲一区二区在线观看| 久久人人超碰精品| 首页亚洲欧美制服丝腿| 99久久伊人精品|