实验报告 交通灯控制器实验报告.doc

实验报告 交通灯控制器实验报告.doc

ID:37125557

大小:105.00 KB

页数:11页

时间:2019-05-18

实验报告 交通灯控制器实验报告.doc_第1页
实验报告 交通灯控制器实验报告.doc_第2页
实验报告 交通灯控制器实验报告.doc_第3页
实验报告 交通灯控制器实验报告.doc_第4页
实验报告 交通灯控制器实验报告.doc_第5页
资源描述:

《实验报告 交通灯控制器实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、交通灯控制器实验报告------SOC课程设计一.实验功能该交通灯控制器,能完成以下功能:⒈显示交通灯的红、黄、绿的指示状态用L1、L2、L3作为绿、黄、红灯;⒉能实现正常的倒计时功能:用M2、M1作为南北方向的倒计时显示器,显示时间为红灯55秒,绿灯30秒,黄灯15秒。⒊能实现特殊状态的功能(1)按S1后,能实现特殊状态功能;(2)显示器M2M1闪烁;(3)计数器停止计数并保持在原来的状态;(4)显示红灯状态;(5)特殊状态解除后能继续计数;⒋能实现总体清零功能按S2后,系统实现总清零,计数器由初始状态计数,对应状态的指示灯亮。二、实验简介该实验模块部分用VHDL语言编写,将各模块

2、打包,画出.gdf文件,在MAX+PLUS2下编译,并下载到实验箱,模拟操作实现。⒈顶层原理图traffic.gdf为最后的总原理图,具体如下:该图为最终原理图,汇集模块有:CDU55、CDU30、CDU15、KONGZHI、XUANZHE、ZHUANHUAN、MULX2、YIMAQI,共八个模块。最后通过jiaotong文件将各个模块的功能整合到一起,实现交通灯的功能。⒉CDU55。该模块实现0~55的数字循环显示。CLEAR端置0(低有效),则数码显示到55。否则,当数码大于0时,时钟信号到来依次减1;数码显示为0时,下一时钟信号到来时,则循环跳至55,开始下一轮循环。VHDL代

3、码如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYcdu55ISPORT(clk:INSTD_LOGIC;clear:INSTD_LOGIC;ena:INSTD_LOGIC;count_out:OUTINTEGERRANGE0TO55;CY:OUTstd_logic);ENDcdu55;ARCHITECTURErtlOFcdu55ISSIGNALcounter_date:INTEGERRANGE0TO55;SIGNALcy_out:std_logic;BEGINPROCESS(ena,clk,clear)BEGINIF(clear='0

4、')THENcounter_date<=55;cy_out<='0';ELSIF(clk'EVENTANDclk='1')THENif(ena='1'andcounter_date>0)thencounter_date<=counter_date-1;cy_out<='0';elsif(ena='1'andcounter_date=0)thency_out<='1';counter_date<=55;elsecounter_date<=counter_date;endif;endif;endprocess;count_out<=counter_date;cy<=cy_out;endr

5、tl;⒊CDU30。该模块实现0~30的数字循环显示。清零端置0(低有效),则数码显示0。否则,当数码大于0时,时钟信号到来依次减1;数码显示为0,下一时钟信号到来时,则循环跳至30,开始下一轮循环。VHDL代码如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYcdu30ISPORT(clk:INSTD_LOGIC;clear:INSTD_LOGIC;ena:INSTD_LOGIC;count_out:OUTINTEGERRANGE0TO50;CY:OUTstd_logic);ENDcdu30;ARCHITECTURErtlOFcdu30

6、ISSIGNALcounter_date:INTEGERRANGE0TO50;SIGNALcy_out:std_logic;BEGINPROCESS(ena,clk,clear)BEGINIF(clear='0')THENcounter_date<=30;cy_out<='0';ELSIF(clk'EVENTANDclk='1')THENif(ena='1'andcounter_date>0)thencounter_date<=counter_date-1;cy_out<='0';elsif(ena='1'andcounter_date=0)thency_out<='1';count

7、er_date<=30;elsecounter_date<=counter_date;endif;endif;endprocess;count_out<=counter_date;cy<=cy_out;endrtl;⒋CDU15。该模块实现0~15的数字循环显示。清零端置0(低有效),则数码显示0。否则,当数码大于0时,时钟信号到来依次减1;数码显示为0,下一时钟信号到来时,则循环跳至15,开始下一轮循环。VHDL代码如下:USEIEEE.STD_LOGI

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。