ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:171.26KB ,
资源ID:2726529      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-2726529.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(电子技术基础课程设计交通灯控制技术.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

电子技术基础课程设计交通灯控制技术.docx

1、电子技术基础课程设计交通灯控制技术(封面)XXXXXXX学院电子技术基础课程设计 交通灯控制器设计题 目:院(系):专业班级:学生姓名:指导老师:时 间: 年 月 日 设计内容及要求(题目)任务1:交通灯控制器的设计设计内容与要求 设计一个十字路口交通信号灯的控制电路。要求红、绿灯按一定的规律亮和灭,并在亮灯期间进行倒计时,且将运行时间用数码管显示出来。 绿灯亮时,为该车道允许通行信号,红灯亮时,为该车道禁止通行信号。要求主干道每次通行时间为Tx秒,支干道每次通行时间为Ty秒。每次变换运行车道前绿灯闪烁,持续时间为5秒。即车道要由X转换为Y时,X在通行时间只剩下5秒钟时,绿灯闪烁显示,Y仍为红

2、灯。 可以对X,Y车道上交通灯运行的时间进行重新设置, 20Tx99 ,10Ty39 对器件进行在系统编程和实验验证。 写出设计性实验报告,并打印各层次的源文件和仿真波形,然后作简要说明。交通灯设计过程 设计过程分了两个阶段,初期构想和真正的计划实施。初期设计根据题目的意思看得出是题意基本意思是在干路和支路各有一红灯和绿灯,绿灯计时的最后五秒有闪烁,可以简略将系统的状态结构图做出来如下(未加附加功能): 可以看出其中有四个状态: 1:主干道绿灯常亮(Tx-5),支干道红灯常亮(Ty)。 2.主干道绿灯闪亮(5S),支干道红灯常亮。 3:主干道红灯常亮(Ty),支干道绿灯常亮(Tx-5)。 4:

3、主干道红灯常亮,支干道绿灯闪亮(5S)。 红灯亮时间=绿灯亮时间+绿灯闪时间(5S) 可以看得出其实四个状态可以简化,在后期实施的时候为了简化故将四个状态转换成了两个状态,即为干路和支路的两个不同的状态修改后的状态结构框图如下(未加附加功能):State1:干路绿灯开始常亮,支路红灯开始常亮,等到了干路计时还剩下五秒的时候,干路绿灯交替闪亮,支路红灯不变。State2: 2.干路转换为红灯常亮,支路变为为绿灯常亮,等到了支路计时还剩下五秒的时候,支路绿灯交替闪亮,干路红灯不变。在分析系统的组成结构,可以知道系统大概有三个部分组成,其中不难得出,包括:1.显示部分: 分为指示灯显示和数码管显示(

4、其中这两者应该是同步的,同一控制器,秒脉冲控制)。2.计数部分:计数器递减计数要求是以秒脉冲计数,当达到指定时间要有重置部分将时间重置,重新计数。3.控制部分:提供秒脉冲时钟信号,控制数码管和指示灯的变化以及设置时间等功能。三部分之间的关系可以表达为: 控制显示 控制数码管 递减计数 秒脉冲输出(设置绿灯时间) 重置计数器 重新开始计数 控制时间达到预定值经上面分析,大致可以得到整个交通灯的结构框图:系统框图经过分析可知,该设计需要时钟信号,所以需要秒脉冲信号 1.信号发生器要显示亮灯时间需要 2.计数器 3.数码显示器对于主路和支路需要显示红绿灯,故需要 4.信号显示灯 5.状态译码器 6.

5、控制器等 其中各部分功能如下:交通指示灯:显示主支路通行情况;数码管显示:显示通行剩余时间,从绿灯亮起开始计算,转换灯的颜色后重新计数;状态译码器:经控制器控制,输出交通指示灯和数码管显示当前状态;控制器:控制状态译码器的输出状态和控制递减计数器的计数和重置;重置装置:接收控制器的命令,在相应的时段使递减计数器重置,重新从预设值递减;减法计数器:控制数码显示管的数值计时显示;分频器:将脉冲信号提供的源信号进行分频,得到秒脉冲信号;脉冲源信号:为整个电路提供初始脉冲源信号;设置时间: 由控制器输入设置,改变主支路上的绿灯的时间。源代码部分详解一主函数主模块 功能:程序设计的主体部分,其中包括各变

6、量的初值设置,以及交通灯两种状态的控制和交通灯停止或继续计时的控制。输入: clk 50M的系统输入时钟信号 set_enable 设置允许信号,高电平时允许重新设置主干道和支干道时间 reset 复位信号,为低电平时主干道和支干道时间恢复为默认值 set_xy 选择道路,高电平时设置主干道,低电平时设置支干道 up_down 加减控制信号,高电平时为加,低电平时为减输出: pri_LED 主干道红绿灯信号,高电平表示红灯,低电平为绿灯 sec_LED 支干道红绿灯信号,高电平表示红灯,低电平为绿灯 dis_time 显示主干道和支干道剩余时间 dis_txy 实时显示所设置的时间 modul

7、e liu(clk,set_enable,reset,set_xy,up_down,turn,pri_LED,sec_LED,left_LED1,left_LED2,dis_time,dis_txy); output13:0 dis_time,dis_txy; /变量设置声明output1:0 pri_LED,sec_LED;output left_LED1,left_LED2;input clk,up_down,reset,set_xy,set_enable,turn;reg7:0 time_left;wire7:0 tx,ty,time_left_hl,tx_hl,ty_hl,txy1;w

8、ire13:0 dis_time,dis_txy;reg1:0 pri_LED,sec_LED;reg left_LED1,left_LED2;wire clk1;reg 1:0state;initialbegin pri_LED=2b00; /部分初值初始化 sec_LED=2b00; left_LED1=1b0; left_LED2=1b0; state=1b0; time_left=8b00101000; enddivide U1(clk1,clk); /分频函数,得到秒脉冲set_time U2(clk1,set_enable,reset,set_xy,up_down,tx,ty);

9、/时间设置函数,重新设置绿灯时间assign time_left_hl7:4=time_left/10; /定义变量的变化方式assign time_left_hl3:0=time_left%10;assign tx_hl7:4=tx/10;assign tx_hl3:0=tx%10;assign ty_hl7:4=ty/10;assign ty_hl3:0=ty%10;assign txy1=set_xy?tx_hl:ty_hl;display U3(dis_time6:0,time_left_hl3:0); /调用显示函数将计数值显示在数码管上display U4(dis_time13:7

10、,time_left_hl7:4);display U5(dis_txy6:0,txy13:0);display U6(dis_txy13:7,txy17:4);always (posedge clk1) /脉冲信号高电平开始执行if(turn=1) /暂停模式 begin time_left=time_left;end else if(turn=0) /正常运行模式 begin time_left=time_left-1; /不断递减计数 case(state) 1b0: /状态0 begin pri_LED=2b01; sec_LED=2b10;left_LED1=1b0;left_LED

11、2=1b0; if(time_left=10|time_left=9|time_left=8|time_left=7|time_left=6) left_LED1=1b1; /左转灯亮 if(time_left=5|time_left=3|time_left=1) /左转灯闪亮 left_LED1=1b0;pri_LED=2b00; if(time_left=4|time_left=2|time_left=0) left_LED1=1b1;pri_LED=2b01; if(time_left=0) begin time_left=ty; state=1b1;sec_LED=2b10; end

12、end /状态转换 1b1: /状态1 begin pri_LED=2b10; sec_LED=2b01;left_LED1=1b0;left_LED2=1b0; if(time_left=7|time_left=6) left_LED2=1b1; if(time_left=5|time_left=3|time_left=1) left_LED2=1b0;sec_LED=2b00; if(time_left=4|time_left=2|time_left=0) left_LED2=1b1; sec_LED=2b01; if(time_left=0) begin time_left=tx; st

13、ate=1b0; pri_LED=2b10; end /状态1返回状态0 end endcase endendmodule二子函数设置模块功能:通过调节开关,完成对系统的交通灯绿灯时间的设置,控制红绿灯时间。输入: clk 50M的输入时钟信号 set_enable 设置允许信号,1时允许重新设置主干道和支干道时间 reset 复位信号,为0时主干道和支干道时间恢复为默认值 set_xy 选择道路,1时设置主干道,0时设置支干道 up_down 加减控制信号,1时为加,0时为减输出: tx 主干道设置后的时间 ty 支干道设置后的时间*/module set_time(clk,set_enab

14、le,reset,set_xy,up_down,tx,ty); /变量声明output tx,ty; /设置变量input clk,up_down,set_enable,set_xy,reset;reg7:0 tx,ty;Initial /主支路时间初始化begin tx=8b00101000; /tx=40 ty=8b00010000; /ty=16 end always (posedge set_enable) /使能端上升沿执行 begin if(reset) /重置信号为高电平时 begin tx=8b00101000; /tx=40 /红绿灯时间不变为初值 ty=8b00010000

15、; /ty=16 end else if(set_xy=1) /在1模式下设置主干道绿灯的值 begin if(up_down=1) /高电平时为加设置 begin tx=tx+1; if(tx=8b01100100) tx=8b00010100; /设定上限 99s / (8b01100011) end else if(up_down=0) /低电平时为减设置 begin tx=tx-1; if(tx=8b00010011) tx=8b01100011; / 设定下限 20s / (8b00010100) end else tx=tx; /时间不变 end else if(set_xy=0)

16、 /在0模式下设置支干道绿灯的值 begin if(up_down=1) begin ty=ty+1; if(ty=8b00101000) ty=8b00001010; /设定上限 39s (8b00100111) end else if(up_down=0) begin ty=ty-1; if(ty=8b00001001) ty=8b00100111; /设定下限 10s (8b00001010) end else ty=ty; end end endmodule显示模块功能:将时间信号进行译码之后显示在七段数码管上。输入: cp 要显示的4位二进制数据输出: out 作为七段数码管的输入信

17、号module display(out,cp); /子函数声明input3:0 cp; /设置输入输出函数output6:0 out;reg6:0 out; always (cp ) begin case(cp) /对应的七段码显示 4b0000:out=7b1000000; /0 4b0001:out=7b1111001; /1 4b0010:out=7b0100100; /2 4b0011:out=7b0110000; /3 4b0100:out=7b0011001; /4 4b0101:out=7b0010010; /5 4b0110:out=7b0000010; /6 4b0111:o

18、ut=7b1111000; /7 4b1000:out=7b0000000; /8 4b1001:out=25h32FFFFF) /计数到49999999的时 begin clk1s=clk1s; /对原信号进行翻转 count=25h0000000; /计数回归初值 end else count=count+1b1; /继续恢复加计数 endendmodule引脚分配dis_time13 Unknown PIN_G15 7 B7_N0 2.5 V (default)dis_time12 Unknown PIN_D19 7 B7_N0 2.5 V (default)dis_time11 Unk

19、nown PIN_C19 7 B7_N0 2.5 V (default)dis_time10 Unknown PIN_B19 7 B7_N0 2.5 V (default)dis_time9 Unknown PIN_A19 7 B7_N0 2.5 V (default)dis_time8 Unknown PIN_F15 7 B7_N0 2.5 V (default)dis_time7 Unknown PIN_B18 7 B7_N0 2.5 V (default)dis_time6 Unknown PIN_F14 7 B7_N0 2.5 V (default)dis_time5 Unknown

20、PIN_B17 7 B7_N1 2.5 V (default)dis_time4 Unknown PIN_A17 7 B7_N1 2.5 V (default)dis_time3 Unknown PIN_E15 7 B7_N0 2.5 V (default)dis_time2 Unknown PIN_B16 7 B7_N1 2.5 V (default)dis_time1 Unknown PIN_A16 7 B7_N1 2.5 V (default)dis_time0 Unknown PIN_D15 7 B7_N0 2.5 V (default)dis_txy13 Unknown PIN_A1

21、5 7 B7_N1 2.5 V (default)dis_txy12 Unknown PIN_E14 7 B7_N1 2.5 V (default)dis_txy11 Unknown PIN_B14 7 B7_N1 2.5 V (default)dis_txy10 Unknown PIN_A14 7 B7_N1 2.5 V (default)dis_txy9 Unknown PIN_C13 7 B7_N1 2.5 V (default)dis_txy8 Unknown PIN_B13 7 B7_N1 2.5 V (default)dis_txy7 Unknown PIN_A13 7 B7_N1

22、 2.5 V (default)dis_txy6 Unknown PIN_F13 7 B7_N1 2.5 V (default)dis_txy5 Unknown PIN_F12 7 B7_N1 2.5 V (default)dis_txy4 Unknown PIN_G12 7 B7_N1 2.5 V (default)dis_txy3 Unknown PIN_H13 7 B7_N1 2.5 V (default)dis_txy2 Unknown PIN_H12 7 B7_N1 2.5 V (default)dis_txy1 Unknown PIN_F11 7 B7_N1 2.5 V (defa

23、ult)dis_txy0 Unknown PIN_E11 7 B7_N1 2.5 V (default)pri_LED1 Unknown PIN_C2 1 B1_N0 2.5 V (default)pri_LED0 Unknown PIN_B2 1 B1_N0 2.5 V (default)sec_LED1 Unknown PIN_J1 1 B1_N1 2.5 V (default)sec_LED0 Unknown PIN_J2 1 B1_N1 2.5 V (default)reset Unknown PIN_H6 1 B1_N0 2.5 V (default)set_enable Unkno

24、wn PIN_F1 1 B1_N0 2.5 V (default)set_xy Unknown PIN_H5 1 B1_N0 2.5 V (default)up_down Unknown PIN_J6 1 B1_N0 2.5 V (default)clk Unknown PIN_G21 6 B6_N1 2.5 V (default)turn_off Unknown PIN_G4 1 B1_N0 2.5 V (default)left_LED1 Unknown PIN_B1 1 B1_N0 2.5 V (default)left_LED2 Unknown PIN_J3 1 B1_N1 2.5 V

25、 (default)turn Unknown PIN_D2 1 B1_N0 2.5 V (default)control Unknown PIN_E4 1 B1_N0 2.5 V (default)电子课程设计总结 这次我选择的课程题目是交通灯控制技术,原本是三个同学在一起做一个项目,变为一个人单独做一个,感觉压力大了好多更让人担忧的是大二学期学到的Verilog语言几乎忘记的差不多了,对Quartus的操作也忘干净了,所以这次赶紧补充了课本上的知识,这使我更加的紧张了。 上边是知识问题,在设计的过程中遇到问题,更可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。对我们而言,知识上的收获重要,精神上的丰收更加可喜。挫折是一份财富,经历是一份拥有。这次实习必将成为我人生旅途上一个非常美好的回忆! 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2