8位串行状态机.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8位串行状态机

1、时序控制状态机VHDL码: LIBRARY IEEE; USE IEEE.STD_logic_1164.all; ENTITY PULS8 IS PORT (RST,CLK,RU : IN STD_LOGIC:=0; SS : IN STD_LOGIC_VECTOR(2 DOWNTO 0):=000; LDO,ROUT,P,CT,COUT : OUT STD_LOGIC:=0); END ENTITY PULS8; ARCHITECTURE behav OF PULS8 IS TYPE states IS(S0,S1,S2,S3,S4,S5,S6,S7,S8); SIGNAL ST : states:=S0; BEGIN PROCESS(CLK,RST,RU,SS) BEGIN IF RST=0 THEN ST =S0; ELSIF (CLKEVENT AND CLK =1 AND RU =1) THEN CASE ST IS WHEN S0 = IF SS=000 THEN ST =S1;LDO=0;ROUT=0;COUT=0;P=0;CT=0;ELSE ST=S0;END IF; WHEN S1 = IF SS=001 THEN ST =S2;LDO=1;COUT=1;P=1;CT=1;ELSE ST=S1;COUT=0;P=0;CT=0;END IF; WHEN S2 = IF SS=010 THEN ST =S3;LDO=1;COUT=1;P=1;CT=1;ELSE ST=S2;COUT=0;P=0;CT=0;END IF; WHEN S3 = IF SS=011 THEN ST =S4;LDO=1;COUT=1;P=1;CT=1;ELSE ST=S3;COUT=0;P=0;CT=0;END IF; WHEN S4 = IF SS=100 THEN ST =S5;LDO=1;COUT=1;P=1;CT=1;ELSE ST=S4;COUT=0;P=0;CT=0;END IF; WHEN S5 = IF SS=101 THEN ST =S6;LDO=1;COUT=1;P=1;CT=1;ELSE ST=S5;COUT=0;P=0;CT=0;END IF; WHEN S6 = IF SS=110 THEN ST =S7;LDO=1;COUT=1;P=1;CT=1;ELSE ST=S6;COUT=0;P=0;CT=0;END IF; WHEN S7 = IF SS=111 THEN ST =S8;LDO=1;COUT=1;P=1;CT=1;ELSE ST=S7;COUT=0;P=0;CT=0;END IF; WHEN S8 = IF RU=1 THEN ST =S0 ; ELSE ST=S8;END IF; WHEN OTHERS= ST =S0; END CASE; IF ST=S8 THEN ROUT=1; ELSE ROUT =0; END IF; END IF; END PROCESS; END ARCHITECTURE behav; 状态机控制串并转换8数码静态显示电路的状态图如下图: 时序控制状态机原理图: 时序控制状态机仿真波形图 2 、左移寄存器VHDL码: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY SHIFTER IS PORT (CLOCK,LOAD:IN STD_LOGIC; DATA:IN STD_LOGIC_VECTOR(7 DOWNTO 0); shiftout: OUT STD_LOGIC); END SHIFTER; ARCHITECTURE ONE OF SHIFTER IS BEGIN PROCESS(CLOCK,LOAD) VARIABLE REG8: STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF CLOCKEVENT AND CLOCK=1 THEN IF LOAD=0 THEN REG8:=DATA; ELSE REG8(1 DOWNTO 7):=REG8(0 DOWNTO 6); REG8(0):=0; shiftout = REG8(7); END IF; END IF; END PROCESS; END ONE; 左移寄存器原理图: 左移寄存器仿真波形图: 3、7段16进制译码器VHDL码:: libra

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档