• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > FPGA與單片機(jī)實(shí)現(xiàn)數(shù)據(jù)RS232串口通信的設(shè)計(jì)

    FPGA與單片機(jī)實(shí)現(xiàn)數(shù)據(jù)RS232串口通信的設(shè)計(jì)

    作者: 時(shí)間:2010-08-31 來(lái)源:網(wǎng)絡(luò) 收藏

    begin
    if reset='1' then
    txcnt_r=(others=>'0');
    sout1='1';
    state=start1;
    cou=0;
    elsif txclk'event and txclk='1' then
    case state is
    when start1=>
    if start='1' then
    if cou=3 then
    len=thr;
    end if;
    tsr:=thr(7 downto 0);
    oddb1:=thr(7 downto 0);
    sout1='0'; --起始位
    txcnt_r=(others=>'0');
    state=shift1;
    else
    state=start1;
    end if;
    when shift1=>
    oddb=oddb1(7) xor oddb1(6) xor oddb1(5) xor oddb1(4) xor oddb1(3) xor oddb1(2) xor oddb1(1) xor oddb1(0);
    sout1=tsr(0); --數(shù)據(jù)位
    tsr(6 downto 0):=tsr(7 downto 1);
    tsr(7):='0';
    txcnt_r=txcnt_r 1;
    if (txcnt_r=7) then
    state=odd1;cou=cou 1;
    end if;
    when odd1=> --奇校驗(yàn)位
    if oddb='1' then
    sout1='0';state=stop1;
    else
    sout1='1';state=stop1;
    end if;
    when stop1=>
    sout1='1'; --停止位
    if cou4 then
    state=start1;
    else
    state=start2;
    end if;
    when start2=>
    tsr1:=thr(15 downto 8);
    oddb2:=thr(15 downto 8);
    sout1='0'; --起始位
    txcnt_r=(others=>'0');
    state=shift2;
    when shift2=>
    oddb=oddb2(7) xor oddb2(6) xor oddb2(5) xor oddb2(4) xor oddb2(3) xor oddb2(2) xor oddb2(1) xor oddb2(0);
    sout1=tsr1(0);--數(shù)據(jù)位
    tsr1(6 downto 0):=tsr1(7 downto 1);
    tsr1(7):='0';
    txcnt_r=txcnt_r 1;
    if (txcnt_r=7) then
    state=odd2;
    end if;
    when odd2=> --奇校驗(yàn)位
    if oddb='1' then
    sout1='0';state=stop2;
    else
    sout1='1';state=stop2;
    end if;
    when stop2=>
    sout1='1'; --停止位
    if len=0000000000000000 then
    state=stop2;
    else
    state=start1;
    len=len-1;
    end if;
    end case;
    end if;
    end process;
    sout=sout1;
    end behav;


    關(guān)鍵詞: EDA FPGA 單片機(jī)

    評(píng)論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 宣威市| 澜沧| 灵寿县| 互助| 正镶白旗| 岳普湖县| 通化县| 饶平县| 嘉兴市| 汉阴县| 霍州市| 家居| 朔州市| 阳新县| 扶沟县| 兖州市| 赤城县| 团风县| 贵溪市| 黔西| 冀州市| 铁力市| 汕头市| 大同市| 广宗县| 龙山县| 洪泽县| 房山区| 盘锦市| 启东市| 井研县| 静安区| 象州县| 德惠市| 武威市| 莆田市| 深泽县| 太原市| 高阳县| 堆龙德庆县| 高邮市|