文档详情

八路彩灯控制程序.doc

发布:2018-05-17约3.29千字共9页下载文档
文本预览下载声明
FPGA课程设计 ——8路彩灯控制程序 2013年12月12日 8路彩灯控制程序 一、设计任务 1.设计目的: (1)了解及掌握时序电路及组合电路的基本结构常用数字电路 (2)通过ModelSim软件编写组合电路与时序电路混合的程序进行仿真和调试。 (3)74LS194 移位寄存器和74LS161 计数器的使用。 2.设计内容: 编写一个8路彩灯控制程序,要求彩灯有以下3种演示花型。 (1)8路彩灯同时亮灭; (2)从左至右逐个亮(每次只有1路亮); (3)8路彩灯每次4路亮,4路灯灭,且灯灭相同,交替亮灭; 在演示过程中,只有当一种花型演示完毕才能转向其他演示花型。 设计方案论证 74LS161 是四位二进制同步加数器,74LS194 是一个 4 位双向移位寄存器,它具有左移,右移,保持,清零等逻 辑功能,八路彩灯控制器通过利用双向移位寄存器 74LS194 的串行输入, 个并行输 8 出端控制彩灯;双向移位寄存器 74LS194 的控制端 S1=0,S0=1 时,进行右移; S1=1,S0=0 时, 进行左移; 十六位计数器 74LS161 可以从 0000 到 1111 进行计数. 利用十六位计数器 74LS161 的功能实现自动循环. (1)8路彩灯同时亮灭: (2)从左至右逐个亮(每次只有1路亮); (3)8路彩灯每次4路亮,4路灯灭,且灯灭相同,交替亮灭 11110000 三、结构及其工作原理 1.结构框图: 2.电路的原理图: 3.电路工作原理: 74LS161 是四位二进制同步加数器, 74LS194 是一个 4 位双向移位寄存器,它具有左移,右移,保持,清零等逻 辑功能, 八路彩灯控制器通过利用双向移位寄存器 74LS194 的串行输入, 个并行输 8 出端控制彩灯;双向移位寄存器 74LS194 的控制端 S1=0,S0=1 时,进行右移; S1=1,S0=0 时, 进行左移; 十六位计数器 74LS161 可以从 0000 到 1111 进行计数. 利用十六位计数器 74LS161 的功能实现自动循环. 四、主要元件 1.数字电路实验箱 1 台 2.74LS161 芯片 1 片 3.74LS194 芯片 2 片 4.导线若干 五、仿真过程及结果 新建工程及文件,分别添加设计程序及测试程序,进行编译及纠错,编译通过后运行程序仿真进行调试得出结果。 设计模块: module caideng(clk,ledout,reset); input reset,clk; output[7:0] ledout; integer i; reg[7:0] ledout; reg[2:0] count; reg[4:0] count2; reg clkflag; reg[1:0] in; always @(posedge clk) begin if(!reset) count=0; else if(count=3) begin clkflag=0; count=count+1; end else if(count7) begin clkflag=1; count=count+1; end else if(count==7) begin clkflag=1; count=0; end else begin clkflag=1; count=count+1; end end always @(posedge clk) begin if(!reset) count2=0; else if(count2=7) begin in=2b00; count2=count2+1; end else if(count2=15) begin in=2b01; count2=count2+1; end else if(count223) begin in=2b10; count2=count2+1; end else if(count2==23) begin in=2b10; count2=0; end else begin
显示全部
相似文档