【正文】
發(fā)送寄存器 SIGNAL rxd_buf : std_logic_vector(7 DOWNTO 0)。 以波特率為頻率的發(fā)送使能信號(hào) SIGNAL clkbaud_rec : std_logic。 END UART。use 。需要在PC機(jī)上安裝一個(gè)串口調(diào)試工具來驗(yàn)證程序的功能。library IEEE。 串行數(shù)據(jù)發(fā)送端 en : OUT std_logic_vector(7 downto 0)。 寄存器的計(jì)數(shù)值對(duì)應(yīng)接收時(shí)當(dāng)前位于的時(shí)隙數(shù) SIGNAL state_tras : std_logic_vector(3 DOWNTO 0)。 SIGNAL rxd_reg1 : std_logic。 開始延時(shí)計(jì)數(shù)標(biāo)志 SIGNAL key_entry1 : std_logic。139。139。) AND (t_delay = 00000000000000000000)) THEN start_delayt = 39。) THEN key_entry1 = 39。039。 END IF。)THEN IF (div_reg = div_par 0000000000000001) THEN div_reg = 0000000000000000。039。 PROCESS(clkbaud8x,rst) BEGIN IF (NOT rst = 39。) THEN 接收開始標(biāo)志 div8_rec_reg = div8_rec_reg + 001。 ELSE IF(clkbaud8x39。 END IF。 PROCESS(div8_tras_reg) BEGIN IF (div8_tras_reg = 111) THEN clkbaud_tras = 39。) THEN txd_reg = 39。039。) THEN key_entry2 = 39。 ELSE IF (send_state 111) THEN IF (clkbaud_tras = 39。 state_tras = 0000。 END IF。139。 txd_buf(6 DOWNTO 0) = txd_buf(7 DOWNTO 1)。 END IF。139。 txd_buf(6 DOWNTO 0) = txd_buf(7 DOWNTO 1)。 state_tras = state_tras + 0001。 CASE send_state IS WHEN 000 = txd_buf = 01100101。 END IF。 END IF。 rxd_reg2 = 39。 ELSE IF(clkbaud8x39。139。 END IF。 ELSE IF (state_rec = 1001) THEN IF (clkbaud_rec = 39。 END IF。 3 WHEN 00110100 = seg_data = 10011001。 B WHEN 01000011 = seg_data = 01100011。9 / 9。 D WHEN 01000101 = seg_data = 01100001。 5 WHEN 00110110 = seg_data = 01000001。 END IF。) THEN state_rec = 0000。 ELSE IF (state_rec = 0001 AND state_rec=1000) THEN IF (clkbaud_rec = 39。039。139。 rxd_buf = 00000000。 END IF。139。 l WHEN 010 = txd_buf = 01100011。 WHEN 1111 = IF (clkbaud_tras = 39。 END IF。 txd_buf(6 DOWNTO 0) = txd_buf(7 DOWNTO 1)。139。 END IF。