1 / 5
文档名称:

总线数据传输实验.doc

格式:doc   大小:114KB   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

总线数据传输实验.doc

上传人:wxc6688 2019/4/22 文件大小:114 KB

下载得到文件列表

总线数据传输实验.doc

文档介绍

文档介绍:实验报告实验日期:学号:姓名:实验名称:总线数据传输实验总分:实验设计方案实验框图实验原理SW_BUS低电平有效,此时将K[7..0]的数据送到总线,通过L[7..0]双向数据端口输出显示总线的数据,使用的芯片是74244八位单向三态缓冲器;R3_BUS、R2_BUS、R1_BUS低电平有效,其功能是将数据要传入的寄存器打开,若相应的lddr为1(高电平有效),将数据传入相应的寄存器;总线数据传输时,控制信号中只能有一个有效,寄存器的端口送至数据总线,所以每个BUS接口对应每个R寄存器的显示;通过读写的双重作用,实现R1和R2的数据交换。表达式Reg3←Reg1;Reg1←Reg2;Reg2←Reg3方法一:vhdl代码libraryieee;;entityexp_busisport(clk:instd_logic;sw_bus,r1_bus,r2_bus,r3_bus:instd_logic;k:instd_logic_vector(7downto0);lddr:instd_logic_vector(3downto1);l:inoutstd_logic_vector(7downto0));endexp_bus;architecturertlofexp_busissignalr1,r2,r3,bus_Reg:std_logic_vector(7downto0);beginldreg:process(clk,lddr,bus_reg)beginifclk'eventandclk='1'theniflddr(1)='1'thenr1<=bus_reg;elsiflddr(2)='1'thenr2<=bus_reg;elsiflddr(3)='1'thenr3<=bus_reg;endif;endif;endprocess;bus_reg<=kwhen(sw_bus='0'andr1_bus='1'andr2_bus='1'andr3_bus='1')elser1when(sw_bus='1'andr1_bus='0'andr2_bus='1'andr3_bus='1')elser2when(sw_bus='1'andr1_bus='1'andr2_bus='0'andr3_bus='1')elser3when(sw_bus='1'andr1_bus='1'andr2_bus='1'andr3_bus='0')else(others=>'0');l<=bus_regwhen(sw_bus='0'orr1_bus='0'orr2_bus='0'orr3_bus='0')else(others=>'Z');endrtl;方法二:bdf实验原理图功能验证波形图(图):**********操作步骤(对应波形图列表说明每步状态、有效控制信号)①设置初值,swr3r2r1_bus=1111,lddr=000,数据初始置k为00,总线输出为高阻态;②设置数据k=E1,swr3r2r1_bus=0111,lddr=001,将数据E1传至总线,通过L[7..0]显示总线数据,数据E1存入r1并显示出来;③swr3r2r1_bus=1110,lddr3=100,将R1的数据E1写入总线并存入R3,总线显示从R1传至总线的数