您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 西安交通大学数字逻辑电路实验报告
电子技术实验报告——交通控制器的分析与设计班级:姓名:学号:日期:2016年6月联系电话:目录一、实验目的…………………………………………………………………………3二、项目设计概要……………………………………………………………………3三、系统设计方案……………………………………………………………………4四、测试结果及分析…………………………………………………………………9五、项目总结…………………………………………………………………………10六、结束语……………………………………………………………………………10七、参考书……………………………………………………………………………10一.实验目的数字逻辑电路专题实验是紧紧围绕数字逻辑这门课程进行的一个有实践性特质的课程,主要考察的是对于数字逻辑这门课程中比较重要的知识点的掌握程度和灵活运用程度,也考察了实际操作能力和对于特殊情况和意外情况的处理能力。通过对于译码器编码器等器件的实际操作和对相应变成软件的实际应用,达到对于这门课程更为深入理解这一目的。同时,为解决实际生活中的问题有一定的指导意义,也能更好地对实际生活中的一些组合部件有更好地认识。二.项目设计概要1.设计实现的目标设计一个由一条主干道和一条支干道的汇合点形成的十字交叉路口的交通灯控制器,具体要求如下:(1)主、支干道各设有一个绿、黄、红指示灯,两个显示数码管。(2)主干道处于常允许通行状态,而支干道有车来才允许通行。(3)当主、支道均有车时,两者交替允许通行,主干道每次放行45s,支干道每次放行25s,在每次由亮绿灯变成亮红灯的转换过程中,要亮5s的黄灯作为过渡,并进行减计时显示。2.整体设计概述交通控制器拟由单片的CPLD/FPGA来实现,经分析设计要求,拟定整个系统由9个单元电路组成,如图所示。3.项目设计特点我们在项目设计过程中采用模块化设计思想,同时用变量的方式来完成计数的设计,用计数器来实现显示这一特点,使得设计变得简单。三.系统设计方案1.系统功能模块设计示意图:2.电路模块设计输入:实验板时钟输出:七段数码管电路模块的设计:(1)交通灯控制器:将题设的要求把电路分为ABCD四个状态,A为主干道为绿灯,B为主干道为黄灯,C为主干道为红灯,D为主干道为红灯,旁道为黄灯。用特设的一个变量S,完成电路的即使功能,使得电路可以区分45s,25s等时间点,并且通过if语句完成状态之间的改变。源程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYJTDKZISPORT(CLK,SM,SB,CLD:INSTD_LOGIC;总控电路显示电路计时电路时钟输入(1000Hz)实验板LED7段数码管MR,MY,MG,BR,BY,BG:OUTSTD_LOGIC);ENDENTITYJTDKZ;ARCHITECTUREARTOFJTDKZISTYPESTATE_TYPEIS(A,B,C,D);SIGNALSTATE:STATE_TYPE;BEGINCNT:PROCESS(CLK)ISVARIABLES:INTEGERRANGE0TO45;VARIABLECLR,EN:BIT;BEGINIF(CLK'EVENTANDCLK='1')THENIFCLR='0'THENS:=0;ELSIFEN='0'THENS:=S;ELSES:=S+1;ENDIF;CASESTATEISWHENA=MR='0';MY='0';MG='1';BR='1';BY='0';BG='0';IF(SBANDSM)='1'THENIFS=45THENSTATE=B;CLR:='0';EN:='0';ELSESTATE=A;CLR:='1';EN:='1';ENDIF;ELSIF(SBAND(NOTSM))='1'THENSTATE=B;CLR:='0';EN:='0';ELSESTATE=A;CLR:='1';EN:='1';ENDIF;WHENB=MR='0';MY='1';MG='0';BR='1';BY='0';BG='0';IFS=5THENSTATE=C;CLR:='0';EN:='0';ELSESTATE=B;CLR:='1';EN:='1';ENDIF;WHENC=MR='1';MY='0';MG='0';BR='0';BY='0';BG='1';IF(SMANDSB)='1'THENIFS=25THENSTATE=D;CLR:='0';EN:='0';ELSESTATE=C;CLR:='1';EN:='1';ENDIF;ELSIFSB='0'THENSTATE=D;CLR:='0';EN:='0';ELSESTATE=C;CLR:='1';EN:='1';ENDIF;WHEND=MR='1';MY='0';MG='0';BR='0';BY='1';BG='0';IFS=5THENSTATE=A;CLR:='0';EN:='0';ELSESTATE=D;CLR:='1';EN:='1';ENDIF;ENDCASE;ENDIF;ENDPROCESSCNT;ENDARCHITECTUREART;(2)定时单元电路:当符合题设条件中的时间要求时,相应的定时单元电路开始工作,左后可以达成输出合适的BCD码的要求。源代码:--CNT45S.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT45SISPORT(SB,CLK,EN45:INSTD_LOGIC;DOUT45M,DOUT45B:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDENTITYCNT45S;ARCHITECTUREARTOFCNT45SISSIGNALCNT6B:STD_LOGIC_VECTOR(5DOWNTO0);BEGINPROCESS(SB,CLK,EN45)ISBEGINIFSB='0'THENCNT6B=CNT6B-CNT6B-1;ELSIF(CLK'EVENTANDCLK='1')THENIFEN45='1'THENCNT6B=CNT6B+1;ELSIFEN45='0'THENCNT6B=CNT6B-CNT6B-1;ENDIF;ENDIF;ENDPROCESS;PROCESS(CNT6B)ISBEGINCASECNT6BISWHEN000000=DOUT45M=01000101;DOUT45B=01010000;WHEN000001=DOUT45M=01000100;DOUT45B=01001001;WHEN000010=DOUT45M=01000011;DOUT45B=01001000;WHEN000011=DOUT45M=01000010;DOUT45B=01000111;WHEN000100=DOUT45M=01000001;DOUT45B=01000110;WHEN000101=DOUT45M=01000000;DOUT45B=01000101;WHEN000110=DOUT45M=00111001;DOUT45B=01000100;WHEN000111=DOUT45M=00111000;DOUT45B=01000011;WHEN001000=DOUT45M=00110111;DOUT45B=01000010;WHEN001001=DOUT45M=00110110;DOUT45B=01000001;WHEN001010=DOUT45M=00110101;DOUT45B=01000000;WHEN001011=DOUT45M=00110100;DOUT45B=01101001;WHEN001100=DOUT45M=00110011;DOUT45B=00111000;WHEN001101=DOUT45M=00110010;DOUT45B=00110111;WHEN001110=DOUT45M=00110001;DOUT45B=00110110;WHEN001111=DOUT45M=00110000;DOUT45B=00110101;WHEN010000=DOUT45M=00101001;DOUT45B=00110100;WHEN010001=DOUT45M=00101000;DOUT45B=00110011;WHEN010010=DOUT45M=00100111;DOUT45B=00110010;WHEN010011=DOUT45M=00100110;DOUT45B=00110001;WHEN010100=DOUT45M=00100101;DOUT45B=00110000;WHEN010101=DOUT45M=00100100;DOUT45B=00101001;WHEN010110=DOUT45M=00100011;DOUT45B=00101000;WHEN010111=DOUT45M=00100010;DOUT45B=00100111;WHEN011000=DOUT45M=00100001;DOUT45B=00100110;WHEN011001=DOUT45M=00100000;DOUT45B=00100101;WHEN011010=DOUT45M=00011001;DOUT45B=00100100;WHEN011011=DOUT45M=00011000;DOUT45B=00100011;WHEN011100=DOUT45M=00010111;DOUT45B=00100010;WHEN011101=DOUT45M=00010110;DOUT45B=00100001;WHEN011110=DOUT45M=00010101;DOUT45B=00100000;WHEN011111=DOUT45M=00010100;DOUT45B=00011001;WHEN100000=DOUT45M=00010011;DOUT45B=00011000;WHEN100001=DOUT45M=00010010;DOUT45B=00010111;WHEN100010=DOUT45M=00010001;DOUT45B=00010110;WHEN100011=DOUT45M=00010000;DOUT45B=00010101;WHEN100100=DOUT45M=00001001;DOUT45B=00010100;WHEN100101=DOUT45M=00001000;DOUT45B=00010011;WHEN100110=DOUT45M=00000111;DOUT45B=00010010;WHEN100111=DOUT45M=00000110;DOUT45B=00010001;WHEN101000=DOUT45M=00000101;DOUT45B=00010000;WHEN101001=DOUT45M=00000100;DOUT45B=00001001;WHEN101010=DOUT45M=00000011;DOUT45B=00001000;WHEN101011=DOUT45M=00000010;DOUT45B=00000111;WHEN101100=DOUT45M=00000001;DOUT45B=00000110;WHENOTHERS=DOUT45M=00000000;DOUT45B=00000000;ENDCASE;ENDPROCESS;ENDARCHITECTUREART;(3)译码器电路:完成BCD码转换为相应数字的要求,使得在七段译码器中得
本文标题:西安交通大学数字逻辑电路实验报告
链接地址:https://www.777doc.com/doc-6340870 .html