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

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

?? serial.vhd

?? CPLD VHDL CODE非常好的參考資料
?? VHD
?? 第 1 頁 / 共 2 頁
字號:

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

ENTITY serial IS
   PORT (
      clk                     : IN std_logic;   
      rst                     : IN std_logic;   
      rxd                     : IN std_logic;   --串行數(shù)據(jù)接收端
      txd                     : OUT std_logic; --串行數(shù)據(jù)發(fā)送端  
      en                      : OUT std_logic_vector(7 DOWNTO 0); -- 數(shù)碼管使能 
      seg_data                : OUT std_logic_vector(7 DOWNTO 0); --數(shù)碼管數(shù)據(jù)  
      key_input               : IN std_logic;   --按鍵輸入
      lowbit                  : OUT std_logic); --發(fā)出一個低電平信號給第一根行掃描線  
END serial;

ARCHITECTURE arch OF serial IS


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

BEGIN
   en <="00000000" ;--7段數(shù)碼管使能信號賦值
   txd <= txd_xhdl3;
   lowbit <= '0' ;
   txd_xhdl3 <= txd_reg ;

   PROCESS(clk,rst)
   BEGIN
      
      IF (NOT rst = '1') THEN
         cnt_delay <= "00000000000000000000";    
         start_delaycnt <= '0';    
      ELSIF(clk'EVENT AND clk='1')THEN
         IF (start_delaycnt = '1') THEN
            IF (cnt_delay /= "11000011010100000000") THEN
               cnt_delay <= cnt_delay + "00000000000000000001";    
            ELSE
               cnt_delay <= "00000000000000000000";    
               start_delaycnt <= '0';    
            END IF;
         ELSE
            IF ((NOT key_input='1') AND (cnt_delay = "00000000000000000000")) THEN
               start_delaycnt <= '1';    
            END IF;
         END IF;
      END IF;
   END PROCESS;

   PROCESS(clk,rst)
   BEGIN
      
      IF (NOT rst = '1') THEN
         key_entry1 <= '0';    
      ELSIF(clk'EVENT AND clk='1')THEN
         IF (key_entry2 = '1') THEN
            key_entry1 <= '0';    
         ELSE
            IF (cnt_delay = "11000011010100000000") THEN
               IF (NOT key_input = '1') THEN
                  key_entry1 <= '1';    
               END IF;
            END IF;
         END IF;
      END IF;
   END PROCESS;

   PROCESS(clk,rst)
   BEGIN
      
      IF (NOT rst = '1') THEN
         div_reg <= "0000000000000000";    
      ELSIF(clk'EVENT AND clk='1')THEN
         IF (div_reg = div_par - "0000000000000001") THEN
            div_reg <= "0000000000000000";    
         ELSE
            div_reg <= div_reg + "0000000000000001";    
         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 - "0000000000000001") 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  --接收開始標(biāo)志
            div8_rec_reg <= div8_rec_reg + "001";--接收開始后,時隙數(shù)在8倍波特率的時鐘下加1循環(huán)    
         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";--發(fā)送開始后,時隙數(shù)在8倍波特率的時鐘下加1循環(huán)    
         END IF;
	   END IF;
      END IF;
   END PROCESS;

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

   PROCESS(div8_tras_reg)
   BEGIN
      IF (div8_tras_reg = "111") THEN
         clkbaud_tras <= '1';  --在第7個時隙,發(fā)送使能信號有效,將數(shù)據(jù)發(fā)出  
      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";    
         key_entry2 <= '0';    
      ELSE IF(clkbaud8x'EVENT AND clkbaud8x = '1') THEN
         IF (NOT key_entry2 = '1') THEN
            IF (key_entry1 = '1') THEN
               key_entry2 <= '1';    
               txd_buf <= "01110111";   --"w"
            END IF;
         ELSE

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久er精品视频| 成人欧美一区二区三区1314| 视频一区视频二区在线观看| 欧美日韩一区中文字幕| 午夜久久久久久| 日韩一级片网址| 国产成人亚洲精品青草天美| 国产精品久久网站| 91丨porny丨国产入口| 一区二区三区精品久久久| 欧美色爱综合网| 乱一区二区av| 中文字幕中文字幕在线一区| 欧洲一区二区三区在线| 日欧美一区二区| 久久精品这里都是精品| 成人黄色大片在线观看| 亚洲国产一区二区三区| 国产女主播在线一区二区| 免费在线一区观看| 久久久噜噜噜久久人人看| 国产一区二区三区精品视频| 国产精品你懂的在线欣赏| 欧美在线短视频| 久久99精品国产麻豆婷婷| 国产精品网站在线播放| 欧美精品在线一区二区| 国产69精品久久久久毛片| 亚洲女厕所小便bbb| 日韩一卡二卡三卡四卡| 99久久精品国产观看| 日韩高清不卡一区二区三区| 国产欧美一区二区精品性色| 欧美三级韩国三级日本一级| 国产精品中文字幕一区二区三区| 亚洲欧美日韩在线播放| 日韩三级视频在线看| 91论坛在线播放| 国产真实乱对白精彩久久| 亚洲一区二区三区四区五区黄 | 美女精品一区二区| 欧美一区二区三区免费在线看| 欧美韩日一区二区三区四区| 中文字幕在线一区| 欧美妇女性影城| 不卡av在线免费观看| 免费高清视频精品| 亚洲精品日韩一| 国产女人18水真多18精品一级做| 精品视频在线看| 99v久久综合狠狠综合久久| 激情久久五月天| 午夜精品久久一牛影视| 综合分类小说区另类春色亚洲小说欧美| 欧美一级欧美三级| 欧美日韩一区二区在线观看视频| 成人免费的视频| 国产精品一区在线| 捆绑调教一区二区三区| 亚洲成人免费视频| 精品理论电影在线观看| 色综合久久天天| 欧美三级在线看| av不卡免费电影| 成人三级在线视频| 国产一区二区三区四区五区美女| 天堂成人国产精品一区| 一区二区在线电影| 亚洲欧美一区二区三区极速播放| 国产片一区二区| 国产午夜亚洲精品午夜鲁丝片 | 欧美电视剧免费全集观看| 欧美日韩国产一区| 欧美日韩高清在线播放| 欧美午夜免费电影| 欧美视频中文字幕| 欧美性videosxxxxx| 在线亚洲一区二区| 欧美亚洲禁片免费| 欧美日韩情趣电影| 欧美丰满嫩嫩电影| 日韩欧美国产精品| 精品国产91九色蝌蚪| 久久影院视频免费| 国产欧美一区二区三区鸳鸯浴| 国产日韩精品一区二区三区在线| 久久精品日韩一区二区三区| 久久亚区不卡日本| 国产香蕉久久精品综合网| 欧美激情综合网| 亚洲色图.com| 亚洲成a人在线观看| 青青草国产精品97视觉盛宴| 日本亚洲视频在线| 国产一区二区日韩精品| 成人午夜视频福利| 99久久免费国产| 欧美色老头old∨ideo| 91精品国产91久久久久久一区二区 | 天天av天天翘天天综合网| 日韩精品1区2区3区| 精品中文av资源站在线观看| 国产黄色精品网站| 91麻豆免费观看| 欧美精品亚洲一区二区在线播放| 欧美一级理论片| 欧美激情在线看| 亚洲超碰97人人做人人爱| 精品亚洲欧美一区| 99精品热视频| 欧美一区二区三区成人| 久久久国产综合精品女国产盗摄| 亚洲欧洲色图综合| 日韩vs国产vs欧美| 成人精品视频一区| 69p69国产精品| 国产精品女人毛片| 午夜精品视频一区| 成人丝袜高跟foot| 欧美二区在线观看| 国产精品护士白丝一区av| 日韩国产精品91| 成人国产精品免费| 日韩一区二区在线观看视频播放| 国产日产欧美一区| 午夜av一区二区| 风间由美性色一区二区三区| 欧美疯狂做受xxxx富婆| 国产精品毛片大码女人| 三级欧美在线一区| 91在线看国产| www激情久久| 舔着乳尖日韩一区| 91视频国产观看| 久久亚洲一级片| 午夜精品福利一区二区三区蜜桃| 免费成人在线视频观看| 欧美在线三级电影| 丝袜亚洲另类丝袜在线| 免费观看日韩电影| 一本大道久久a久久精二百| 精品国产三级电影在线观看| 一区二区激情小说| 成人妖精视频yjsp地址| 日韩欧美一区在线| 亚洲一区在线观看免费观看电影高清| 亚洲精品老司机| 欧美一区二区视频网站| 久久久久国产精品麻豆ai换脸 | 91精品国产手机| 亚洲女女做受ⅹxx高潮| 国产欧美日韩另类视频免费观看| 欧美一区二区视频在线观看2022| 自拍偷拍亚洲激情| av亚洲精华国产精华精| 国产欧美一区二区精品性色| 精品一区二区在线免费观看| 日韩三级中文字幕| 奇米影视一区二区三区| 欧美视频在线不卡| 亚洲一区二区视频| 色网站国产精品| 亚洲精品中文在线观看| 91小视频在线| 亚洲日穴在线视频| 91久久人澡人人添人人爽欧美| 中文字幕一区二区三区色视频| 成人一区二区三区视频| 国产日韩欧美电影| 粉嫩13p一区二区三区| 日本一区二区免费在线| 成人av在线网| 亚洲欧美偷拍三级| 日本韩国精品在线| 亚洲自拍都市欧美小说| 欧美日韩一区二区欧美激情| 午夜电影久久久| 欧美一级片在线看| 国产一区在线不卡| 国产女人18水真多18精品一级做| 成人美女视频在线观看18| 久久久久久久久久久久电影| 久久久久久久国产精品影院| 欧美精品在线观看一区二区| 色综合久久久网| 国产一区二区三区综合| 久久国产精品露脸对白| 91麻豆精品国产综合久久久久久| 日韩va欧美va亚洲va久久| 日韩视频在线观看一区二区| 精品亚洲欧美一区| 中文字幕av一区二区三区高| 99re视频精品| 香蕉乱码成人久久天堂爱免费| 6080亚洲精品一区二区| 国产乱子伦一区二区三区国色天香| 欧美高清在线视频| 欧美日韩亚洲不卡| 国产福利一区二区| 一区二区久久久|