




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
20142015学年第一学期数字电子技术课程设计任务书(适用专业:勘查12级、地物12级) 专业班级 地物一班 姓 名 张瑞 学 号 12013103 开课系室 电工电子学教学中心 设计日期 2014年12月22日30日 目录一、 设计题目二、 设计任务及要求1, 具体要求2, 输入输出资源说明三、 设计与仿真1, 基本要求的设计1.1时钟分频模块1.2闪烁模块1.3计数器模块1.4译码器模块1.5交通灯控制模块1.6点阵显示模块2,扩展模块的设计2.1自动切换手动模块的设计2.2交警控制模块的设计3,顶层模块的设计四、 总结与讨论一、 设计题目数字电子技术课程设计题目:交通灯控制电路设计。交通灯的显示有很多方式,如十字路口、丁字路口等,而对于同一个路口又有很多不同的显示要求,比如十字路口,车辆如果只要东西和南北方向通行就很简单,而如果车子可以左右转弯的通行就比较复杂。要完成本实验,首先必须了解交通路灯的燃灭规律。本实验需要用到实验箱上交通灯模块中的发光二极管,即红、黄、绿各四个。依人们的交通常规,“红灯停,绿灯行,黄灯提醒”。其交通灯的燃灭规律为:东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯闪烁,红灯亮(表示左转弯),再延时一段时间后,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯闪烁,红灯亮(表示左转弯),再延时一段时间后,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。在实验中使用4个七段码管中的任意两个数码管显示时间。东西路和南北路的通车时间均设定为20s(其中,绿灯亮时间为10s,绿灯闪烁时间为5s,黄灯闪烁时间为5s)。数码管的时间总是显示为20、19、18、172、1、0、20、19、18。在显示时间小于等于5秒的时候,通车方向的黄灯闪烁。在东西向绿灯期间,点阵显示自己的姓名;在南北向绿灯期间,点阵显示自己的学号后3位。二、 设计任务及要求1. 具体要求本课程设计要完成的任务就是设计一个简单的交通灯控制器,交通灯显示用实验箱的交通灯模块和七段码管中的任意两个来显示。系统时钟选择时钟模块的50mhz时钟,黄灯和绿灯闪烁时钟要求为2hz,七段码管的时间显示为1hz脉冲,即每1s中递减一次。在东西向绿灯期间,点阵显示自己的姓名;在南北向绿灯期间,点阵显示自己的学号后3位。显示方式:1秒显示一个汉字或者一个数字(汉字和数字均静止不动,即不循环),然后全暗1秒,然后再显示一个汉字或者一个数字,以此类推。实验箱中用到的数字时钟模块、按键开关、数码管、点阵与fpga的接口电路,以及数字时钟源、按键开关、数码管、点阵与fpga的管脚连接在以前的实验中都做了详细说明,这里不再赘述。交通灯模块原理与led灯模块的电路原理一致,当有高电平输入时led灯就会被点亮,反之不亮。只是led发出的光有颜色之分。2. 输入输出资源说明1、外部输入脉冲信号时钟源cp(50mhz),经适当分频后供计数器使用。2、输出2组显示译码信号(每组7个输出端),分别接到外部的两个七段数码管m1、m2上,m1和m2分别显示倒计时的十位和个位。3、输出6个高低电平信号,分别接到外部的6个指示纵向、横向的led灯。(输出高电平时,对应的led灯亮)其具体框图如下:1hz纵向指示灯led1控制器计数器(倒计时;通车时间倒计时)七段led数码管显示(2个)50mhz纵向指示灯led3横停指示灯led6纵向指示灯led2横向指示灯led5横向指示灯led4clk显示姓名或者学号图1 交通灯控制电路结构框图根据如上说明,本设计的主要任务和设计要求是:1、按照现代数字系统的top-down模块化设计方法,提出交通灯控制电路设计系统的整体设计方案,并进行正确的功能划分,分别提出并实现控制器、计数器、输出译码、点阵显示等模块化子系统的设计方案。2、在quartus的eda设计环境中,完成系统的顶层设计、各子系统的模块化设计。分别完成各个基于verilog语言实现的子模块(包括控制器电路、计数器电路、输出译码电路、点阵显示电路)的逻辑功能仿真。最后对顶层设计进行功能仿真。 3、在2步的基础上,用下载电缆通过jtag口将对应的sof文件加载到fpga中。观察实验结果是否与自己的编程思想一致。三、 设计与仿真1.基本要求的设计1.1时钟分频模块通过设计分频器产生1khz、2hz、1hz时钟频率,为后面模块提供时钟脉冲。verilog程序如下:module clk_div(clk_50mhz,clk_1khz,clk_2hz,clk_1hz);input clk_50mhz;output clk_1khz,clk_2hz,clk_1hz;reg 31:0 count1;reg 31:0 count2;reg 31:0 count3;reg clk_1khz,clk_2hz,clk_1hz;always (posedge clk_50mhz)begincount1=(count1=32d49999)?1d0:(count1+1d1);clk_1khz=32d25000)?1d1:1d0;count2=(count2=32d24999999)?1d0:(count2+1d1);clk_2hz=32d12500000)?1d1:1d0;count3=(count3=32d49999999)?1d0:(count3+1d1);clk_1hz=32d25000000)?1d1:1d0;endendmodule生成的模块为:仿真测试结果:1.2闪烁模块考虑到灯有闪烁功能,加了一个闪烁模块控制灯的闪烁功能。verilog程序如下:module flash(clk_2hz,start,flash);input clk_2hz;input start;output flash;reg flash;always (clk_2hz or start)beginif(clk_2hz=1&start=1) flash=1;else flash=0;endendmodule生成的模块为:仿真测试结果:1.3计数器模块用计数器实现倒计时,引入了一个变量reg4:0cnt来是实现计数器模值得改变。verilog程序如下:module cnt20or30(clk_1hz,k0,q,ew_sn);input clk_1hz,k0;output 4:0 q;output ew_sn;reg 4:0 q;reg 4:0 cnt;reg ew_sn;initial beginq=5d20;cnt=5d20;ew_sn=1;endalways (k0)beginif(k0=1)begincnt=5d30;endelse begincnt=5d20;endendalways (posedge clk_1hz)beginif(q=5d0)beginq=cnt;if(ew_sn=1) ew_sn=0;else ew_sn=1;endelse q=q-5d1;endendmodule生成的模块为:仿真测试结果:1.4译码器模块实现将计数器的值显示到7段数码管上。verilog程序如下:module yimaqi(clk_1khz,q,led1,led2);input clk_1khz;input 4:0 q;output 6:0 led1;output 6:0 led2;reg 6:0 led1; reg 6:0 led2; reg 3:0 a,b;always (posedge clk_1khz)begina=q/10;b=q%10;case (a)4b0000: led1 = 7b1000_000;4b0001: led1 = 7b1111_001;4b0010: led1 = 7b0100_100;4b0011: led1 = 7b0110_000;4b0100: led1 = 7b0011_001;4b0101: led1 = 7b0010_010;4b0110: led1 = 7b0000_010;4b0111: led1 = 7b1111_000;4b1000: led1 = 7b0000_000;4b1001: led1 = 7b0010_000;default : led1 = 7b1111_111;endcasecase (b)4b0000: led2 = 7b1000_000;4b0001: led2 = 7b1111_001;4b0010: led2 = 7b0100_100;4b0011: led2 = 7b0110_000;4b0100: led2 = 7b0011_001;4b0101: led2 = 7b0010_010;4b0110: led2 = 7b0000_010;4b0111: led2 = 7b1111_000;4b1000: led2 = 7b0000_000;4b1001: led2 = 7b0010_000;default : led2 5d10)beging11=1;g12=0;y1=0;r1=0;g21=0;g22=0;y2=0;r2=1;endif(ew_sn=1&q5d5&q=10)beging11=0;g12=1;y1=0;r1=0;g21=0;g22=0;y2=0;r2=1;endif(ew_sn=1&q5d10)beging11=0;g12=0;y1=0;r1=1;g21=1;g22=0;y2=0;r2=0;endif(ew_sn=0&q5d5&q=10)beging11=0;g12=0;y1=0;r1=1;g21=0;g22=1;y2=0;r2=0;endif(ew_sn=0&q=5d5)beging11=0;g12=0;y1=0;r1=1;g21=0;g22=0;y2=1;r2=0;endif(k=1)beging11=0;g12=0;y1=0;r1=0;g21=0;g22=0;y2=0;r2=0;endendendmodule生成的模块为:仿真测试结果为:1.6点阵显示模块点阵是一行一行显示的,由于变化频率太高,肉眼分辨不出来,最后显示出想要的图案。verilog程序如下:module dianzhendisplay(clk_1khz,clk_1hz,g11,g21,row,con); input clk_1khz,clk_1hz,g11,g21; output15:0 row; output15:0 con; reg15:0 row; reg15:0 con; integer cnt,a=0,b=4; reg15:0 r159:0; initial begin /张 r0 = 16b 0000001011111101; r1 = 16b 1111101011111011; r2 = 16b 1111101011110111; r3 = 16b 1111101011101111; r4 = 16b 0000001011011111; r5 = 16b 0111111010111111; r6 = 16b 0100000000000000;r7 = 16b 0111111001111111; r8 = 16b 0000001010111111; r9 = 16b 1111101011011111; r10 =16b 1111101011101111; r11 =16b 1111101011110111; r12 =16b 1111101011111011; r13 =16b 1101101011011101; r14 =16b 1110101010111110; r15 =16b 1111001001111111; /全暗r16 =16b 1111111111111111; r17 =16b 1111111111111111; r18 =16b 1111111111111111; r19 =16b 1111111111111111; r20 =16b 1111111111111111; r21 =16b 1111111111111111; r22 =16b 1111111111111111; r23 =16b 1111111111111111; r24 =16b 1111111111111111; r25 =16b 1111111111111111; r26 =16b 1111111111111111; r27 =16b 1111111111111111; r28 =16b 1111111111111111; r29 =16b 1111111111111111; r30 =16b 1111111111111111; r31 =16b 1111111111111111; /瑞 r32 =16b 0000000101101101; r33 =16b 1110111101101101; r34 =16b 1110111101101101;r35 =16b 1110111101101101; r36 =16b 1110111100000001; r37 =16b 1110111111111111; r38 =16b 1110111000000000; r39 =16b 0000000111101111; r40 =16b 1110111111011111; r41 =16b 1110111111111111; r42 =16b 1110111100000000; r43 =16b 1110111101011010; r44 =16b 1110111101011010; r45 =16b 1110111101011010; r46 =16b 1110111101011000; r47 =16b 0000000101111110; /全暗r48 =16b 1111111111111111; r49 =16b 1111111111111111; r50 =16b 1111111111111111; r51 =16b 1111111111111111; r52 =16b 1111111111111111; r53 =16b 1111111111111111; r54 =16b 1111111111111111; r55 =16b 1111111111111111; r56 =16b 1111111111111111; r57 =16b 1111111111111111; r58 =16b 1111111111111111; r59 =16b 1111111111111111; r60 =16b 1111111111111111; r61 =16b 1111111111111111;r62 =16b 1111111111111111; r63 =16b 1111111111111111; /1r64 =16b 1111110011111111; r65 =16b 1111110011111111; r66 =16b 1111110011111111; r67 =16b 1111110011111111; r68 =16b 1111110011111111; r69 =16b 1111110011111111; r70 =16b 1111110011111111; r71 =16b 1111110011111111; r72 =16b 1111110011111111; r73 =16b 1111110011111111; r74 =16b 1111110011111111; r75 =16b 1111110011111111; r76 =16b 1111110011111111; r77 =16b 1111110011111111; r78 =16b 1111110011111111; r79 =16b 1111110011111111; /全暗r80 =16b 1111111111111111; r81 =16b 1111111111111111; r82 =16b 1111111111111111; r83 =16b 1111111111111111; r84 =16b 1111111111111111; r85 =16b 1111111111111111; r86 =16b 1111111111111111; r87 =16b 1111111111111111; r88 =16b 1111111111111111; r89 =16b 1111111111111111; r90 =16b 1111111111111111; r91 =16b 1111111111111111; r92 =16b 1111111111111111; r93 =16b 1111111111111111; r94 =16b 1111111111111111; r95 =16b 1111111111111111; /0r96 =16b 0000000000000000; r97 =16b 0000000000000000; r98 =16b 0011111111111100; r99 =16b 0011111111111100; r100 =16b 0011111111111100; r101 =16b 0011111111111100; r102 =16b 0011111111111100; r103 =16b 0011111111111100; r104 =16b 0011111111111100; r105 =16b 0011111111111100; r106 =16b 0011111111111100; r107 =16b 0011111111111100; r108 =16b 0011111111111100; r109 =16b 0011111111111100; r110 =16b 0000000000000000; r111 =16b 0000000000000000; /全暗r112 =16b 1111111111111111; r113 =16b 1111111111111111; r114 =16b 1111111111111111; r115 =16b 1111111111111111; r116 =16b 1111111111111111; r117 =16b 1111111111111111; r118 =16b 1111111111111111; r119 =16b 1111111111111111; r120 =16b 1111111111111111; r121 =16b 1111111111111111; r122 =16b 1111111111111111; r123 =16b 1111111111111111; r124 =16b 1111111111111111; r125 =16b 1111111111111111;r126 =16b 1111111111111111; r127 =16b 1111111111111111; /3r128 =16b 0000000000000000; r129 =16b 0000000000000000; r130 =16b 1111111111111100; r131 =16b 1111111111111100; r132 =16b 1111111111111100; r133 =16b 1111111111111100; r134 =16b 1111111111111100; r135 =16b 0000000000000000; r136 =16b 0000000000000000; r137 =16b 1111111111111100; r138 =16b 1111111111111100; r139 =16b 1111111111111100; r140 =16b 1111111111111100; r141 =16b 1111111111111100; r142 =16b 0000000000000000;r143 =16b 0000000000000000; /全暗r144 =16b 1111111111111111; r145 =16b 1111111111111111; r146 =16b 1111111111111111; r147 =16b 1111111111111111; r148 =16b 1111111111111111; r149 =16b 1111111111111111; r150 =16b 1111111111111111; r151 =16b 1111111111111111; r152 =16b 1111111111111111; r153 =16b 1111111111111111; r154 =16b 1111111111111111; r155 =16b 1111111111111111; r156 =16b 1111111111111111; r157 =16b 1111111111111111;r158 =16b 1111111111111111; r159 =16b 1111111111111111;end always(posedge clk_1hz) begin if(a=3) a=0; else a=a+1; end always(posedge clk_1hz) begin if(b=9) b=4; else b=b+1; end always(posedge clk_1khz) begin if(cnt=15) begin cnt=0; end else cnt=cnt+1; case(cnt) 0: con=16b0000_0000_0000_0001; 1: con=16b0000_0000_0000_0010; 2: con=16b0000_0000_0000_0100; 3: con=16b0000_0000_0000_1000; 4: con=16b0000_0000_0001_0000; 5: con=16b0000_0000_0010_0000; 6: con=16b0000_0000_0100_0000;7: con=16b0000_0000_1000_0000; 8: con=16b0000_0001_0000_0000; 9: con=16b0000_0010_0000_0000; 10: con=16b0000_0100_0000_0000; 11: con=16b0000_1000_0000_0000; 12: con=16b0001_0000_0000_0000; 13: con=16b0010_0000_0000_0000; 14: con=16b0100_0000_0000_0000; 15: con=16b1000_0000_0000_0000; endcase if(g11=1) begin case(cnt) 0: row=ra*16+0; 1: row=ra*16+1; 2: row=ra*16+2; 3: row=ra*16+3; 4: row=ra*16+4; 5: row=ra*16+5; 6: row=ra*16+6; 7: row=ra*16+7; 8: row=ra*16+8; 9: row=ra*16+9; 10: row=ra*16+10; 11: row=ra*16+11; 12: row=ra*16+12; 13: row=ra*16+13; 14: row=ra*16+14; 15: row=ra*16+15;endcase endif(g21=1)begin case(cnt) 0: row=rb*16+0; 1: row=rb*16+1; 2: row=rb*16+2; 3: row=rb*16+3; 4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年能源行业智能电网在电力系统智能化升级中的应用报告
- 2025年进厂打工测试题及答案
- 机械伤害考试题及答案
- 2025年中级经济师经济基础题库及答案
- 2025年应急急救知识试题卷与答案
- 2025年职业病防治考试试题及答案
- 教学结合型的多媒体课件
- 毛概主题课件
- 毛巾行业知识培训总结
- 毛巾纺织基本知识培训课件
- 水利工程拦水坝建设方案实例
- 6G多维度切片QoS保障-洞察及研究
- 老年人能力评估师考试题能力模拟题及答案
- 2025-2026学年外研版(三起)(2024)小学英语四年级上册教学计划及进度表
- 2025年安徽国控集团所属企业招聘7人笔试备考题库及答案解析
- 1.1认识社会生活(课件)- 2025-2026学年统编版道德与法治八年级上册
- 仓库盘盈盘亏处理方案(3篇)
- 胎盘早剥病例汇报
- 2025年四川省高考化学试卷真题
- 2025年书法级考试题及答案
- 2026版创新设计高考总复习物理(人教基础版)学生用-学生内文答案
评论
0/150
提交评论