可编程逻辑器件课程设计实践报告(共11页).doc

上传人:飞****2 文档编号:14028693 上传时间:2022-05-02 格式:DOC 页数:11 大小:55KB
返回 下载 相关 举报
可编程逻辑器件课程设计实践报告(共11页).doc_第1页
第1页 / 共11页
可编程逻辑器件课程设计实践报告(共11页).doc_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《可编程逻辑器件课程设计实践报告(共11页).doc》由会员分享,可在线阅读,更多相关《可编程逻辑器件课程设计实践报告(共11页).doc(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上信息工程专业2009级可编程逻辑器件及应用课程设计实践报告设计题目 交通灯控制器设计 专业班级_信息工程091_ 学 号_ 姓 名_ _ 完成时间_ 可编程逻辑器件及应用课程设计实践报告1.设计题目交通灯控制器的设计2.设计要求利用VHDL语言和原理图混合的方法设计一个设计一个由一条主干道和一条支干道的汇合点形成的十字交叉路口的交通灯控制器,具体要求如下:(1) 主、支干道各设有一个绿、黄、红指示灯,两个显示数码管。(2) 主干道处于常允许通行状态,而支干道有车来才允许通行。 (3) 当主、支道均有车时,两者交替允许通行,主干道每次放行45 s,支干道每次放行25 s

2、,在每次由亮绿灯变成亮红灯的转换过程中,要亮5 s的黄灯作为过渡,并进行减计时显示。 3.设计方案根据交通灯控制器功能设计要求,本系统可由以下6个模块组成:45S计时模块CNT45S;25S计时模块CNT25S;05S计时模块CNT05S;交通灯控制模块JTDKZ;显示子模块XSKZ;译码器模块YMQ。4.具体实现(根据不同的方法进行描述,给出具体实现步骤,包括程序)1.在D盘建立七个文件夹,JTDKZ、CNT45S、CNT25S、CNT05S、XSKZ、YMQ、JTDKZQSJ。2. 运行Quartus II 软件,选择File.New Project Wizard 菜单建立一个新工程。工程

3、名称及顶层文件名称为JTDKZ,器件设置对话框中选择EPM240T100C5 芯片,完成新工程的建立。 3. 选择File.New 菜单,创建VHDL 描述语言设计文件,打开文本编辑器界面。 4. 选择File.Save As 菜单,将创建的VHDL 设计文件保存为JTDKZ.VHD。5. 在文本编辑器界面中编写VHDL 程序,代码如下: -JTDKZ.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY JTDKZ IS PORT(CLK,SM,SB:IN STD_LOGIC; MR,MY,MG,BR,BY,BG: OUT STD_LOGIC)

4、;END ENTITY JTDKZ;ARCHITECTURE ART OF JTDKZ IS TYPE STATE_TYPE IS(A,B,C,D); SIGNAL STATE: STATE_TYPE; BEGIN CNT:PROCESS(CLK) IS VARIABLE S:INTEGER RANGE 0 TO 45; VARIABLE CLR,EN:BIT; BEGIN IF(CLKEVENT AND CLK=1)THEN IF CLR=0THEN S:=0; ELSIF EN=0 THEN S:=S; ELSE S:=S+1; END IF; CASE STATE IS WHEN A=M

5、R=0; MY=0; MG=1; BR=1; BY=0; BG=0; IF(SB AND SM)=1 THEN IF S=45 THEN STATE=B; CLR:=0; EN:=0; ELSE STATE=A; CLR:=1; EN:=1; END IF; ELSIF(SB AND (NOT SM)=1 THEN STATE=B; CLR:=0; EN:=0; ELSE STATEMR=0; MY=1; MG=0; BR=1; BY=0; BG=0; IF S=5 THEN STATE=C;CLR:=0; EN:=0; ELSE STATEMR=1; MY=0; MG=0; BR=0; BY

6、=0; BG=1; IF(SM AND SB)=1 THEN IF S=25 THEN STATE=D; CLR:=0; EN:=0; ELSE STATE=C; CLR:=1; EN:=1; END IF; ELSIF SB=0 THEN STATE=D; CLR:=0; EN:=0; ELSE STATEMR=1; MY=0; MG=0; BR=0; BY=1; BG=0; IF S=5 THEN STATE=A;CLR:=0; EN:=0; ELSE STATE=D; CLR:=1; EN:=1; END IF; END CASE; END IF; END PROCESS CNT;END

7、 ARCHITECTURE ART; 6. 选择Tools.Compiler Tool 菜单,编译JTDKZ.VHD 源文件。(可选项:编译无误后建立仿真波形文件JTDKZ.VWF。选择Tools.Simulator Tool 菜单进行仿真)。选择File.Create/Update .Create Symbol File for Current File 菜单,为当前工程生成一个符号文件JTDKZ.BSF 文件。选择File.Close Project 菜单关闭工程JTDKZ。 重复上面的过程,建立CNT45S,最后为当前工程生成一个符号文件CNT45S.BSF 文件。-CNT45S.VHD

8、LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT45S IS PORT(SB,CLK,EN45:IN STD_LOGIC; DOUT45M,DOUT45B:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY CNT45S;ARCHITECTURE ART OF CNT45S IS SIGNAL CNT6B: STD_LOGIC_VECTOR(5 DOWNTO 0); BEGIN PROCESS(SB,CLK,EN45) IS BEGIN IF

9、 SB=0THEN CNT6B=CNT6B-CNT6B-1; ELSIF(CLKEVENT AND CLK= 1)THEN IF EN45=1THEN CNT6B=CNT6B+1;ELSIF EN45=0THEN CNT6BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=;DOUT45BDO

10、UT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOU

11、T45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45BDOUT45M=; DOUT45B=;END C

12、ASE; END PROCESS;END ARCHITECTURE ART;重复上面的过程,建立CNT25S,最后为当前工程生成一个符号文件CNT25S.BSF 文件。-CNT25S.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT25S IS PORT(SB,SM,CLK,EN25:IN STD_LOGIC; DOUT25M,DOUT25B:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY CNT25S;ARCHITECTURE A

13、RT OF CNT25S IS SIGNAL CNT5B: STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN PROCESS(SB,SM,CLK,EN25) IS BEGIN IF SB=0 OR SM=0 THEN CNT5B=CNT5B-CNT5B-1; ELSIF(CLKEVENT AND CLK= 1)THEN IF EN25=1 THEN CNT5B=CNT5B+1; ELSIF EN25=0THEN CNT5BDOUT25B=; DOUT25MDOUT25B=; DOUT25MDOUT25B=; DOUT25MDOUT25B=; DOUT25MDOUT25B=

14、; DOUT25MDOUT25B=; DOUT25MDOUT25B=; DOUT25MDOUT25B=; DOUT25MDOUT25B=; DOUT25MDOUT25B=; DOUT25MDOUT25B=; DOUT25MDOUT25B=; DOUT25MDOUT25B=; DOUT25MDOUT25B=; DOUT25MDOUT25B=; DOUT25MDOUT25B=; DOUT25MDOUT25B=; DOUT25MDOUT25B=; DOUT25MDOUT25B=; DOUT25MDOUT25B=; DOUT25MDOUT25B=; DOUT25MDOUT25B=; DOUT25MDO

15、UT25B=; DOUT25MDOUT25B=; DOUT25MDOUT25B=; DOUT25MDOUT25B=; DOUT25M=; END CASE; END PROCESS;END ARCHITECTURE ART;重复上面的过程,建立CNT05S,最后为当前工程生成一个符号文件CNT05S.BSF 文件。-CNT05S.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT05S IS PORT(CLK,EN05M,EN05B:IN STD_LOGIC; DOUT5:

16、 OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY CNT05S;ARCHITECTURE ART OF CNT05S IS SIGNAL CNT3B: STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN PROCESS(CLK,EN05M,EN05B) IS BEGIN IF(CLKEVENT AND CLK= 1)THEN IF EN05M=1 OR EN05B=1 THEN CNT3B=CNT3B+1; ELSE CNT3BDOUT5DOUT5DOUT5DOUT5DOUT5-DOUT5=; END CASE; END PROCES

17、S;END ARCHITECTURE ART;重复上面的过程,建立XSKZ,最后为当前工程生成一个符号文件XSKZ.BSF 文件。-XSKZ.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY XSKZ IS PORT(EN45,EN25,EN05M,EN05B:IN STD_LOGIC; AIN45M,AIN45B: IN STD_LOGIC_VECTOR(7 DOWNTO 0); AIN25M,AIN25B,AIN05: IN STD_LOGIC_VECTOR(7 DOWNTO

18、 0); DOUTM,DOUTB: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY XSKZ;ARCHITECTURE ART OF XSKZ IS BEGIN PROCESS(EN45,EN25,EN05M,EN05B) IS BEGIN IF EN45=1THEN DOUTM=AIN45M(7 DOWNTO 0); DOUTB=AIN45B(7 DOWNTO 0); ELSIF EN05M=1THEN DOUTM=AIN05(7 DOWNTO 0); DOUTB=AIN05(7 DOWNTO 0); ELSIF EN25=1 THEN DOUTM=A

19、IN25M(7 DOWNTO 0); DOUTB=AIN25B(7 DOWNTO 0); ELSIF EN05B=1THEN DOUTM=AIN05(7 DOWNTO 0); DOUTBDOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7=; END CASE; END PROCESS;END ARCHITECTURE ART;完成上述步骤之后,然后按照下面的步骤进行:1.选择File.New Project Wizard 菜单建立一个新工程。工程名称及顶层文件名称为JTDKZQSJ,器件设置对话框中选择EPM240T100C5 芯片,

20、完成新工程的建立。 2. 将上述六个工程目录下的JTDKZ.BSF、JTDKZ.VHD、CNT45S.BSF、CNT45S.VHD、CNT25S.BSF、CNT25S.VHD、CNT05S.BSF、CNT05S.VHD、XSKZ.BSF、XSKZ.VHD、YMQ.BSF、YMQ.VHD文件拷贝到JTDKZQSJ工程目录下。 3. 选择File.New 菜单,创建图形设计文件,在图形编辑器窗口中双击鼠标左键,或选择菜单“Edit.Insert Symbol”,在Symbol 对话框界面中可以找到JTDKZ、CNT45S、CNT25S、CNT05S、XSKZ、YMQ的符号。在图形编辑器界面中完成如

21、图所示的电路图。 4. 选择File.Save As 菜单,将设计的图形文件保存为工程顶层文件名JTDKZQSJ.BDF。 5. 选择Tools.Compiler Tool 菜单,编译源文件。 6.选择Assignments.Assignment Editor 菜单,对工程进行引脚分配。7.选择Tools.Compiler Tool 菜单,点击“Start”按钮对此工程进行编辑,生成可以配置到CPLD 的POF 文件。8.下载、运行。5.总结与体会本实验是一个交通灯控制系统的设计方案,参考了实验课里交通灯控制系统的设计程序。通过这个实验我了解了交通灯的工作系统的实现方式,原来平日里看似复杂的肩负着交通安全重大责任的交通系统也能够通过VHDL语言来实现,原来总以为我们所学的知识在生活中的没有实质的用处,但这个实验让我看到了我们所学的知识在显示生活中的应用。专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁