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

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

?? serial.vhd

?? VHDL接口電路實(shí)用源程序
?? VHD
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):

--
-- 本模塊的功能是驗(yàn)證實(shí)現(xiàn)和PC機(jī)進(jìn)行基本的串口通信的功能。需要在
--PC機(jī)上安裝一個(gè)串口調(diào)試工具來(lái)驗(yàn)證程序的功能。
-- 程序?qū)崿F(xiàn)了一個(gè)收發(fā)一幀10個(gè)bit(即無(wú)奇偶校驗(yàn)位)的串口控
--制器,10個(gè)bit是1位起始位,8個(gè)數(shù)據(jù)位,1個(gè)結(jié)束
--位。串口的波特律由程序中定義的div_par參數(shù)決定,更改該參數(shù)可以實(shí)
--現(xiàn)相應(yīng)的波特率。程序當(dāng)前設(shè)定的div_par 的值是0x104,對(duì)應(yīng)的波特率是
--9600。用一個(gè)8倍波特率的時(shí)鐘將發(fā)送或接受每一位bit的周期時(shí)間
--劃分為8個(gè)時(shí)隙以使通信同步.
--程序的工作過(guò)程是:串口處于全雙工工作狀態(tài),按動(dòng)SW0,CPLD向PC發(fā)送“welcome"
--字符串(串口調(diào)試工具設(shè)成按ASCII碼接受方式);PC可隨時(shí)向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ā)出一個(gè)低電平信號(hào)給第一根行掃描線  
END serial;

ARCHITECTURE arch OF serial IS


   --//////////////////inner reg////////////////////
   SIGNAL div_reg                  :  std_logic_vector(15 DOWNTO 0);--分頻計(jì)數(shù)器,分頻值由波特率決定。分頻后得到頻率8倍波特率的時(shí)鐘   
   SIGNAL div8_tras_reg            :  std_logic_vector(2 DOWNTO 0);--該寄存器的計(jì)數(shù)值對(duì)應(yīng)發(fā)送時(shí)當(dāng)前位于的時(shí)隙數(shù)   
   SIGNAL div8_rec_reg             :  std_logic_vector(2 DOWNTO 0);  --寄存器的計(jì)數(shù)值對(duì)應(yīng)接收時(shí)當(dāng)前位于的時(shí)隙數(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ā)送使能信號(hào)  
   SIGNAL clkbaud_rec              :  std_logic; --以波特率為頻率的接受使能信號(hào)  
   SIGNAL clkbaud8x                :  std_logic; --以8倍波特率為頻率的時(shí)鐘,它的作用是將發(fā)送或接受一個(gè)bit的時(shí)鐘周期分為8個(gè)時(shí)隙  
   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,因?yàn)榻邮諗?shù)據(jù)為異步信號(hào),故用兩級(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í)去抖計(jì)數(shù)器   
   SIGNAL start_delaycnt           :  std_logic;  --開始延時(shí)計(jì)數(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ù),其值由對(duì)應(yīng)的波特率計(jì)算而得,按此參數(shù)分頻的時(shí)鐘頻率是波倍特率的8倍,此處值對(duì)應(yīng)9600的波特率,即分頻出的時(shí)鐘頻率是9600*8	    
   SIGNAL txd_xhdl3                :  std_logic;   

BEGIN
   en <="00000000" ;--7段數(shù)碼管使能信號(hào)賦值
   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倍波特率的時(shí)鐘
   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í)隙數(shù)在8倍波特率的時(shí)鐘下加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í)隙數(shù)在8倍波特率的時(shí)鐘下加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個(gè)時(shí)隙,接收使能信號(hào)有效,將數(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個(gè)時(shí)隙,發(fā)送使能信號(hào)有效,將數(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

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人高清视频在线| 亚洲成av人片在线| 成人网在线播放| 国产精品女主播av| jlzzjlzz亚洲日本少妇| 亚洲人精品一区| 在线观看不卡视频| 麻豆中文一区二区| 久久久久99精品国产片| 成人av网在线| 亚洲一区二区精品3399| 日韩一区二区在线观看视频播放| 精品一区二区免费| 国产精品久久久久一区二区三区共| 色综合久久久久网| 日韩高清一区二区| 国产天堂亚洲国产碰碰| 日本高清免费不卡视频| 伦理电影国产精品| 日韩伦理av电影| 欧美一级日韩不卡播放免费| 国产成人午夜精品影院观看视频 | 久久99精品久久久久婷婷| 国产目拍亚洲精品99久久精品| 99re热视频这里只精品| 丝袜美腿成人在线| 亚洲欧洲www| 欧美一区二区在线观看| 成人黄色综合网站| 免费一级欧美片在线观看| 国产欧美日韩精品一区| 欧美日韩免费一区二区三区| 国产在线精品视频| 亚洲午夜免费福利视频| 久久久高清一区二区三区| 欧美性猛片aaaaaaa做受| 国内精品不卡在线| 亚洲v日本v欧美v久久精品| 国产欧美一区在线| 在线不卡一区二区| 91香蕉视频污在线| 国产剧情一区二区| 日韩和欧美一区二区| 亚洲欧美综合色| 精品人在线二区三区| 日本高清不卡在线观看| 成人精品高清在线| 久久se精品一区精品二区| 亚洲视频一二区| 久久精品男人天堂av| 欧美一三区三区四区免费在线看 | 国产麻豆视频精品| 亚洲不卡在线观看| 亚洲精品视频在线| 中文在线免费一区三区高中清不卡| 欧美一区二区三区日韩| 欧美在线一二三四区| 日韩欧美一区在线| 欧美性猛交xxxx黑人交| 成人av网站免费观看| 国产精品综合一区二区三区| 日韩av不卡一区二区| 亚洲在线观看免费视频| 自拍av一区二区三区| 欧美激情自拍偷拍| 久久久久久电影| 精品国产精品网麻豆系列| 6080日韩午夜伦伦午夜伦| 欧美日韩国产高清一区二区三区 | 天天综合天天综合色| 亚洲欧美电影一区二区| 国产精品亲子乱子伦xxxx裸| 国产三级一区二区三区| 久久久精品黄色| 国产亚洲综合在线| 久久久久久电影| 欧美高清一级片在线观看| 久久久久久久精| 久久久久久久久久美女| 久久免费的精品国产v∧| 精品国产伦一区二区三区观看体验| 欧美一区二区在线免费播放 | 欧美三级中文字幕在线观看| 一本大道久久a久久综合婷婷| av中文字幕亚洲| 91麻豆精东视频| 欧美午夜电影一区| 欧美一区三区二区| 欧美精品一区二区三区视频| 欧美成va人片在线观看| 一区二区日韩av| 亚洲精品五月天| 亚洲成av人影院在线观看网| 首页国产欧美久久| 久久99精品国产.久久久久久| 久草中文综合在线| 不卡在线观看av| 91色乱码一区二区三区| 欧美日韩国产精品自在自线| 日韩一区二区三区三四区视频在线观看| 在线不卡一区二区| 久久综合99re88久久爱| 日本一二三不卡| 亚洲精品高清在线| 日本91福利区| 国产91精品免费| 91久久免费观看| 欧美一区二区日韩| 国产丝袜美腿一区二区三区| 亚洲乱码日产精品bd| 青娱乐精品在线视频| 夫妻av一区二区| 欧美无人高清视频在线观看| 日韩欧美久久久| 国产精品动漫网站| 日韩福利电影在线| 成人亚洲一区二区一| 欧美精品丝袜中出| 国产欧美中文在线| 石原莉奈在线亚洲二区| 国产福利精品导航| 91精品国产一区二区三区香蕉| 欧美国产国产综合| 免费成人在线网站| 91亚洲精品久久久蜜桃| 欧美电视剧在线看免费| 亚洲美女精品一区| 国产一区二区三区精品视频| 欧洲一区二区三区免费视频| 久久综合九色综合欧美就去吻| 亚洲欧美国产三级| 国产成人啪免费观看软件| 欧美日韩视频在线一区二区| 国产精品成人免费| 久久99精品久久久久久久久久久久| 99国产一区二区三精品乱码| 久久网站热最新地址| 亚洲18影院在线观看| 99久久婷婷国产综合精品| 精品国产凹凸成av人导航| 亚洲国产三级在线| a美女胸又www黄视频久久| 精品国产自在久精品国产| 日日夜夜免费精品视频| 91美女视频网站| 亚洲国产精品国自产拍av| 日本中文字幕一区二区视频 | 免费在线视频一区| 欧美猛男男办公室激情| 亚洲视频一二三| 成人激情免费视频| 久久久国产精品麻豆| 紧缚奴在线一区二区三区| 日韩欧美一卡二卡| 视频在线观看91| 欧美日韩国产另类一区| 一区二区免费在线播放| 一本大道久久a久久综合婷婷| 国产精品久久夜| 成人一区二区三区视频| 中文字幕成人在线观看| 国产91丝袜在线播放0| 国产午夜精品久久久久久免费视| 久久91精品国产91久久小草| 日韩欧美综合一区| 久久精品久久久精品美女| 欧美一区二区三区免费在线看| 亚洲国产成人av网| 欧美日韩综合一区| 香蕉久久一区二区不卡无毒影院| 色哟哟国产精品免费观看| 亚洲欧美日韩国产综合| 91久久精品国产91性色tv| 亚洲夂夂婷婷色拍ww47| 欧美在线三级电影| 天天亚洲美女在线视频| 日韩美女一区二区三区| 国产最新精品免费| 国产精品乱人伦| 色偷偷一区二区三区| 亚洲一区二区三区四区不卡| 8v天堂国产在线一区二区| 六月丁香综合在线视频| xfplay精品久久| 成人高清视频免费观看| 亚洲一区欧美一区| 欧美一区二区三级| 国产白丝网站精品污在线入口| 国产精品女主播av| 欧美午夜视频网站| 蜜臂av日日欢夜夜爽一区| 国产三级一区二区| 在线观看亚洲成人| 青青青伊人色综合久久| 久久精品男人天堂av| 色哟哟精品一区| 久久国产精品免费| 中文字幕在线视频一区| 欧美日韩免费观看一区二区三区| 毛片一区二区三区|