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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

《数字电子技术课程设计》任务书.docx

1、数字电子技术课程设计任务书20112012学年第二学期数字电子技术课程设计任务书(适用专业:电气10级) 数字电子技术课程设计题目:交通灯控制电路设计一、设计任务及原理:交通灯的显示有很多方式,如十字路口、丁字路口等,而对于同一个路口又有很多不同的显示要求,比如十字路口,车辆如果只要东西和南北方向通行就很简单,而如果车子可以左右转弯的通行就比较复杂,本实验仅针对最简单的南北和东西直行的情况。要完成本实验,首先必须了解交通路灯的燃灭规律。本实验需要用到实验箱上交通灯模块中的发光二极管,即红、黄、绿各四个。依人们的交通常规,“红灯停,绿灯行,黄灯提醒”。其交通灯的燃灭规律为:初始态是两个路口的红灯

2、全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。在实验中使用4个七段码管中的任意一个或两个数码管显示时间。东西路和南北路的通车时间均设定为9s。数码管的时间总是显示为9、8、72、1、0、9、8。在显示时间小于等于3秒的时候,通车方向的黄灯闪烁。在东西向绿灯期间,点阵显示自己的姓名;在南北向绿灯期间,点阵显示自己的学号后3位。二、具体要求:本实验要完成任务就是设计一个

3、简单的交通灯控制器,交通灯显示用实验箱的交通灯模块和七段码管中的任意一个或两个来显示。系统时钟选择时钟模块的50MHz时钟,黄灯闪烁时钟要求为2Hz,七段码管的时间显示为1Hz脉冲,即每1s中递减一次,在显示时间小于等于3秒的时候,通车方向的黄灯以2Hz的频率闪烁。在东西向绿灯期间,点阵显示自己的姓名;在南北向绿灯期间,点阵显示自己的学号后3位。显示方式:1秒显示一个汉字或者一个数字(汉字和数字均静止不动,即不循环),然后全暗1秒,然后再显示一个汉字或者一个数字,以此类推。实验箱中用到的数字时钟模块、按键开关、数码管、点阵与FPGA的接口电路,以及数字时钟源、按键开关、数码管、点阵与FPGA的

4、管脚连接在以前的实验中都做了详细说明,这里不再赘述。交通灯模块原理与LED灯模块的电路原理一致,当有高电平输入时LED灯就会被点亮,反之不亮。只是LED发出的光有颜色之分。其与FPGA的管脚连接如下表所示:EDA/SOPC开发平台交通信号灯模块R1D3R2E3Y1D4Y2E4G1D5G2F3信号名称EP2C35 IO接脚信号名称EP2C35 IO接脚EDA/SOPC开发平台16*16点阵显示模块C0P19R0L8C1P4R1J4C2R6R2H6C3R7R3H5C4R8R4H4C5J3R5H3C6W18R6G7C7R11R7G6C8U10R8P6C9U9R9P5C10U8R10P3C11R16R

5、11N6C12R15R12N4C13R14R13N3C14J6R14M6C15R4R15M5CLKL1系统时钟输入端口,50MHz7SEG-DISPLAYDS1DS2DS3DS4AN4AB7AH4AD11BN3BC14BH3BG5CM6CA7CG7CG3DN6DD4DH6DB6EP3ED5EH5EC13FP6FE3FL8FD14GP5GE4GJ4GA6HM5HD3HG6HF4三、输入输出资源说明:1、外部输入脉冲信号时钟源CP(50MHz),经适当分频后供计数器使用。2、输出1组显示译码信号(每组7个输出端),接到外部的两个七段数码管上,显示倒计时;(扩展要求)或输出2组显示译码信号(每组7个

6、输出端),分别接到外部的两个七段数码管M1、M2上,M1和M2分别显示30秒倒计时的十位和个位。3、输出6个高低电平信号,分别接到外部的6个指示纵向、横向的LED灯。(输出高电平时,对应的LED灯亮)其具体框图如下:图1 交通灯控制电路结构框图根据如上说明,本设计的主要任务和设计要求是:1、按照现代数字系统的Top-Down模块化设计方法,提出交通灯控制电路设计系统的整体设计方案,并进行正确的功能划分,分别提出并实现控制器、计数器、输出译码、点阵显示等模块化子系统的设计方案。2、在Nuartus的EDA设计环境中,完成系统的顶层设计、各子系统的模块化设计。分别完成各个基于Verilog语言实现

7、的子模块(包括控制器电路、计数器电路、输出译码电路、点阵显示电路)的逻辑功能仿真。最后对顶层设计进行功能仿真。 3、在2步的基础上,用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。观察实验结果是否与自己的编程思想一致。四、交通灯设计步骤:由以上的要求可知,在设计的过程中会需要多个器件来整合以达到实验所需的目的。在本次试验中由分析可知共需要1hz分频器,4hz分频器,1000hz分频器,东西红灯控制器,东西黄灯控制器,东西绿灯控制器,南北红灯控制器,南北黄灯控制器,南北绿灯控制器,计数器,译码器,名字控制器,学号控制器,名字学号输出显示器共14个需要设计的器件。1、其中各分频器的原程

8、序如下:由于在仿真波形时所分频太小不易观察所分得的波形,故此以50分频一次为例作为介绍:module fenpinni(cp,cout);input cp;reg31:0 n;reg cout=0;output cout;always(posedge cp) begin if(n32d25) begin cout=cout; n=n+1; end else begin n=32d0; cout=cout; end endendmodule这样所得到的波形图如下所示:由图像可知:在第26个上升沿输出波形开始变为1,在第50个又下降为0,所以该程序及波形都是正确的。以此类推:(1)1hz的原程序为

9、:module fenpinni1(cp,cout);input cp;reg31:0 n;reg cout=0;output cout;always(posedge cp) begin if(n32d25000000) begin cout=cout; n=n+1; end else begin n=32d0; cout=cout; end endendmodule经过编译及波形仿真后是正确的,然后再经过元件例化得到如下所示的器件:(2)4hz的原程序为:module fenpinni4(cp,cout);input cp;reg31:0 n;reg cout=0;output cout;a

10、lways(posedge cp) begin if(n32d6250000) begin cout=cout; n=n+1; end else begin n=32d0; cout=cout; end endendmodule经过编译及波形仿真及元件例化后得到的器件为:(3)1000hz的原程序为:module fenpinni1000(cp,cout);input cp;reg31:0 n;reg cout=0;output cout;always(posedge cp) begin if(n19) n=0; if(n10) cout=0; else cout=1; n19) n=0; i

11、f(n=6) cout=1; else cout=0; n19) n=0; if(n10) cout=1; else cout=0; n19) n=0; if(n9) cout=1; else cout=0; n79) n=7d0; else begin if(n39) cout=0; else cout=cout; n=n+7d1; end endendmodule由于黄灯在亮的过程之中需要在1秒之中亮两次,所以需要接入4hz的脉冲才可以;原程序经过编译及仿真之后得到的波形图像为:有图像可知,在20秒的循环之中,只有在第2839即810秒时的上升沿之中,才会有6个输出为一的的脉冲波形。经编译

12、及波形仿真及元件例化后得到的器件为:(6)南北黄灯控制器原程序为:module nbhuangdeng(cp,cout);reg cout;input cp;reg6:0 n;output cout;always(posedge cp) begin if(n79) n=7d0; else if(n=2d3) cout=2d0; else cout=coutut+2d1; end endmodule名字的学号控制器的输入频率为1hz,经编译及仿真之后得到的波形图像为:由图像可知,在脉冲输入时,输出的分别为0、1、2、3即,可以用作名字输出的控制端。经编译及波形仿真及元件例化后得到的器件为:(2)

13、学号控制器的原程序为:module xuehaokzn(cp,cout);reg2:0 cout;input cp;output2:0 cout;always(posedge cp) begin if(cout3d6) cout=3d0; else cout=cout+3d1; endendmodule经编译及仿真之后得到的波形图像为:由图像可知,在脉冲输入时,输出的分别为07即,可以用作学号输出的控制端。经编译及波形仿真及元件例化后得到的器件为:4、十进制减法计数器的原程序为:module jishuqi(cp,n);input cp;output 3:0n;reg 3:0n;always(

14、posedge cp) begin if(n=6b0000) n=6b1001; else n=n-1; endendmodule经编译及仿真之后得到的波形如图:由图像可知,在脉冲输入的每个上升沿时,依次输出了90共十个数字,可见该计数器的设计是正确的。经编译及波形仿真及元件例化后得到的器件为:5、译码器的原程序为:module yimani(d,i);output 6:0d;input 3:0i;reg 6:0d;always (i) begincase(i)4d0:d=7b0000001;4d1:d=7b1001111;4d2:d=7b0010010;4d3:d=7b0000110;4d4

15、:d=7b1001100;4d5:d=7b0100100;4d6:d=7b0100000;4d7:d=7b0001111;4d8:d=7b0000000;4d9:d=7b0000100;default:d=7b1111111;endcaseendendmodule经编译及仿真之后得到的波形如图:由图像可知,在输入不同的数值时,共阳极的输出端d分别对应着不同的输出值,经过对比可知,该输出与所需的输出是一致的,故该程序的设计是正确的。经编译及波形仿真及元件例化后得到的器件为:6.名字、学号的显示器的原程序为:经编译及仿真之后得到的波形如图:由图像可知,在行输出中输出了学号及名字等编码,在列输出中每

16、个频率内只输出了一个1,而且是依次变化的。经编译及波形仿真及元件例化后得到的器件为:经过对上述模块的编译,仿真及元件例化之后,再新建一个block diagram文件,分别选出刚例化的元件,并用导线对每个元件进行连接,在加入适当的输入输出端 最后得到该实验的电路图,如下图所示:然后再对该程序置顶,进行编译,观察有没有错误。经检查发现没有错误之后,在进行管脚的绑定。首先,打开assignments中的assignments editor,然后再选择输入输出,并将输入输出设置为location。然后再根据老师所给定的管脚的地址进行绑定,最终得到的绑定的图像如下图所示:经过一些列的操作之后,再把所建

17、立文件夹中后缀为sof的文件进行下载实验,最终得到实验的结果,实验最终得到成功。五、总结与讨论。经过五天的编程、仿真、调试使得我们在本次的实习当中学到了很多的东西。从分频器的编程到各种控制球的编程,然后到计数器及译码器的编程,最后到显示器的编程,其中间自己遇到了很多的问题与不解,从中我经常问旁边的同学,而且还向老师请教,并且还在图书馆中查阅了一部分资料,从这中间得到了一些很有价值的信息。自此先向老师及同学们表示一下感谢,谢谢你们对我的帮助。也是由于曾经做过关于数电上机的实验,自己也在做那些实验的期间来机房做过,故对软件的操作还是比较熟练的。在最后的图像连线机器管脚的编码的过程中没有遇到太大的问

18、题,实验的最后阶段还是比较成功的。但是在最后的下载试验时遇到的问题还是比较多的。在第四天的下午,我曾到前边做过两次,但都遇到了失败,没有成功。首先是译码器的数字输出是完全不正确的;然后是字幕的输出也是不正确的,字幕输出的姓名、学号都是反着的。由于在晚上试验箱在我们的办理的同学那,所以晚上在机房里我有进行了大约5、6次下载试验,并逐渐的后进行调试,逐渐找到了原因并进行了改正。原来是译码器的管脚绑定顺序反了使得输出的数字是不正确的,并且我对行输出及列输出的管脚的地址也进行了反绑,使得原来反着的数字和名字都可以睁着输出了。总之,通过这5天的实习,使我对模电这门课程有了更多的了解。明白了原来我们的生活中的很多东西是与我们所学习的这门课程有关系的。使我更加深了对这门课程的喜爱的了解的愿望。希望在以后的学习和生活中发现更多,了解更多。最后,谢谢老师们5天以来一直陪伴着我们,给与我们建议与指导。老师辛苦了,谢谢您!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1