




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
..物理与电子工程学院《数字电路》课程设计报告书设计题目:数字显示电路设计专业:自动化班级:10级1班学生姓名:李想学号:2110341106指导胡林年月日..物理与电子工程学院课程设计任务书专业:自动化__10级2班学生姓名李想学号2110341106课程名称数字电路设计题目数字显示电路设计设计目的、主要内容〔参数、方法及要求1、课程设计是专业课学习过程中一个非常重要的环节。本次课程设计的目的是熟悉和掌握数字显示电路的应用方法,为今后的工作和学习打下坚实的基础。2、理解数字显示电路的原理。3、掌握数字显示电路的应用范围、核心仪器及应用电路。4、检索阅读与课程设计课题相关的国内科技文献,书写并按时提交规范的课程设计。5、在调查、实验、论文撰写等环节中,应尊重事实、尊重实验结果,严肃认真的的完成每一个环节的相关工作。6、课程设计应论述层次清晰,概念准确,语句通顺。7、独立完成课程设计的撰写工作,不得抄袭和剽窃他人成果。8、符合课程设计写作规范,整篇文章不少于3000字。工作量2周时间,每天3学时,共计42学时进度安排第1天:下达任务书第2-5天:搜集资料,完成课程设计的文献查阅、试验或调研工作。第6-8天:完成课程设计的初稿,并提交指导教师。第9-14天:完成课程设计的修改,最终定稿。主要参考资料[1]路勇.电子电路实验及仿真[M].北京:北京交通大学出版社,2010.[2]孟涛.电工电子EDA实践教程[M].北京:机械工业出版社,2010.[3]高吉祥.电子技术基础实验与课程设计[M].北京:电子工业出版社,2005[4]候建军.电子技术基础实验、综合设计实验与课程设计[M].北京:高等教育出版社,2007.指导教师签字教研室主任签字..摘要采用动态扫描的方式实现设计要求。动态扫描显示需要由两组信号来控制:一组是字段输出口输出的字形代码,用来控制显示的字形,称为段码;另一组是位输出口输出的控制信号,用来选择第几位数码管工作,称为位码。各位数码管的段线并联,段码的输出对各位数码管来说都是相同的。因此在同一时刻如果各位数码管的位选线都处于选通状态的话,6位数码管将显示相同的字符。若要各位数码管能够显示出与本位相应的字符,就必须采用扫描显示方式,即在某一时刻,只让某一位的位选线处于导通状态,而其它各位的位选线处于关闭状态。同时,段线上输出相应位要显示字符的字型码。这样在同一时刻,只有选通的那一位显示出字符,而其它各位则是熄灭的,如此循环下去,就可以使各位数码管显示出将要显示的字符。MAX+PLUSII是一个完全集成化的可编程逻辑环境,能满足用户各种各样的设计需要。它支持Altera公司不同结构的器件,可在多平台上运行。MAX+PLUSII具有突出的灵活性和高效性,为设计者提供了多种可自由选择的设计方法和工具。丰富的图形界面,可随时访问的在线帮助文档,使用户能够快速轻松地掌握和使用MAX+PLUSII软件。MAX+PLUSII具有的强大功能极大地减轻了设计者的负担,使设计者可以快速完成所需的设计,使用该软件,用户从开始设计逻辑电路到完成器件下载编程一般只需要数小时时间,其中设计的编译时间往往仅需数分钟。用于可在一个工作日内完成实现设计项目的多次修改,直至最终设计定型。MAX+PLUSII开发系统众多突出的特点,使它深受广大用户的青睐。关键词:数字显示电路;动态扫描;段码..目录TOC\o"1-3"\h\u17124第一章设计任务1262341.1项目名称:设计数字显示电路1236361.2项目设计说明144401.2.1设计任务和要求116051.2.2进度安排173601.3项目总体功能模块图29724第二章需求分析2243002.1问题基本描述2179562.2系统模块分解3272882.3系统各模块功能的基本要求332340第三章设计原理3208703.1设计原理3142543.2MAXPLUSII介绍41323第四章系统功能模块设计5325804.1.1数码管位选控制模块流程图55104.1.2输入输出引脚及其功能说明573444.1.3程序代码实现6169354.2数据选择模块757784.2.1.数据选择模〔八选一模块块流程图767984.2.2输入输出引脚及其功能说明7235014.2.3程序代码实现7321724.3七段译码器模块8162994.3.1七段译码器模块模块流程图8147244.3.2输入输出引脚及其功能说明8103434.3.3程序代码实现812966第五章调试并分析结果927215.1输入说明9277065.2预计输出9250275.3测试结果记录9279955.4测试结果分析105232第六章结论10220886.1心得体会1028007参考文献1119520附录12..第一章设计任务1.1项目名称:设计数字显示电路本项目的主要内容是设计并实现8位数码管轮流显示8个数字。该电路将所学的数字电路与系统大部分知识和VHDL语言结合。1.2项目设计说明1.2.1设计任务和要求A、用CPLD设计一个八位数码管显示电路;B、8位数码管轮流显示8个数字,选择合适的时钟脉冲频率实现8个数码 管同时被点亮的视觉效果。1.2.2进度安排第一周至第二周每周二2课时,共10课时。具体安排为:第一周至第三周 6课时自行设计、第四周实验结果验收、第五周交报告并进行答辩。1.3项目总体功能模块图第二章需求分析2.1问题基本描述基本系统流程图如下2.2系统模块分解动态扫描显示电路的主要组成为:计数器、显示译码器、32选4数据选择器、扫描电路组成。2.3系统各模块功能的基本要求1、计数器:CN8模块输入信号是时钟脉clk,每遇到一个时钟脉冲clk上升沿时,内部累加器便加一,再把累加器所得结果与2进制数的形式输出。要显示8位数字,所以用3位2进制数作为输出。输出信号为cout[0..2]。2、八选一数据选择模块:模块输入信号一个是数据选择器的地址码SEL[2..0],另一部分是数据信息A[3..0]~F[3..0].地址码是SEL[2..0]来自时钟脉冲计数器CN6,由地址码SEL[2..0]决定输出哪个输入数据。输出信号是q[3..0];3、扫描显示译码器:完成对7字段数码管显示的控制。第三章设计原理3.1设计原理采用动态扫描的方式实现设计要求。动态扫描显示需要由两组信号来控制:一组是字段输出口输出的字形代码,用来控制显示的字形,称为段码;另一组是位输出口输出的控制信号,用来选择第几位数码管工作,称为位码。各位数码管的段线并联,段码的输出对各位数码管来说都是相同的。因此在同一时刻如果各位数码管的位选线都处于选通状态的话,6位数码管将显示相同的字符。若要各位数码管能够显示出与本位相应的字符,就必须采用扫描显示方式,即在某一时刻,只让某一位的位选线处于导通状态,而其它各位的位选线处于关闭状态。同时,段线上输出相应位要显示字符的字型码。这样在同一时刻,只有选通的那一位显示出字符,而其它各位则是熄灭的,如此循环下去,就可以使各位数码管显示出将要显示的字符。虽然这些字符是在不同时刻出现的,而且同一时刻,只有一位显示,其它各位熄灭,但由于数码管具有余辉特性和人眼有视觉暂留现象,只要每位数码管显示间隔足够短,给人眼的视觉印象就会是连续稳定地显示。总之,多个数码管动态扫描显示,是将所有数码管的相同段并联在一起,通过选通信号分时控制各个数码管的公共端,循环一次点亮多个数码管,并利用人眼的视觉暂留现象,只要扫描的频率较大,将看不到闪烁现象。将会看到6个数码管持续稳定点亮的现象。3.2MAXPLUSII介绍MAX+PLUSII是一个完全集成化的可编程逻辑环境,能满足用户各种各样的设计需要。它支持Altera公司不同结构的器件,可在多平台上运行。MAX+PLUSII具有突出的灵活性和高效性,为设计者提供了多种可自由选择的设计方法和工具。丰富的图形界面,可随时访问的在线帮助文档,使用户能够快速轻松地掌握和使用MAX+PLUSII软件。MAX+PLUSII具有的强大功能极大地减轻了设计者的负担,使设计者可以快速完成所需的设计,使用该软件,用户从开始设计逻辑电路到完成器件下载编程一般只需要数小时时间,其中设计的编译时间往往仅需数分钟。用于可在一个工作日内完成实现设计项目的多次修改,直至最终设计定型。MAX+PLUSII开发系统众多突出的特点,使它深受广大用户的青睐。MAX+PLUSII支持Altera公司的Classic、ACEX1K、MAX3000、MAX5000、MAX7000、MAX9000、FLEX6000和FLEX10K等系列的可编程逻辑器件,门数为600~250000门,提供了工业界真正与结构无关的可编程逻辑设计环境。MAX+PLUSII的编辑器还提供了强大的逻辑综合与优化功能以减轻用户的设计负担。MAX+PLUSII软件的设计输入、处理、校验功能完全集成于可编程逻辑开发工具内,从而可以更快的进行调试,缩短开发周期。设计者可以从各种设计输入、编辑、校验及器件编程工具中作出选择,形成用户风格的开发环境,必要时还可以在保留原始功能的基础上添加新的功能。由于MAX+PLUSII支持多种器件系列,设计者无须学习新的开发工具即可对新结构的器件进行开发。MAX+PLUSII软件支持多种HDL的设计输入,包括标准的VHDL、VerilogHDL及Altera公司自己开发的硬件描述语言AHDL。MAX+PLUSII由设计输入、项目处理、项目检验和器件编程等4部分组成,所有这些部分都集成在一个可视化的操作环境下。MAX+PLUSII管理窗口包括项目路径、工作文件标题条、MAX+PLUSII菜单条、快捷工具条和工作区等几个部分。设置好授权码后,启动MAX+PLUSII即进入MAX+PLUSII管理窗口,如图6.4所示。MAX+PLUSII还为用户提供了功能强大的在线帮助功能。通过使用在线帮助,用户可以获得设计中所需的全部信息。第四章系统功能模块设计4.1计数〔数码管位选控制模块数码管位选控制模块流程图4.1.2输入输出引脚及其功能说明CN8模块输入信号是时钟脉冲clk,每遇到一个时钟脉冲clk上升沿时,内部累加器便加一,再把累加器所得结果与2进制数的形式输出。要显示八位数字,所以用3位2进制数作为输出。输出信号为cout[0..2]。总之是通过输入输出信号来对数码管进行位选控制。4.1.3程序代码实现libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all; entitycn8is port<clr,start,clk:inbit; cout:outstd_logic_vector<2downto0>; endcn8; architectureaofcn8is signaltemp:std_logic_vector<2downto0>; begin process<clk,clr> beginifclr='0'then temp<="000"; cout<='0'; elsif<clk'eventandclk='1'>then ifstart='0'then iftemp>="111"then temp<="000"; cout<='1'; else temp<=temp+1; cout<='0'; endif; endif; endif; endprocess; cout<=temp; enda;4.2数据选择模块4.2.1.数据选择模〔八选一模块块流程图4.2.2输入输出引脚及其功能说明SEL81模块输入信号一个是数据选择器SEL81的地址码SEL[2..0],另一部分是数据信息A[3..0]~H[3..0].地址码是SEL[2..0]来自时钟脉冲计数器CN8,由地址码SEL[2..0]决定输出哪个输入数据。输出信号是q[3..0]。4.2.3程序代码实现Libraryieee;Useieee.std_logic_1164.all;Entitysel81isPort<sel:instd_logic_vector<2downto0>;A,b,c,d,e,f,g,h:instd_logic_vector<3downto0>;Q:outstd_logic_vector<3downto0>>;Endsel81;Architecturertlofsel81isbeginProcess<a,b,c,d,e,f,g,h,sel>Variablecout:std_logic_vector<3downto0>;BeginCase<sel>isWhen"000"=>cout:=a;When"001"=>cout:=b;When"010"=>cout:=c;When"011"=>cout:=d;When"100"=>cout:=e;When"101"=>cout:=f;When"110"=>cout:=g;Whenothers=>cout:=h;Endcase;Q<=cout;Endprocess;Endrtl;4.3七段译码器模块4.3.1七段译码器模块模块流程图4.3.2输入输出引脚及其功能说明DISP模块是七段译码器,将输入的4位二进制数转换为数码显示管对应的数字。例如输入为4进制数0000的时候,使数码显示管显示0,则要七段译码器输出为011111。即g段为0,g段发光二极管不亮,其它发光二极管被点亮,显示效果为0。DISP模块输入信号D[3..0],输出信号是Q[6..0]。4.3.3程序代码实现Libraryieee;Useieee.std_logic_1164.all;Entitydispisport<d:instd_logic_vector<3downto0>;q:outstd_logic_vector<6downto0>>;enddisp;ArchitecturertlofdispisBeginProcess<d>BeginCasedisWhen"0000"=>q<="0111111";When"0001"=>q<="0000110";When"0010"=>q<="1011011";When"0011"=>q<="1001111";When"0100"=>q<="1100110";When"0101"=>q<="1101101";When"0110"=>q<="1111101";When"0111"=>q<="0100111";When"1000"=>q<="1111111";Whenothers=>q<="1101111";Endcase;Endprocess;Endrtl;第五章调试并分析结果5.1输入说明clk 时钟输入Clr 计数器清零〔低电平有效Start 打开计数器〔低电平有效 A[3..0]..H[3..0]输入要显示的数字5.2预计输出Cout[2..0] 数码管位选控制Q[6..0] 数码管段选控制5.3测试结果记录同时显示0,1,2,3,4,5,6,7这八个不同的数字图形到八个数码管上。5.4测试结果分析输入一个时钟,驱动计数器工作。选用模值为8的计数器,依次控制8个数码管的亮灭,使得某一时刻有且仅有一个数码管点亮,同时产生对应的,将点亮的数码管赋值显示为相应的数码予以显示。由于扫描频率较高,8位数码管序列将显示持续稳定的0至7的数码。第六章结论6.1心得体会在课程设计之前,我学过51单片机,对硬件与软件的联系有初步的了解,其次我的题目相对较简单设计8位数码管动态显示电路,所以上手特别的快。在编写程序之前,我到实验室实地考察了一下试验箱,发现8位数码管实验无法实现,只能实现6位,开关实现数码管数字变换也不现实,单单8位数码管的数字就需要32个开关控制,试验箱远远达不到这个要求,因此,我就设计全软件来控制并且做得非常成功。最后验收时听老师分析,全软件的程序有很大的缺陷,然后对我的设计又进一步的改进,用开关来进行控制。总之,通过这次课程设计,我对EDA技术有了更进一步的了解。也知道了如何把vhdl的程序装到实验的硬件中,然后如何的连接实验箱上的管脚。通过在上网查询本次实验相关资料。丰富了对EDA的了解。参考文献[1]路勇.电子电路实验及仿真[M].北京:北京交通大学出版社,2010.[2]孟涛.电工电子EDA实践教程[M].北京:机械工业出版社,2010.[3]高吉祥.电子技术基础实验与课程设计[M].北京:电子工业出版社,2005[4]候建军.电子技术基础实验、综合设计实验与课程设计[M].北京:高等教育出版社,2007.附录课程设计中的程序如下:libraryieee;useieee.std_logic_1164.all; useieee.std_logic_unsigned.all; entitydiv2kis port<clk_in:instd_logic; clk_out:outstd_logic>; end; architectureaofdiv2kis signalcnt:integerrange0to999; signalclk_tmp:std_logic; begin process<clk_in> begin if<clk_in'eventandclk_in='1'>then ifcnt=999then cnt<=0;clk_tmp<=notclk_tmp; else cnt<=cnt+1; endif; endif; endprocess; clk_out<=clk_tmp; end;BLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;--USEIEEE.STD_numeric_stdENTITYscan_ledISPORT<CLK:INSTD_LOGIC;SG:OUTSTD_LOGIC_VECTOR<6DOWNTO0>; BT:OUTSTD_LOGIC_VECTOR<2DOWNTO0>>;END;ARCHITECTUREarcOFscan_ledIS componentdiv2k port<clk_in:instd_logic; clk_out:outstd_logic>; endcomponent;SIGNALCNT6:INTEGERRANGE0TO5;SIGNALA:INTEGERRANGE0TO5; SIGNALCOUNT:INTEGERRANGE0TO5000:=0; SIGNAlFLAG:INTEGERRANGE0TO10:=0; SIGNAlFLAG_A:INTEGERRANGE0TO15; SIGNALclk_tmp:STD_LOGIC;BEGIN u1:div2kportmap<clk_in=>CLK,clk_out=>clk_tmp>;3线至6线译码器A为位码P1:process<CNT6>BEGINCASECNT6IS WHEN0=>BT<="000";A<=0; WHEN1=>BT<="001";A<=1;WHEN2=>BT<="010";A<=2;WHEN3=>BT<="011";A<=3;WHEN4=>BT<="100";A<=4;WHEN5=>BT<="101";A<=5;WHENOTHERS=>NULL;ENDCASE;ENDPROCESSP1;拓展模块P2:process<clk_tmp>BEGINIFclk_tmp'EVENTANDclk_tmp='1'THEN --实现模6计数器 ifCNT6=5then CNT6<=0; elseCNT6<=CNT6+1; endif; IF<FLAG=11>THEN --设置标志FLAG<=0; ENDIF; IFCOUNT=5000THEN --另一个时钟 COUNT<=0; FLAG<=FLAG+1;--当记满5000时左移动一位 ELSE COUNT<=COUNT+1; ENDIF;ENDIF; ENDPROCESSP2;P3:process<A> BEGIN FLAG_A<=<A+FLAG>; --0-F循环显示 CASEFLAG_AIS WHEN0=>SG<="1111110";--0--共阴abcdefg WHEN1=>SG<="0110000";--1 WHEN2=>SG<="1101101";--2 WHEN3=>SG<="1111001";--3 WHEN4=>SG<="0110011";--4 WHEN5=>SG<="1011011";--5 WHEN6=>SG<="1011111";--6 WHEN7=>SG<="11
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 产地重楼购销合同标准文本
- 秋季学期个人发展计划
- 典当行房产借款合同标准文本
- 农村公寓转让合同标准文本
- 2025装饰装潢工程合同
- 水务行业质量管理体系的构建计划
- 养殖竹鼠合同回收合同标准文本
- 2025年汽车租赁协议合同范文
- 2025建筑设备租赁协议(合同版本)
- 2025专属定制合同及员工手册等企业规章制度服务
- 彩钢瓦屋面渗漏水维修施工方案完整
- 2024年度大型演唱会主办方与演出艺人演出合同协议范本3篇
- 装配式建筑深化设计-1.2.3 装配式建筑深化设计拆分原47课件讲解
- 电力工程施工组织措施方案
- T∕HGJ 12404-2021 仪表维修车间设计标准
- 【MOOC】园林植物应用设计-北京林业大学 中国大学慕课MOOC答案
- 继续教育《生态文明建设的理论与实践》考试试题及答案
- 组织部2024年双拥工作计划
- 2023年新疆兵团事业单位开展招聘考试真题
- 2024年浪潮数字企业技术有限公司社会招聘(105人)笔试核心备考题库及答案解析
- 第47届世界技能大赛江苏省选拔赛竞赛技术文件-混凝土建筑项目
评论
0/150
提交评论