- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字电子技术课程设计报告
题 目: 交通灯电路设计
学 年: 学 期:
专 业: 班 级:
学 号: 姓 名:
指导教师:
时 间: 年 月 日~ 年 月 日
浙江万里学院电子信息学院
目 录
1 设计任务与要求 1
2 系统设计总体方案 1
3 各模块电路具体实现 2
3.1 时钟分频模块 2
3.2 十进制减法计数模块 3
3.3 数码管显示及译码模块 4
3.4 交通信号灯电路模块 5
3.5 时序状态控制模块 5
4 设计测试结果 7
5 总结 7
附录 7
1 设计任务与要求
本课题要完成的设计任务与要求如下:
用FPGA可编程逻辑器件设计一个十字路口交通信号灯控制电路,满足下列控制要求:
1、绿灯亮预设时间为25s,黄灯亮预设时间为5s,红灯亮预设时间为30s;
2、预设时间通过数码管显示倒计时时间;
3、东西方向和南北方向的信号灯能自动按绿灯→黄灯→红灯循环显示。
2 系统设计总体方案
根据设计任务与要求,交通灯控制器系统主要有分频模块、控制模块、计数模块、显示模块。等电路模块组成,其系统组成框图如图1所示。
图1 交通灯控制器系统设计组成框图
各模块电路设计的主要思路和具体方案如下:
(1)分频器模块:用CD4060产生2Hz,用JK触发器转化成1Hz的型号,也可以用555电路产出1Hz的信号;
(2)控制模块:用译码器、触发器、计数器和门电路来设计;
(3)计数模块:用74LS192构成十进制两位数的计数电路;
(4)显示模块:CD4511或7448译码器,用共阴极的数码管;74LS247或7447译码器,用共阳极的数码管;东西方向和南北方向信号灯亮灭的规律,进行分组连接,以减少控制信号线,把东西方向的红、黄、绿灯连成一组,南北方向的红、黄、绿灯连成一组。
3 各模块电路具体实现
3.1 时钟分频模块
方案一。根据整个系统中各模块电路的需求,本模块主要实现将EDA实验板上50MHz晶振产生的时钟脉冲经过分频得到1Hz的时钟信号,考虑到应用触发器或计数器来设计,电路实现比较困难和繁琐,因此选择应用Verilog硬件描述语言来设计设计本模块电路,具体程序如下:
module clk_div(CLK_in,CLK_out);
input CLK_in;
output CLK_out;
reg CLK_out;
reg[25:0] temp;
always @(posedge CLK_in)
begin
if(temp
begin
temp=0;
CLK_out= ~ CLK_out;
end
else
temp=temp+1;
end
endmodule
经过QuartusII软件编译综合后,电路的模块图如图2所示。
图2 时钟分频模块电路图
方案二。要获得1Hz的时钟脉冲,还可以应用EDA实验板上32.768K晶振产生的脉冲信号经过CD4060分频。在实验板上已有4Hz的脉冲信号。将4Hz的脉冲信号转化成1Hz,可以应用T触发器来分频,具体电路如图3。
图3 由T触发器构成的时钟分频电路图
3.2 十进制减法计数模块
方案一。用74192来设计,减数到时器。
十进制可逆计数器74HC192是同步可预置四位计数器,其功能有加减法计数。
图4 74192设计的减法计数器电路图
方案二。应用Verilog HDL硬件描述语言来设计。
源程序如下:
module jian_ji_shu(clk,LD,a,q,BoN);
input clk,LD;
input[3:0] a;
output[3:0] q;
output BoN;
reg[3:0] q;
reg BoN;
always @(posedge clk or negedge LD)
begin
if(~LD)
begin
q=a;
BoN=1;
end
else if(q0)
begin
q=q-1;
if(q==0) BoN=0;
else BoN=1;
end
else if(q==0)
begin
q=9;
BoN=1;
end
end
endmodule
模块如图5:
3.3 数码管显示及译码模块
根据共阴极数码管,本模块电路选用CD4511,具体电
文档评论(0)