数字逻辑课程设计报告.doc_第1页
数字逻辑课程设计报告.doc_第2页
数字逻辑课程设计报告.doc_第3页
数字逻辑课程设计报告.doc_第4页
数字逻辑课程设计报告.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2010年7月9日课程设计主要内容:一、 设计要求以实验台上的4个红色指示灯、4个绿色指示灯和4个黄色指示灯模仿路口的东、西、南、北四个方向的红、绿、黄交通灯。控制这些指示灯,使它们按下列规律亮、灭:初始状态为四个方向的红灯全亮,时间1秒。东、西方向绿灯亮,南、北方向红灯亮。东、西方向通车,时间5秒。东、西方向黄灯闪烁,南、北方向红灯亮,时间2秒。东、西方向红灯亮,南、北方向绿灯亮。南、北方向通车,时间5秒。东、西方向红灯亮,南、北方向黄灯闪烁,时间2秒。返回2,继续运行。若发生紧急事件,例如救护车、警车通过时,则按下单脉冲按钮,使得的东、西、南、北四个方向的红灯亮。紧急事件结束后,恢复到原状态继续运行使用。二、 器件设备1. TDS系列数字电路实验系统2. 器件:ISP1016E可编程逻辑器件3. 软件:在Windows平台上运行的ispLEVER编程软件4. 编程电缆线及导线若干三、 设计方案此题即为一个典型的时序状态机,共有六个大的状态,现设定:S0: 四个方向的红灯全亮S1: 东、西方向绿灯亮,南、北方向红灯亮S2:东、西方向黄灯闪烁,南、北方向红灯亮S3:东、西方向红灯亮,南、北方向绿灯亮S4:东、西方向红灯亮,南、北方向黄灯闪烁S5:东、西、南、北四个方向的红灯亮则状态图如下: 图3.1 状态机的状态图 S01S1S4S5S2S3此状态机是该设计的核心模块,由其控制着东、西、南、北方向的交通。仔细分析设计要求可知,东西方向交通灯状态变化相同,南北方向亦相同,故实际上只需控制两组交通灯,所以状态机有六个输出变量,分别控制东西、南北方向的红、绿、黄灯的亮灭状态。另外,状态机还有三个输入变量,分别为复位信号、紧急状况控制信号、时钟信号。由于在vhdl语言中,同一个进程内只能有一个时钟,所以紧急信号宜以电平来触发。但实验要求通过单脉冲来控制紧急信号,为了解决这个矛盾,可以设计一个边沿触发的紧急信号发生器,当输入一个单脉冲时,输出电平为高,即进入紧急状态;再输入一单脉冲,输出电平为低,解除紧急状态。为了控制各个状态持续的时间,需在状态机中设置计时装置。考虑到状态变化的最小单位时间是0.2s,可将输入状态机的时钟信号的频率设计为5Hz,即一个脉冲周期为0.2s。由于实验台上最小的确定时钟频率为100kHz,若将此时钟分频为5Hz,则需要模为20000的计数器,这需要较多的硬件资源。为了节省资源,可利用实验台上1000Hz100kHz的可调时钟,将时钟频率调节为1000Hz,这样就只需要模为200的计数器来分频。此外,复位信号利用高低电平来控制,当电平为高时,状态机保持东、西、南、北四个方向红灯均亮的状态,若为低则由初始状态进入状态循环。状态循环则由时间来控制,14秒为一个循环:1-5秒为状态:S16-7秒为状态:S28-12秒为状态:S313-14秒为状态:S4四、 vhdl源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity light isport(clk:in std_logic;-输入的100KHz的时钟信号en:in std_logic;-出现交通事故的控制信号re:in std_logic;-复位信号Q,Y:out integer range 0 to 9;-通过数码管显示,Q表示东西路的时间,Y表示南北路的时间r1:out std_logic; -东西方向红灯状态 y1:out std_logic; -东西方向黄灯状态 g1:out std_logic; -东西方向绿灯状态 r2:out std_logic; -南北方向红灯状态 y2:out std_logic; -南北方向黄灯状态 g2:out std_logic -南北方向绿灯状态);end;architecture control of light issignal Q1:integer range 0 to 20000;-用于M20000的计数器的计数signal Q2:integer range 0 to 100;-用于交通灯的总时间计数signal clk1:std_logic;-5Hz的时钟信号signal QS:integer range 0 to 9;-东西路的时间计数 signal YS:integer range 0 to 9;-南北路的时间计数signal r3,y3,g3,r4,y4,g4:std_logic;-记录东西方向红黄绿灯状态,南北方向红黄绿灯状态begin process(clk)-M20000的计数器 begin if(clk event and clk =1) then if(Q1=19999) then clk1=1;Q1=0; else clk1=0;Q1=Q1+1; end if; end if; end process; process(en,clk1,re) begin if(re=1) then Q2=1;QS=0;YS=0;r3=0;g3=0;y3=0;r4=0;y4=0;g4=0;-复位:东西南北方向的所有灯都熄灭 else if(en=1) then QS=0;YS=0;Q2=Q2;r3=1;g3=0;y3=0;r4=1;y4=0;g4=0;-出现紧急事故,东西和南北方向红灯亮,其余灯熄灭 else if(clk1 event and clk1=1) then if(Q2=76) then Q2=1 and Q26) then QS=0;YS=0;Q2=Q2+1;r3=1;g3=0;y3=0;r4=1;y4=0;g4=6 and Q211) then QS=5;YS=7;Q2=Q2+1;r3=0;g3=1;y3=0;r4=1;y4=0;g4=11 and Q216) then QS=4;YS=6;Q2=Q2+1;r3=0;g3=1;y3=0;r4=1;y4=0;g4=16 and Q221) then QS=3;YS=5;Q2=Q2+1;r3=0;g3=1;y3=0;r4=1;y4=0;g4=21 and Q226) then QS=2;YS=4;Q2=Q2+1;r3=0;g3=1;y3=0;r4=1;y4=0;g4=26 and Q2=31) then QS=1;YS=3;Q2=Q2+1;r3=0;g3=1;y3=0;r4=1;y4=0;g4=31 and Q2QS=2;YS=2;Q2=Q2+1;r3=0;g3=0;y3=1;r4=1;g4=0;y4QS=2;YS=2;Q2=Q2+1;r3=0;g3=0;y3=0;r4=1;g4=0;y4QS=2;YS=2;Q2=Q2+1;r3=0;g3=0;y3=1;r4=1;g4=0;y4QS=2;YS=2;Q2=Q2+1;r3=0;g3=0;y3=0;r4=1;g4=0;y4QS=2;YS=2;Q2=Q2+1;r3=0;g3=0;y3=1;r4=1;g4=0;y4QS=1;YS=1;Q2=Q2+1;r3=0;g3=0;y3=0;r4=1;g4=0;y4QS=1;YS=1;Q2=Q2+1;r3=0;g3=0;y3=1;r4=1;g4=0;y4QS=1;YS=1;Q2=Q2+1;r3=0;g3=0;y3=0;r4=1;g4=0;y4QS=1;YS=1;Q2=Q2+1;r3=0;g3=0;y3=1;r4=1;g4=0;y4QS=1;YS=1;Q2=Q2+1;r3=0;g3=0;y3=0;r4=1;g4=0;y4null;end case; elsif(Q2=41 and Q246) then Q2=Q2+1;QS=7;YS=5;r3=1;g3=0;y3=0;r4=0;y4=0;g4=46 and Q251) then Q2=Q2+1;QS=6;YS=4;r3=1;g3=0;y3=0;r4=0;y4=0;g4=51 and Q256) then Q2=Q2+1;QS=5;YS=3;r3=1;g3=0;y3=0;r4=0;y4=0;g4=56 and Q261) then Q2=Q2+1;QS=4;YS=2;r3=1;g3=0;y3=0;r4=0;y4=0;g4=61 and Q266) then Q2=Q2+1;QS=3;YS=1;r3=1;g3=0;y3=0;r4=0;y4=0;g4=66 and Q2QS=2;YS=2;Q2=Q2+1;r3=1;g3=0;y3=0;r4=0;y4=1;g4QS=2;YS=2;Q2=Q2+1;r3=1;g3=0;y3=0;r4=0;y4=0;g4QS=2;YS=2;Q2=Q2+1;r3=1;g3=0;y3=0;r4=0;y4=1;g4QS=2;YS=2;Q2=Q2+1;r3=1;g3=0;y3=0;r4=0;y4=0;g4QS=2;YS=2;Q2=Q2+1;r3=1;g3=0;y3=0;r4=0;y4=1;g4QS=1;YS=1;Q2=Q2+1;r3=1;g3=0;y3=0;r4=0;y4=0;g4QS=1;YS=1;Q2=Q2+1;r3=1;g3=0;y3=0;r4=0;y4=1;g4QS=1;YS=1;Q2=Q2+1;r3=1;g3=0;y3=0;r4=0;y4=0;g4QS=1;YS=1;Q2=Q2+1;r3=1;g3=0;y3=0;r4=0;y4=1;g4QS=1;YS=1;Q2=Q2+1;r3=1;g3=0;y3=0;r4=0;y4=0;g4null; end case; end if; end if; end if; end if; end process; Q=QS; Y=YS; r1=r3; y1=y3; g1=g3; r2=r4; y2=y4; g2=g4;end control;五、 心得体会在本次数字逻辑电路课程设计中,自己所作的题目是交通灯控制系统。在两周的实习期间,通过交通灯控制系统这个题目,加深了自己对数字逻辑电路的理解。在设计当中,通过查阅资料,使自己时也掌握了几种常用数字电路芯片的工作原理及真值表,掌握了组合逻辑电路设计的基本步骤以及方法。在刚开始的设计当中,面对着如何将诸多的逻辑功能结合为统一的功能模块。通过不断学习进步,逐步的打开了思路。通过这两周的数字电路课程设计实习,使我感悟最深的是数字电路设计不仅需要有相对深厚的知识功底更需要有严谨认真的科学态度。好的电路设计不仅要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论