1、数字电路课程设计交通灯控制FPGA 纯硬件电路综述 数电课内实验报告课程名称: 数字电子技术基础 项目名称: 交通灯控制(实验箱+CPLD) 学 院: 电子信息学院 专 业: 电子信息工程 学 号: 13061223 学生姓名: 罗飞 完成时间: 2015.6.20 1、实验目的1、问题重述:本实验为综合实验。要求设计一个十字交叉路口的交通灯控制电路,使交通灯符合交通规则,保证路口交通通畅。任务1:交通灯控制器设计,设计一个十字交叉路口(分别为A,B通道)的交通灯控制电路。设A,B通道各有红绿黄三种灯,交通灯显示情况为: (1)A通道绿灯,B通道红灯; (2)A通道黄灯,B通道红灯; (3)A
2、通道红灯,B通道绿灯; (4)A通道红灯,B通道黄灯。要求交通灯自动显示:(1)(2)(3)(4),其中(1),(3)持续20秒,(2),(4)持续4秒。任务2:设A,B通道各有红绿(包括直行和右转G1,左转G2)黄四种灯,交通灯显示情况为:(1)A通道绿灯,G1持续20秒,然后G2持续20秒,B通道红灯,共 40秒;(2)A通道黄灯闪烁,闪烁频率1Hz,B通道红灯,共4秒; (3)A通道红灯,B通道绿灯,G1持续20秒,然后G2持续20秒,共40秒; (4)A通道红灯,B通道黄灯闪烁,闪烁频率1Hz。要求交通灯自动显示:(1)(2)(3)(4),并且A,B通道有数码管进行倒计时计数。提示:数
3、码管倒计时可以采用LPM参数库里面的计数器,也可以采用一般计数器结构模型。2、问题剖析:在这个实验中,分为两个任务:按照任务要求实时控制A,B通道的红黄绿三种交通灯的亮灭;用数码管对AB通道进行倒计时计数。 二、项目构思 任务一:其中,AG为A通道绿灯, AY为A通道黄灯,AR为A通道红灯,BG为B通道绿灯, BY为B通道黄灯,BR为B通道红灯。,采用DFF实现周期为1秒的时钟信号变成4秒的时钟分频电路。 ,采用74LS290或74LS160(注:可以多块芯片)计数器实现计数分频电路(输入信号为CLK4S,输出为Y1和Y2)。其中CLK4S,Y1,Y2的波形如下:,根据Y1和Y2信号及其A,B
4、通道各个指示灯的时序,采用与非门实现AG,AY,AR,BG,BY,BR。假设每个指示灯都为高电平时才亮。,A,B通道的黄灯应有闪烁功能,闪烁频率1Hz。修改AY,BY的电路。任务二:方案一:使用case语句实现分为三个倒计时计数模块,模分别为24,20,4,在从中提取个位,十位信号输出数码管显示。方案二:使用74LS192逆序计数芯片实现运用74192芯片搭建预置数分别为9,3,3的逆序计数(实际计数中对应的模分别为20,4,24)采用低电平置数LDN信号在计数到0时进行置数进入下一倒计时环节。2、方案设计与仿真结果1.系统简介:该系统运用74LS161,74LS192等数字电路基本计数器芯片
5、和quartusII软件的verilog语句设计了一个十字交叉路口的交通灯控制电路,并且对A,B通道有数码管进行倒计时计数。2.各模块具体设计:任务一:采用DFF实现周期为1秒的时钟信号变成4秒的时钟分频电路。仿真结果:采用4LS161计数器实现计数分频电路(输入信号为CLK4S,输出为Y1和Y2)。I.输出信号Y1电路原理图:II.输出信号Y2电路原理图:仿真结果:,根据Y1和Y2信号及其A,B通道各个指示灯的时序,采用与非门实现AG,AY,AR,BG,BY,BR。假设每个指示灯都为高电平时才亮。AG= Y1Y2 AY=Y1Y2 AR=Y2BG=Y1Y2 BY=Y1Y2 BR=Y2实验原理图
6、:其中,黄灯闪烁是通过1s时钟信号和结果实现与运算的方法得到。仿真结果:任务二:方案一:case语句实现通过两级宏模块实现:1.顶层电路:2.交通灯倒计时A通道模块其中,DAOJISHI模块源程序为:module DAOJISHI( A,Reg);input 7:0A;output 7:0Reg;reg 7:0Reg; always(A,Reg) case(A) 8B01000101:Reg=8B01000100; 8B01000100:Reg=8B01000011; 8B01000011:Reg=8B01000010; 8B01000010:Reg=8B00100000; 8B0010000
7、0:Reg=8B00011001; 8B00011001:Reg=8B00011000; 8B00011000:Reg=8B00010111; 8B00010111:Reg=8B00010110; 8B00010110:Reg=8B00010101; 8B00010101:Reg=8B00010100; 8B00010100:Reg=8B00010011; 8B00010011:Reg=8B00010010; 8B00010010:Reg=8B00010001; 8B00010001:Reg=8B00010000; 8B00010000:Reg=8B00001001; 8B00001001:R
8、eg=8B00001000; 8B00001000:Reg=8B00000111; 8B00000111:Reg=8B00000110; 8B00000110:Reg=8B00000101; 8B00000101:Reg=8B00000100; 8B00000100:Reg=8B00000011; 8B00000011:Reg=8B00000010; 8B00000010:Reg=8B00000001; 8B00000001:Reg=8B11000100; 8B11000100:Reg=8B11000011; 8B11000011:Reg=8B11000010; 8B11000010:Reg=
9、8B11000001; 8B11000001:Reg=8B10100100; 8B10100100:Reg=8B10100011; 8B10100011:Reg=8B10100010; 8B10100010:Reg=8B10100001; 8B10100001:Reg=8B10100000; 8B10100000:Reg=8B10011001; 8B10011001:Reg=8B10011000; 8B10011000:Reg=8B10010111; 8B10010111:Reg=8B10010110; 8B10010110:Reg=8B10010101; 8B10010101:Reg=8B1
10、0010100; 8B10010100:Reg=8B10010011; 8B10010011:Reg=8B10010010; 8B10010010:Reg=8B10010001; 8B10010001:Reg=8B10010000; 8B10010000:Reg=8B10001001; 8B10001001:Reg=8B10001000; 8B10001000:Reg=8B10000111; 8B10000111:Reg=8B10000110; 8B10000110:Reg=8B10000101; 8B10000101:Reg=8B10000100; 8B10000100:Reg=8B1000
11、0011; 8B10000011:Reg=8B10000010; 8B10000010:Reg=8B10000001; 8B10000001:Reg=8B00100000; default Reg=8B01000101; endcase endmodule注:其中A7,A6位用来表示的交通灯的颜色,A5.0用来表示交通灯的倒计时显示数值B,作为系统的输出,其中A5,4输出十位数码管,A3.0输出个位数码管。A7A6交通灯00AG11AY10ARA5.0状态图为:1 41 1920 2324 1DFF8的电路图为:3.交通灯倒计时B通道模块原理图: DAOJISHIB源程序:module DAO
12、JISHIB( B,RegB);input 7:0B;output 7:0RegB;reg 7:0RegB; always(B,RegB) case(B) 8B01000101:RegB=8B01000100; 8B01000100:RegB=8B01000011; 8B01000011:RegB=8B01000010; 8B01000010:RegB=8B10100100; 8B10100100:RegB=8B10100011; 8B10100011:RegB=8B10100010; 8B10100010:RegB=8B10100001; 8B10100001:RegB=8B10100000
13、; 8B10100000:RegB=8B10011001; 8B10011001:RegB=8B10011000; 8B10011000:RegB=8B10010111; 8B10010111:RegB=8B10010110; 8B10010110:RegB=8B10010101; 8B10010101:RegB=8B10010100; 8B10010100:RegB=8B10010011; 8B10010011:RegB=8B10010010; 8B10010010:RegB=8B10010001; 8B10010001:RegB=8B10010000; 8B10010000:RegB=8B
14、10001001; 8B10001001:RegB=8B10001000; 8B10001000:RegB=8B10000111; 8B10000111:RegB=8B10000110; 8B10000110:RegB=8B10000101; 8B10000101:RegB=8B10000100; 8B10000100:RegB=8B10000011; 8B10000011:RegB=8B10000010; 8B10000010:RegB=8B10000001; 8B10000001:RegB=8B00100000; 8B00100000:RegB=8B00011001; 8B00011001
15、:RegB=8B00011000; 8B00011000:RegB=8B00010111; 8B00010111:RegB=8B00010110; 8B00010110:RegB=8B00010101; 8B00010101:RegB=8B00010100; 8B00010100:RegB=8B00010011; 8B00010011:RegB=8B00010010; 8B00010010:RegB=8B00010001; 8B00010001:RegB=8B00010000; 8B00010000:RegB=8B00001001; 8B00001001:RegB=8B00001000; 8B
16、00001000:RegB=8B00000111; 8B00000111:RegB=8B00000110; 8B00000110:RegB=8B00000101; 8B00000101:RegB=8B00000100; 8B00000100:RegB=8B00000011; 8B00000011:RegB=8B00000010; 8B00000010:RegB=8B00000001; 8B00000001:RegB=8B11000100; 8B11000100:RegB=8B11000011; 8B11000011:RegB=8B11000010; 8B11000010:RegB=8B11000001; 8B11000001:RegB=8B10100100; default RegB20=4,原理同A,从略。 3、实验结果分析 任务一中,按照要求实现了十字交叉路口A,B两个通道的交通灯控制显示。A通道绿灯持续亮20秒,然后黄灯闪烁4秒,然后红灯亮持续24秒。B通道红灯持续亮24秒,然后绿灯持续亮20秒,然后黄灯闪烁4秒。 任务二中,方案一中通过verilog组建倒计时宏模块的方法实现了A,B两个通道的交通灯倒计时显示功能,并在数电实验箱和CPLD板上得到实现。方案二采用74ls192逆序计数芯片实现。A通道倒计时显示:20141241B通道倒计时显示:24120141
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1