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

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

?? urat.vhd

?? VHDL語言編寫的全功能串口模塊(包含DTR
?? VHD
?? 第 1 頁 / 共 2 頁
字號:

--程序_UART串行通信  
 --這個程序可以完成簡單的串行收發任務,時鐘頻率采用40MHz 

-- 本模塊的功能是驗證實現和PC機進行基本的串口通信的功能。需要在 
--PC機上安裝一個串口調試工具來驗證程序的功能。 
-- 程序實現了一個收發一幀10個bit(即無奇偶校驗位)的串口控 
--制器,10個bit是1位起始位,8個數據位,1個結束 
--位。串口的波特律由程序中定義的div_par參數決定,更改該參數可以實 
--現相應的波特率。程序當前設定的div_par 的值是0x104,對應的波特率是 
--9600。用一個8倍波特率的時鐘將發送或接受每一位bit的周期時間 
--劃分為8個時隙以使通信同步. 
--程序的工作過程是:串口處于全雙工工作狀態,按動SW0,CPLD向PC發送“welcome" 
--字符串(串口調試工具設成按ASCII碼接受方式);PC可隨時向CPLD發送0-F的十六進制 
--數據,CPLD接受后顯示在7段數碼管上。 
library IEEE; 
use IEEE.STD_LOGIC_1164.ALL; 
use IEEE.STD_LOGIC_ARITH.ALL; 
use IEEE.STD_LOGIC_UNSIGNED.ALL;  

ENTITY UART IS 
   PORT ( 
      clk                     : IN std_logic;    
      rst                     : IN std_logic;    
      rxd                     : IN std_logic;   --串行數據接收端 
      txd                     : OUT std_logic; --串行數據發送端   
      en                      : OUT std_logic; -- 數碼管使能  

      clkout                  : OUT std_logic;

      out_data                : OUT std_logic_vector(7 DOWNTO 0); --數碼管數據   
      key_input               : IN std_logic  --按鍵輸入 
      
      );  

END UART; 

ARCHITECTURE arch OF UART IS 


   --//////////////////inner reg//////////////////// 
   SIGNAL div_reg                  :  std_logic_vector(7 DOWNTO 0);--分頻計數器,分頻值由波特率決定。分頻后得到頻率8倍波特率的時鐘    
   SIGNAL div8_tras_reg            :  std_logic_vector(2 DOWNTO 0);--該寄存器的計數值對應發送時當前位于的時隙數    
   SIGNAL div8_rec_reg             :  std_logic_vector(2 DOWNTO 0);  --寄存器的計數值對應接收時當前位于的時隙數  
   SIGNAL state_tras               :  std_logic_vector(3 DOWNTO 0);  -- 發送狀態寄存器 
   SIGNAL state_rec                :  std_logic_vector(3 DOWNTO 0); -- 接受狀態寄存器  
   SIGNAL clkbaud_tras             :  std_logic; --以波特率為頻率的發送使能信號   
   SIGNAL clkbaud_rec              :  std_logic; --以波特率為頻率的接受使能信號   
   SIGNAL clkbaud8x                :  std_logic; --以8倍波特率為頻率的時鐘,它的作用是將發送或接受一個bit的時鐘周期分為8個時隙   
   SIGNAL recstart                 :  std_logic; -- 開始發送標志  
   SIGNAL recstart_tmp             :  std_logic; --開始接受標志   
   SIGNAL trasstart                :  std_logic;    
   SIGNAL rxd_reg1                 :  std_logic; --接收寄存器1   
   SIGNAL rxd_reg2                 :  std_logic; --接收寄存器2,因為接收數據為異步信號,故用兩級緩存   
   SIGNAL txd_reg                  :  std_logic; --發送寄存器   
   SIGNAL rxd_buf                  :  std_logic_vector(7 DOWNTO 0);--接受數據緩存    
   SIGNAL txd_buf                  :  std_logic_vector(7 DOWNTO 0);--發送數據緩存    
   SIGNAL send_state               :  std_logic_vector(2 DOWNTO 0);--每次按鍵給PC發送"Welcome"字符串,這是發送狀態寄存器    
   SIGNAL cnt_delay                :  std_logic_vector(19 DOWNTO 0);--延時去抖計數器    
   SIGNAL start_delaycnt           :  std_logic;  --開始延時計數標志  
 
   SIGNAL seg_data                  :  std_logic_vector(7 DOWNTO 0);
 
--------------------------------------------------------------------------------
 
    SIGNAL key_entry1               :  std_logic;  --確定有鍵按下標志  
 
   --////////////////////////////////////////////// 
   --CONSTANT  div_par               :  std_logic_vector(15 DOWNTO 0) := "0000000100000100";  
CONSTANT  div_par               :  std_logic_vector(7 DOWNTO 0) := "00011010";  
   --分頻參數,其值由對應的波特率計算而得,按此參數分頻的時鐘頻率是波倍特率的8倍,此處值對應9600的波特率,即分頻出的時鐘頻率是9600*8      
   SIGNAL txd_xhdl3                :  std_logic;    

BEGIN 
   en <='0' ;--7段數碼管使能信號賦值 
   txd <= not txd_xhdl3;    
   txd_xhdl3 <= txd_reg ; 

clkout<=clkbaud8x;
out_data<=txd_buf;
key_entry1<=key_input;

   PROCESS(clk,rst) 
   BEGIN 
       
      IF (NOT rst = '1') THEN 
         div_reg <= "00000000";     
      ELSIF(clk'EVENT AND clk='1')THEN 
         IF (div_reg = div_par - "00000001") THEN 
            div_reg <= "00000000";     
         ELSE 
            div_reg <= div_reg + "00000001";     
         END IF; 
      END IF; 
   END PROCESS; 

   PROCESS(clk,rst)  --分頻得到8倍波特率的時鐘 
   BEGIN 
       
      IF (NOT rst = '1') THEN 
         clkbaud8x <= '0';     
      ELSIF(clk'EVENT AND clk='1')THEN 
         IF (div_reg = div_par - "00000001") THEN 
            clkbaud8x <= NOT clkbaud8x;     
         END IF; 
      END IF; 
   END PROCESS; 

   PROCESS(clkbaud8x,rst) 
   BEGIN 
      IF (NOT rst = '1') THEN 
         div8_rec_reg <= "000";     
      ELSE IF(clkbaud8x'EVENT AND clkbaud8x = '1') THEN 
         IF (recstart = '1') THEN  --接收開始標志 
            div8_rec_reg <= div8_rec_reg + "001";--接收開始后,時隙數在8倍波特率的時鐘下加1循環     
         END IF; 
   END IF; 
      END IF; 
   END PROCESS; 

   PROCESS(clkbaud8x,rst) 
   BEGIN 
      IF (NOT rst = '1') THEN 
         div8_tras_reg <= "000";     
      ELSE IF(clkbaud8x'EVENT AND clkbaud8x = '1') THEN 
         IF (trasstart = '1') THEN 
            div8_tras_reg <= div8_tras_reg + "001";--發送開始后,時隙數在8倍波特率的時鐘下加1循環     
 
   
 
--------------------------------------------------------------------------------
   
          END IF; 
   END IF; 
      END IF; 
   END PROCESS; 

   PROCESS(div8_rec_reg) 
   BEGIN 
      IF (div8_rec_reg = "111") THEN 
         clkbaud_rec <= '1'; ---在第7個時隙,接收使能信號有效,將數據打入    
      ELSE 
         clkbaud_rec <= '0';     
      END IF; 
   END PROCESS; 

   PROCESS(div8_tras_reg) 
   BEGIN 
      IF (div8_tras_reg = "111") THEN 
         clkbaud_tras <= '1';  --在第7個時隙,發送使能信號有效,將數據發出   
      ELSE 
         clkbaud_tras <= '0';     
      END IF; 
   END PROCESS; 

   PROCESS(clkbaud8x,rst) 
   BEGIN 
      IF (NOT rst = '1') THEN 
         txd_reg <= '1';     
         trasstart <= '0';     
         txd_buf <= "00000000";     
         state_tras <= "0000";     
         send_state <= "000";          
      ELSE IF(clkbaud8x'EVENT AND clkbaud8x = '1') THEN 
         IF (NOT key_entry1= '1') THEN 
               txd_buf <= "01110111";   --"w"  
          else
            CASE state_tras IS 
               WHEN "0000" =>  --發送起始位 
                        IF ((NOT trasstart='1') AND (send_state < "111") ) THEN 
                           trasstart <= '1';     
                        ELSE 
                           IF (send_state < "111") THEN 
                              IF (clkbaud_tras = '1') THEN 
                                 txd_reg <= '0';     
                                 state_tras <= state_tras + "0001";     
                              END IF; 
                           ELSE 
                              state_tras <= "0000";     
                           END IF; 
                        END IF; 
               WHEN "0001" => --發送第1位 
                        IF (clkbaud_tras = '1') THEN 
                           txd_reg <= txd_buf(0);     
                           txd_buf(6 DOWNTO 0) <= txd_buf(7 DOWNTO 1);     
                           state_tras <= state_tras + "0001";     

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩三区在线观看| 成人免费视频免费观看| 亚洲欧美国产毛片在线| 国产精品免费丝袜| 中文字幕欧美区| 国产三级精品视频| 中文字幕中文字幕一区| 欧美一区二区二区| 91精品国产丝袜白色高跟鞋| 制服丝袜中文字幕一区| 国产视频一区二区三区在线观看| 国产精品久久久久久久久久久免费看| 亚洲国产中文字幕| 岛国一区二区在线观看| 国产精品热久久久久夜色精品三区| 国产欧美日韩亚州综合| 国产成人av一区二区| 国产电影精品久久禁18| 99麻豆久久久国产精品免费| 91视频在线观看| 欧美精品三级在线观看| ww久久中文字幕| 国产精品麻豆视频| 亚洲香肠在线观看| 精品一二线国产| 99re8在线精品视频免费播放| 精品视频在线看| 精品美女一区二区| 亚洲另类在线视频| 欧美aaaaaa午夜精品| 懂色一区二区三区免费观看| 在线视频综合导航| 日韩精品一区二区三区在线播放| 中文子幕无线码一区tr| 香蕉影视欧美成人| 99热精品国产| 日韩女优制服丝袜电影| 亚洲日本va午夜在线影院| 蜜桃视频一区二区三区在线观看| 成人福利视频网站| 欧美一级片在线| 亚洲男人的天堂av| 国产资源在线一区| 欧美三级欧美一级| 国产精品久久久99| 精品一区二区三区免费| 欧美日韩在线免费视频| 亚洲国产精品成人综合| 狂野欧美性猛交blacked| 91蜜桃婷婷狠狠久久综合9色| 精品久久人人做人人爰| 亚洲第一狼人社区| 一本大道久久a久久综合| 亚洲精品一区二区三区在线观看| 亚洲午夜电影网| 亚洲成人动漫精品| 精品少妇一区二区三区视频免付费| 国产.精品.日韩.另类.中文.在线.播放| 亚洲欧洲综合另类| 国产精品成人在线观看| 久久久综合激的五月天| 五月激情六月综合| 色一情一伦一子一伦一区| 欧美激情一区不卡| 精品一区二区三区欧美| 欧美一二三四在线| 人人超碰91尤物精品国产| 欧美日韩国产综合一区二区三区| 日韩美女视频一区二区| 91麻豆精品一区二区三区| 国产精品剧情在线亚洲| av在线一区二区三区| 中文字幕欧美国产| 成人精品免费看| 欧美国产精品一区二区三区| 国产精品一区二区在线观看不卡| 这里是久久伊人| 色欧美片视频在线观看在线视频| 欧美三级中文字幕| 亚洲第一电影网| 欧美精品免费视频| 视频一区欧美精品| 日韩女优电影在线观看| 精品系列免费在线观看| 日韩精品在线网站| 国产激情91久久精品导航| 国产精品欧美一级免费| 91麻豆免费视频| 亚洲综合视频网| 欧美日韩国产精选| 久久精品99久久久| 国产三级久久久| 91久久精品日日躁夜夜躁欧美| 一区二区三区四区蜜桃| 在线成人av网站| 国产一区二区三区免费看| 国产欧美日韩另类视频免费观看 | 偷拍一区二区三区| 欧美日韩成人一区| 精品一区二区在线免费观看| 国产人成亚洲第一网站在线播放| 91丝袜国产在线播放| 天堂av在线一区| 国产网红主播福利一区二区| 91影院在线观看| 免费看欧美美女黄的网站| 国产欧美视频在线观看| 在线免费观看一区| 国产乱码精品一区二区三| 亚洲男女毛片无遮挡| 精品盗摄一区二区三区| 91欧美激情一区二区三区成人| 亚洲h动漫在线| 国产精品色婷婷| 欧美日韩aaaaaa| 成人国产视频在线观看| 日韩电影在线观看网站| 国产精品久久久久久久久快鸭 | 欧美日韩国产另类一区| 国产69精品久久99不卡| 美国av一区二区| 亚洲精品国产无天堂网2021| 久久久噜噜噜久噜久久综合| 欧美久久久久久蜜桃| 成人激情开心网| 久久国产视频网| 性欧美大战久久久久久久久| 国产精品不卡一区| 精品成人a区在线观看| 欧美午夜精品电影| 99国内精品久久| 成人午夜短视频| 国内欧美视频一区二区| 日韩中文字幕一区二区三区| 亚洲欧洲精品一区二区精品久久久 | 久久久www成人免费无遮挡大片| 欧美午夜寂寞影院| 91亚洲国产成人精品一区二三 | 亚洲精品大片www| 久久亚洲春色中文字幕久久久| 欧美日韩精品免费观看视频| 91丨porny丨首页| 丁香五精品蜜臀久久久久99网站| 久久激情五月婷婷| 久久国产精品99久久久久久老狼| 亚洲成av人片| 图片区小说区国产精品视频| 亚洲精品ww久久久久久p站| 亚洲欧美综合网| 中文字幕视频一区| 中文字幕色av一区二区三区| 中文字幕一区二区三| 国产精品美日韩| 1区2区3区欧美| 全国精品久久少妇| 日本vs亚洲vs韩国一区三区二区| 五月天丁香久久| 日韩成人免费电影| 蜜臀国产一区二区三区在线播放| 日本亚洲欧美天堂免费| 狠狠色丁香九九婷婷综合五月| 精品一二线国产| 国产成人午夜视频| 成人av高清在线| 91国偷自产一区二区三区观看| 一本久久精品一区二区| 欧美视频精品在线观看| 日韩欧美一级二级| 久久精品免视看| 亚洲精品成人少妇| 日韩高清在线不卡| 国产一区二区三区美女| eeuss鲁一区二区三区| 色婷婷一区二区三区四区| 欧美精品色综合| 久久青草欧美一区二区三区| 国产精品国产三级国产普通话99| 亚洲精选视频免费看| 日韩高清在线不卡| 懂色av中文字幕一区二区三区| 色婷婷综合久色| 欧美xxxxx牲另类人与| 中文字幕在线免费不卡| 亚洲成av人片观看| 丁香啪啪综合成人亚洲小说| 欧美日韩在线三级| 国产欧美一区二区三区沐欲| 亚洲愉拍自拍另类高清精品| 久久99精品久久久久婷婷| 99re亚洲国产精品| 精品国产制服丝袜高跟| 亚洲人成网站在线| 免费黄网站欧美| 91在线视频播放地址| 欧美成人一区二区三区在线观看| 国产精品久久99| 极品少妇xxxx精品少妇偷拍| 91高清在线观看| 国产日韩欧美亚洲| 欧美a一区二区|