付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、物理与电子工程学院数字电路课程设计报告书设计题目:数字显示电路设计专业:自动化班级:10级1班学生姓名:至想学号:2110341106指导教师:胡桃年月日页脚页脚物理与电子工程学院课程设计任务书专业:自动化班级:10级2班学生姓名李想学号2110341106课程名称数字电路设计题目数字显示电路设计设计目的、主要内容(参数、方法)及要求1、课程设计是专业课学习过程中一个非常重要的环节。本次课程设计的目的是熟悉和掌握数字显示电路的应用方法,为今后的工作和学习打下坚实的基础。2、理解数字显示电路的原理。3、掌握数字显示电路的应用范围、核心仪器及应用电路。4、检索阅读与课程设计课题相关的国内科技文献,
2、书写并按时提交规范的课程设计。5、在调查、实验、论文撰写等环节中,应尊重事实、尊重实验结果,严肃认真的的完成每一个环节的相关工作。6、课程设计应论述层次清晰,概念准确,语句通顺。7、独立完成课程设计的撰写工作,不得抄袭和剽窃他人成果。8、符合课程设计写作规范,整篇文章不少于3000字。工作量2周时间,每天3学时,共计42学时进度安排第1天:下达任务书第2-5天:搜集资料,完成课程设计的文献查阅、试验或调研工作。第6-8天:完成课程设计的初稿,并提交指导教师。第9-14天:完成课程设计的修改,最终定稿。主要参考资料1路勇.电子电路实验及仿真M.北京:北京交通大学出版社,2010.2孟涛.电工电子
3、EDA实践教程M.北京:机械工业出版社,2010.3高吉祥.电子技术基础实验与课程设计M.北京:电子工业出版社,20054候建军.电子技术基础实验、综合设计实验与课程设计M.北京:高等教育出版社,2007.指导教师签字教研室主任签字页脚摘要采用动态扫描的方式实现设计要求。动态扫描显示需要由两组信号来控制:一组是字段输出口输出的字形代码,用来控制显示的字形,称为段码;另一组是位输出口输出的控制信号,用来选择第几位数码管工作,称为位码。各位数码管的段线并联,段码的输出对各位数码管来说都是相同的。因此在同一时刻如果各位数码管的位选线都处于选通状态的话,6位数码管将显示相同的字符。若要各位数码管能够显
4、示出与本位相应的字符,就必须采用扫描显示方式,即在某一时刻,只让某一位的位选线处于导通状态,而其它各位的位选线处于关闭状态。同时,段线上输出相应位要显示字符的字型码。这样在同一时刻,只有选通的那一位显示出字符,而其它各位则是熄灭的,如此循环下去,就可以使各位数码管显示出将要显示的字符。MAX+PLUSII是一个完全集成化的可编程逻辑环境,能满足用户各种各样的设计需要。它支持Altera公司不同结构的器件,可在多平台上运行。MAX+PLUSII具有突出的灵活性和高效性,为设计者提供了多种可自由选择的设计方法和工具。丰富的图形界面,可随时访问的在线帮助文档,使用户能够快速轻松地掌握和使用MAX+P
5、LUSII软件。MAX+PLUSII具有的强大功能极大地减轻了设计者的负担,使设计者可以快速完成所需的设计,使用该软件,用户从开始设计逻辑电路到完成器件下载编程一般只需要数小时时间,其中设计的编译时间往往仅需数分钟。用于可在一个工作日内完成实现设计项目的多次修改,直至最终设计定型。MAX+PLUSII开发系统众多突出的特点,使它深受广大用户的青睐。页脚关键词:数字显示电路;动态扫描;段码页脚第一章设计任务11.1 项目名称:设计数字显示电路11.2 项目设计说明11.2.1 设计任务和要求1.1.2.2 进度安排11.3 项目总体功能模块图2第二章需求分析22.1 问题基本描述22.2 系统模
6、块分解32.3 系统各模块功能的基本要求3.第三章设计原理43.1 设计原理43.2 MAXPLUSII介绍.4.第四章系统功能模块设计61.1.1 数码管位选控制模块流程图6.1.1.2 输入输出引脚及其功能说明6.1.1.3 程序代码实现.7.4.2 数据选择模块84.2.1 .数据选择模(八选一模块)块流程图8.4.2.2 输入输出引脚及其功能说明9.4.2.3 程序代码实现.9.页脚4.3 七段译码器模块1.Q4.3.1 七段译码器模块模块流程图.1Q.4.3.2 输入输出引脚及其功能说明IQ.4.3.3 程序代码实现1Q.第五章调试并分析结果1.25.1 输入说明1.25.2 预计输
7、出125.3 测试结果记录12,5.4 测试结果分析12,第六章结论1.36.1心得体会1.3参考文献1.4附录15页脚第一章设计任务1.1 项目名称:设计数字显示电路本项目的主要内容是设计并实现8位数码管轮流显示8个数字。该电路将所学的数字电路与系统大部分知识和VHDL语言结合。1.2 项目设计说明1.2.1 设计任务和要求A、用CPLD设计一个八位数码管显示电路;B、8位数码管轮流显示8个数字,选择合适的时钟脉冲频率实现8个数码管同时被点亮的视觉效果。1.2.2 进度安排第一周至第二周每周二2课时,共10课时。具体安排为:第一周至第三周6课时自行设计、第四周实验结果验收、第五周交报告并进行
8、答辩。页脚1.3 项目总体功能模块图B.B.日,0.fl3:卬卬卬卬0mm3一3GI用“产口一!,3AE'口口里第二章需求分析2.1 问题基本描述基本系统流程图如下页脚T2.2 系统模块分解动态扫描显示电路的主要组成为:计数器、显示译码器、32选4数据选择器、扫描电路组成。2.3 系统各模块功能的基本要求1、计数器:CN8模块输入信号是时钟脉clk,每遇到一个时钟脉冲clk上升沿时,内部累加器便加一,再把累加器所得结果与2进制数的形式输出。要显示8位数字,所以用3位2进制数作为输出。输出信号为cout0.2o2、八选一数据选择模块:模块输入信号一个是数据选择器的地址码SEL2.0,另一
9、部分是数据信息A3.0卜F3.0.地址码是SEL2.0来自时钟脉冲计数器CN6,由地址码SEL2.0快定输出哪个输入数据。输出信号是q3.0;3、扫描显示译码器:完成对7字段数码管显示的控制。页脚第三章设计原理3.1 设计原理采用动态扫描的方式实现设计要求。动态扫描显示需要由两组信号来控制:一组是字段输出口输出的字形代码,用来控制显示的字形,称为段码;另一组是位输出口输出的控制信号,用来选择第几位数码管工作,称为位码。各位数码管的段线并联,段码的输出对各位数码管来说都是相同的。因此在同一时刻如果各位数码管的位选线都处于选通状态的话,6位数码管将显示相同的字符。若要各位数码管能够显示出与本位相应
10、的字符,就必须采用扫描显示方式,即在某一时刻,只让某一位的位选线处于导通状态,而其它各位的位选线处于关闭状态。同时,段线上输出相应位要显示字符的字型码。这样在同一时刻,只有选通的那一位显示出字符,而其它各位则是熄灭的,如此循环下去,就可以使各位数码管显示出将要显示的字符。虽然这些字符是在不同时刻出现的,而且同一时刻,只有一位显示,其它各位熄灭,但由于数码管具有余辉特性和人眼有视觉暂留现象,只要每位数码管显示间隔足够短,给人眼的视觉印象就会是连续稳定地显示。总之,多个数码管动态扫描显示,是将所有数码管的相同段并联在一起,通过选通信号分时控制各个数码管的公共端,循环一次点亮多个数码管,并利用人眼的
11、视觉暂留现象,只要扫描的频率较大,将看不到闪烁现象。将会看到6个数码管持续稳定点亮的现象。3.2 MAXPLUSII介绍MAX+PLUSII是一个完全集成化的可编程逻辑环境,能满足用户各种各页脚样的设计需要。它支持Altera公司不同结构的器件,可在多平台上运行MAX+PLUSII具有突出的灵活性和高效性,为设计者提供了多种可自由选择的设计方法和工具。丰富的图形界面,可随时访问的在线帮助文档,使用户能够快速轻松地掌握和使用MAX+PLUSII软件。MAX+PLUSII具有的强大功能极大地减轻了设计者的负担,使设计者可以快速完成所需的设计,使用该软件,用户从开始设计逻辑电路到完成器件下载编程一般
12、只需要数小时时间,其中设计的编译时间往往仅需数分钟。用于可在一个工作日内完成实现设计项目的多次修改,直至最终设计定型。MAX+PLUSII开发系统众多突出的特点,使它深受广大用户的青睐。MAX+PLUSII支持Altera公司的Classic、ACEX1KMAX3000、MAX5000、MAX7000、MAX9000、FLEX6000和FLEX10K等系列的可编程逻辑器件,门数为600250000门,提供了工业界真正与结构无关的可编程逻辑设计环境。MAX+PLUSII的编辑器还提供了强大的逻辑综合与优化功能以减轻用户的设计负担。MAX+PLUSII软件的设计输入、处理、校验功能完全集成于可编程
13、逻辑开发工具内,从而可以更快的进行调试,缩短开发周期。设计者可以从各种设计输入、编辑、校验及器件编程工具中作出选择,形成用户风格的开发环境,必要时还可以在保留原始功能的基础上添加新的功能。由于MAX+PLUSII支持多种器件系列,设计者无须学习新的开发工具即可对新结构的器件进行开发。MAX+PLUSII软件支持多种HDL的设计输入,包括标准的VHDL、Verilog页脚HDL及Altera公司自己开发的硬件描述语言AHDL。MAX+PLUSII由设计输入、项目处理、项目检验和器件编程等4部分组成,所有这些部分都集成在一个可视化的操作环境下。MAX+PLUSII管理窗口包括项目路径、工作文件标题
14、条、MAX+PLUSII菜单条、快捷工具条和工作区等几个部分。设置好授权码后,启动MAX+PLUSII即进入MAX+PLUSII管理窗口,如图6.4所示。MAX+PLUSII还为用户提供了功能强大的在线帮助功能。通过使用在线帮助,用户可以获得设计中所需的全部信息。第四章系统功能模块设计4.1 计数(数码管位选控制)模块4.1.1 数码管位选控制模块流程图4.1.2 输入输出引脚及其功能说明CN8模块输入信号是时钟脉冲clk,每遇到一个时钟脉冲clk上升沿时,内部累加器便加一,再把累加器所得结果与2进制数的形式输出。要显示八位数字,页脚所以用3位2进制数作为输出。输出信号为cout0.2。总之是
15、通过输入输出信号来对数码管进行位选控制。4.1.3 程序代码实现libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycn8isport(clr,start,clk:inbit;cout:outstd_logic_vector(2downto0);endcn8;architectureaofcn8issignaltemp:std_logic_vector(2downto0);beginprocess(clk,clr)beginifclr='0'thentemp<="
16、000"cout<='0'elsif(clk'eventandclk='1')thenifstart='0'theniftemp>="111"then页脚temp<="000"cout<='1'elsetemp<=temp+1;cout<='0'endif;endif;endif;endprocess;cout<=temp;enda;4.2 数据选择模块4.2.1 数据选择模(八选一模块)块流程图页脚4.2.2 输入
17、输出引脚及其功能说明一部分由地址SEL81模块输入信号一个是数据选择器SEL81的地址码SEL2.0另是数据信息A3.0H3.0.地址码是SEL2.0来自时钟脉冲计数器CN8,码SEL2.0快定输出哪个输入数据。输出信号是q3.0o4.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);Endse
18、l81;Architecturertlofsel81isbeginProcess(a,b,c,d,e,f,g,h,sel)Variablecout:std_logic_vector(3downto0);SELGlBeginCase(sel)isWhen"000"=>cout:=a;When"010"=>cout:=c;When"001"=>cout:=b;页脚When"011"=>cout:=d;When"100"=>cout:=e;When"101&qu
19、ot;=>cout:=f;When"110"=>cout:=g;Whenothers=>cout:=h;Endcase;Q<=cout;Endprocess;Endrtl;sapdes-<oor占on-4.3 七段译码器模块4.3.1 七段译码器模块模块流程图4.3.2 输入输出引脚及其功能说明DISP模块是七段译码器,将输入的4位二进制数转换为数码显示管对应的数字。例如输入为4进制数0000的时候,使数码显示管显示0,则要七段译码器输出为011111。即g段为0,g段发光二极管不亮,其它发光二极管被点亮,显示效果为00DISP模块输入信号D3
20、.0,输出信号是Q6.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
21、"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&l
22、t;="1111111”;Whenothers=>q<="1101111”;Endcase;Endprocess;页脚Endrtl;第五章调试并分析结果5.1 输入说明clk时钟输入Clr计数器清零(低电平有效)Start打开计数器(低电平有效)A3.0.H3.0输入要显示的数字5.2 预计输出Cout2.0数码管位选控制Q6.0数码管段选控制5.3 测试结果记录同时显示0,1,2,3,4,5,6,7这八个不同的数字图形到八个数码管上。5.4 测试结果分析输入一个时钟,驱动计数器工作。选用模值为8的计数器,依次控制8个数码管的亮灭,使得某一时刻有且仅有一个数码管
23、点亮,同时产生对应的,将点亮的数码管赋值显示为相应的数码予以显示。由于扫描频率较高,8位数码管序列将显示持续稳定的0至7的数码。页脚第六章结论6.1心得体会在课程设计之前,我学过51单片机,对硬件与软件的联系有初步的了解,其次我的题目相对较简单-设计8位数码管动态显示电路,所以上手特别的快。在编写程序之前,我到实验室实地考察了一下试验箱,发现8位数码管实验无法实现,只能实现6位,开关实现数码管数字变换也不现实,单单8位数码管的数字就需要32个开关控制,试验箱远远达不到这个要求,因此,我就设计全软件来控制并且做得非常成功。最后验收时听老师分析,全软件的程序有很大的缺陷,然后对我的设计又进一步的改
24、进,用开关来进行控制。总之,通过这次课程设计,我对EDA技术有了更进一步的了解。也知道了如何把vhdl的程序装到实验的硬件中,然后如何的连接实验箱上的管脚。通过在上网查询本次实验相关资料。丰富了对EDA的了解。页脚参考文献1路勇.电子电路实验及仿真M.北京:北京交通大学出版社,2010.2孟涛.电工电子EDA实践教程M.北京:机械工业出版社,2010.3高吉祥.电子技术基础实验与课程设计M.北京:电子工业出版社,20054候建军.电子技术基础实验、综合设计实验与课程设计M.北京:高等教育出版社,2007.页脚课程设计中的程序如下:libraryieee;useieee.std_logic_11
25、64.all;useieee.std_logic_unsigned.all;entitydiv2kisport(clk_in:instd_logic;clk_out:outstd_logic);end;architectureaofdiv2kissignalcnt:integerrange0to999;signalclk_tmp:std_logic;beginprocess(clk_in)beginif(clk_in'eventandclk_in='1')thenifcnt=999thencnt<=0;clk_tmp<=notclk_tmp;elsecnt&
26、lt;=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_ledIScomponentdiv
27、2kport(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;BEGINu1:div2kportmap(clk_in=>CLK,clk_out=>clk_tmp);3线至6线
28、译码器-A为位码P1:process(CNT6)BEGINCASECNT6ISWHEN0=>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;E
29、NDCASE;ENDPROCESSP1;展模块拓页脚P2:process(clk_tmp)BEGINIFclk_tmp'EVENTANDclk_tmp='1'THEN-实现模6计数器ifCNT6=5thenCNT6<=0;elseCNT6<=CNT6+1;endif;IF(FLAG=11)THEN-设置标志FLAG<=0;ENDIF;IFCOUNT=5000THEN-另一个时钟COUNT<=0;FLAG<=FLAG+1;-当记满5000时左移动一位ELSECOUNT<=COUNT+1;ENDIF;ENDIF;ENDPROCESSP2;
30、P3:process(A)BEGIN页脚FLAG_A<=(A+FLAG);-0-F循环显示CASEFLAG_AISWHEN0=>SG<="1111110"-0-共阴abcdefgWHEN1=>SG<="0110000"-1WHEN2=>SGWHEN3=>SGWHEN4=>SG<="0110011"-4WHEN5=>SG<="1011011"-5WHEN6=>SG<="1011111"-6WHEN7=>SG<="1110000"-7WHEN8=>SGWHEN9=>SG<="1111011"-9WHEN10=>SG<="1110111"-AWHEN11=>SG<="0011111"-BWHEN12=>SG<="1001110
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海农林职业技术学院《小儿内科》2025-2026学年期末试卷
- 沈阳建筑大学《旅游消费者行为学》2025-2026学年期末试卷
- 苏州科技大学《推拿学》2025-2026学年期末试卷
- 上海兴伟学院《超声影像学》2025-2026学年期末试卷
- 山西大学《妇产科护理学实践与学习指导》2025-2026学年期末试卷
- 沈阳药科大学《博弈论与信息经济学》2025-2026学年期末试卷
- 上海城建职业学院《儿童发展》2025-2026学年期末试卷
- 上海工会管理职业学院《大学美育》2025-2026学年期末试卷
- 无锡太湖学院《互联网与社会》2025-2026学年期末试卷
- 山西应用科技学院《现代物流学》2025-2026学年期末试卷
- 妊娠合并肺栓塞
- 光伏电站应急救援培训课件
- 人体动静脉课件
- 2025年广东省初中学业水平考试语文试卷(含答案详解)
- 2025年江苏护理职业学院单招《数学》考前冲刺练习试题附参考答案详解(培优A卷)
- 泰山学院中国地理课件第9章 东北区
- 作风建设培训课件民航
- 学堂在线 雨课堂 学堂云 科研伦理与学术规范 期末考试答案
- 二手车经纪人题库及答案
- 专项维修资金存放服务方案投标文件技术方案
- T/CAQI 96-2019产品质量鉴定程序规范总则
评论
0/150
提交评论