EDA课程设计——交通灯.docVIP

  • 36
  • 0
  • 约6.34千字
  • 约 23页
  • 2016-03-31 发布于湖北
  • 举报
EDA课程设计——交通灯.doc

郑州航空工业管理学院 《EDA技术及应用》 课程设计报告 11 届 通信 专业 1113074 班级 题 目 交通灯控制器 姓 名 学号 指导教师 张松炜 赵成 邸金红 马鹏阁 同组同学 201 3 年 07 月 09 日 目录 一.任 务 书 2 1.设计要求 2 2.其他要求 2 二.设计方案规划 3 1. 功能划分与模块划分 3 2. 输入与输出总电路 3 3. 各功能或各模块的功能细分 4 三.各模块的实现方法 4 四.元件清单 10 五.模块的编写 10 六.调试过程 13 七.实验中出现的问题 13 八.课程设计体会与总结 14 九.主要参考文献 15 十.附录 16 一.任务书 1.设计要求 (1)主干道通行(红灯):主干道有车24秒;支路红灯,数码管事实显示倒计时的秒,秒计时的频率为1Hz。 (2)主干道缓冲(黄灯):6秒,(不显示计数),秒计时的频率为1HZ。 (3)支路通行(绿灯):20秒,主干道红灯,数码管事实显示倒计时的秒,秒计时的频率为1Hz。 (4)支路缓冲(黄灯):6秒,不显示,秒计时的频率为1HZ。 数码管采用动态显示。 1.晶振为12 MHz 2. 采用CPLD 器件为ALTERA 的EPM7064SL-44 3.采用数码管显示 input clk,一个,时钟输入, 输出一共18个, output[7:0] seg,控制数码管显示数据 output[3:0] dig,控制4个数码管的输出,高2位输出支路计时,低2位输出主干路计时。 output[5:0] led,控制着主干路和支路的6个灯 3. 各功能或各模块的功能细分 本程序主要由4个always过程块实现,其中第一个always块实现分频功能,if(count==24代表晶振为12MHZ;第二个和第三个always过程块实现数码管动态扫描,用来将最终的结果显示到对应的数码管上,其中第二个always块的第一个case 选择扫描显示数据,第二个case选择数码管显示位,第三个always块主要用来完成7段译码;第四个always块用来处理交通灯的计时,灯转换过程,是本程序的主要部分,其功能影响本程序的准确性,计数大致如图: 绿灯 黄灯 红灯 主干路 24s 6s 26s 支 路 20s 6s 30s 三. 各模块的实现方法 顶层模块主电路 第一个always过程块实现分频,可以用一个12MHZ分频器来实现,其中sec为分频器的输出端,以后调用sec实现分频功能,count为计数寄存器,用来计数12M,每计12M个数后就将sec取反用来表示分频结果; 晶振与电容,晶振为电路提供12MHZ的主频 主要芯片 CPLD是复杂可编程逻辑器件,本设计采用EPM7064AEL144-7N为主控制器件,输入程序,实现对秒表的控制,晶振为12MHZ。 第二个always块用来显示数码管动态扫描,将miao定义为输入要显示的数据,第一个case(count[16:15])选择扫描显示数据,第二个case(count[16:15]) 选择数码管显示位,两位可以有4种选择0,1,2,3分别对应4种不同状态; 第三个always块用来七段数码管译码,这里是共阳极数码管,seg_r=8hff代表什么都不显示,数码管低两位用来计数主干路,高两位用来计数支路,动态数码管显示,通过com位选端和LED段选端的控制来显数字; 第四个always块用来实现路灯控制以及计数,其中if(flag==0)代表主干路,if(f2==0)代表支路,leden=6bXXXXXX代表要显示的灯,这里用led代替实际交通灯,led1,led2,led3分别代表主干绿灯,黄灯,红灯,led4,led5,led6分别代表支路绿灯,黄灯,红灯,miao[x:y]==4hf可以用来表示一种计数状态,满足这种状态时可以改变灯的颜色以及计数时间。 LED灯显示电路 电路中低电压点亮LED灯 四.元件清单 显示数码管,电阻,芯片插口,开关,连接线,电路板,电容,三极管,蜂鸣器,LED灯 五.模块的编写(详见附录二) 1.分频模块: always@(posedge clk) begin count=count+1b1; if(count==24 begin count=24b0; sec=~sec; end end 2.数码管动态扫描模块 always@(posedge clk) begin case(count[16

文档评论(0)

1亿VIP精品文档

相关文档