




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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.北京:北京交通大学出版社,201
3、0.2孟涛.电工电子EDA实践教程M.北京:机械工业出版社,2010.3高吉祥.电子技术基础实验与课程设计M.北京:电子工业出版社,20054候建军.电子技术基础实验、综合设计实验与课程设计M.北京:高等教育出版社,2007.指导教师 签字教研室主任签字摘要采用动态扫描的方式实现设计要求。动态扫描显示需要由两组信号来控制:一组是字段输出口输出的字形代码, 用来控制显示的字形,称为段码;另一组是 位输出口输出的控制信号,用来选择第几位数码管工作,称为位码。各位数码管 的段线并联,段码的输出对各位数码管来说都是相同的。 因此在同一时刻如果各 位数码管的位选线都处于选通状态的话,6位数码管将显示相同
4、的字符。若要各 位数码管能够显示出与本位相应的字符,就必须采用扫描显示方式,即在某一时刻,只让某一位的位选线处于导通状态,而其它各位的位选线处于关闭状态。同 时,段线上输出相应位要显示字符的字型码。这样在同一时刻,只有选通的那一位显示出字符,而其它各位则是熄灭的,如此循环下去,就可以使各位数码管显 示出将要显示的字符。MAX+PLUS II是一个完全集成化的可编程逻辑环境,能满足用户各种各样 的设计需要。它支持Altera公司不同结构的器件,可在多平台上运行。MAX+PLUS II具有突出的灵活性和高效性,为设计者提供了多种可自由选择的设计方法和工 具。丰富的图形界面,可随时访问的在线帮助文档
5、,使用户能够快速轻松地掌握 和使用MAX+PLUSII软件。MAX+PLUSII具有的强大功能极大地减轻了设计者的负担,使设计者可 以快速完成所需的设计,使用该软件,用户从开始设计逻辑电路到完成器件下载 编程一般只需要数小时时间,其中设计的编译时间往往仅需数分钟。 用于可在一 个工作日内完成实现设计项目的多次修改,直至最终设计定型。MAX+PLUS II开发系统众多突出的特点,使它深受广大用户的青睐。关键词:数字显示电路;动态扫描;段码页脚第一章设计任务11.1 项目名称:设计数字显示电路 11.2 项目设计说明.11.2.1 设计任务和要求11.2.2 进度安排11.3 项目总体功能模块图2
6、第二章需求分析22.1 问题基本描述22.2 系统模块分解 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.04.3.1 七段译码器模块模块流程图 10.4.3.2 输入输出引脚及其功能说明 .10.4.3.3 程序代码实现1.
7、0.第五章调试并分析结果 1.25.1 输入说明1.25.2 预计输出1.25.3 测试结果记录 1.25.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课时
8、。具体安排为:第一周至第三周 6课时自行设计、第四周实验结果验收、第五周交报告并进行答辩。1.3 项目总体功能模块图B. B.日, 0.fl3 :卬卬卬卬0 mm3一 3GI用“产口一!, 3 AE'口 口里第二章需求分析2.1 问题基本描述基本系统流程图如下T2.2 系统模块分解动态扫描显示电路的主要组成为:计数器、显示译码器、32选4数据选择器、扫描电路组成。2.3 系统各模块功能的基本要求1、计数器:CN8模块输入信号是时钟脉clk,每遇到一个时钟脉冲clk上升 沿时,内部累加器便加一,再把累加器所得结果与2进制数的形式输出。要显示8位数字,所以用3位2进制数作为输出。输出信号为
9、 cout0.2。2、八选一数据选择模块:模块输入信号一个是数据选择器的地址码 SEL2.0, 另一部分是数据信息A3.0F3.0.地址码是SEL2.0来自时钟脉冲计数器CN6, 由地址码SEL2.0快定输出哪个输入数据。输出信号是 q3.0;3、扫描显示译码器:完成对 7字段数码管显示的控制。第三章设计原理3.1 设计原理采用动态扫描的方式实现设计要求。动态扫描显示需要由两组信号来控制:一组是字段输出口输出的字形代码, 用来控制显示的字形,称为段码;另一组是 位输出口输出的控制信号,用来选择第几位数码管工作,称为位码。各位数码管 的段线并联,段码的输出对各位数码管来说都是相同的。 因此在同一
10、时刻如果各 位数码管的位选线都处于选通状态的话,6位数码管将显示相同的字符。若要各 位数码管能够显示出与本位相应的字符, 就必须采用扫描显示方式,即在某一时 刻,只让某一位的位选线处于导通状态,而其它各位的位选线处于关闭状态。同 时,段线上输出相应位要显示字符的字型码。 这样在同一时刻,只有选通的那一 位显示出字符,而其它各位则是熄灭的,如此循环下去,就可以使各位数码管显 示出将要显示的字符。虽然这些字符是在不同时刻出现的, 而且同一时刻,只有一位显示,其它各 位熄灭,但由于数码管具有余辉特性和人眼有视觉暂留现象, 只要每位数码管显 示间隔足够短,给人眼的视觉印象就会是连续稳定地显示。总之,多
11、个数码管动态扫描显示,是将所有数码管的相同段并联在一起, 通 过选通信号分时控制各个数码管的公共端, 循环一次点亮多个数码管,并利用人 眼的视觉暂留现象,只要扫描的频率较大,将看不到闪烁现象。将会看到6个数 码管持续稳定点亮的现象。3.2 MAXPLUSII 介绍MAX+PLUS II是一个完全集成化的可编程逻辑环境,能满足用户各种各样的设计需要。它支持Altera公司不同结构的器件,可在多平台上运行MAX+PLUS II具有突出的灵活性和高效性,为设计者提供了多种可自由选择的 设计方法和工具。丰富的图形界面,可随时访问的在线帮助文档,使用户能够快速轻松地掌握 和使用MAX+PLUSII软件。
12、MAX+PLUSII具有的强大功能极大地减轻了设计者的负担,使设计者可 以快速完成所需的设计,使用该软件,用户从开始设计逻辑电路到完成器件下载 编程一般只需要数小时时间,其中设计的编译时间往往仅需数分钟。 用于可在一 个工作日内完成实现设计项目的多次修改,直至最终设计定型。MAX+PLUS II开发系统众多突出的特点,使它深受广大用户的青睐。MAX+PLUSII 支持 Altera 公司的 Classic、ACEX 1K MAX 3000、MAX 5000、MAX 7000、MAX 9000、FLEX 6000和 FLEX 10K等系列的可编程逻辑 器件,门数为600250000门,提供了工业
13、界真正与结构无关的可编程逻辑设计 环境。MAX+PLUSII的编辑器还提供了强大的逻辑综合与优化功能以减轻用户的 设计负担。MAX+PLUSII软件的设计输入、处理、校验功能完全集成于可编程逻辑开发 工具内,从而可以更快的进行调试,缩短开发周期。设计者可以从各种设计输入、编辑、校验及器件编程工具中作出选择,形成 用户风格的开发环境,必要时还可以在保留原始功能的基础上添加新的功能。由于MAX+PLUSII支持多种器件系列,设计者无须学习新的开发工具即可对新结构 的器件进行开发。HDL及Altera公司自己开发的硬件描述语言 AHDL。MAX+PLUS II由设计输入、项目处理、项目检验和器件编程
14、等 4部分组成, 所有这些部分都集成在一个可视化的操作环境下。MAX+PLUS II管理窗口包括项目路径、工作文件标题条、 MAX+PLUS II菜 单条、快捷工具条和工作区等几个部分。设置好授权码后,启动 MAX+PLUS II 即进入MAX+PLUS II管理窗口,如图6.4所示。MAX+PLUS II还为用户提供了功能强大的在线帮助功能。通过使用在线帮 助,用户可以获得设计中所需的全部信息。第四章系统功能模块设计4.1 计数(数码管位选控制)模块4.1.1 数码管位选控制模块流程图4.1.2 输入输出引脚及其功能说明CN8模块输入信号是时钟脉冲clk,每遇到一个时钟脉冲clk上升沿时,内
15、部累加器便加一,再把累加器所得结果与2进制数的形式输出。要显示八位数字,所以用3位2进制数作为输出。输出信号为cout0.2。总之是通过输入输出信号来对数码管进行位选控制。4.1.3 程序代码实现library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cn8 isport(clr,start,clk: in bit;cout: out std_logic_vector(2 downto 0);end cn8;architecture a of cn8 issignal temp:std_lo
16、gic_vector(2 downto 0);beginprocess(clk,clr)beginif clr='0' thentemp<="000"cout<='0'elsif (clk'event and clk='1') thenif start='0' thenif temp>="111" thentemp<="000"cout<='1'elsetemp<=temp+1;cout<='0
17、39;end if;end if;end if;end process;cout<=temp;end a;4.2 数据选择模块4.2.1 数据选择模(八选一模块)块流程图4.2.2 输入输出引脚及其功能说明SEL81模块输入信号一个是数据选择器 SEL81的地址码SEL2.0另 是数据信息A3.0卜H3.0.地址码是SEL2.0来自时钟脉冲计数器 CN8, 码SEL2.0快定输出哪个输入数据。输出信号是 q3.0。4.2.3 程序代码实现一部分由地址Library ieee;Use ieee.std_logic_1164.all;Entity sel81 isPort(sel:in st
18、d_logic_vector(2 downto 0);A,b,c,d,e,f,g,h:in std_logic_vector(3 downto 0);Q:out std_logic_vector(3 downto 0);End sel81;Architecture rtl of sel81 is beginProcess(a,b,c,d,e,f,g,h,sel)Variable cout:std_logic_vector(3 downto 0);BeginCase(sel)isWhen"000"=>cout:=a;When"010"=>cou
19、t:=c;SELGlWhen"001"=>cout:=b;When"011"=>cout:=d;When"100"=>cout:=e;When"101"=>cout:=f;When"110"=>cout:=g;When others =>cout:=h;End case;Q<=cout;End process;End rtl;sapde s - < o or 占on -4.3 七段译码器模块4.3.1 七段译码器模块模块流程图4.3.2 输入输出引
20、脚及其功能说明DISP模块是七段译码器,将输入的 4位二进制数转换为数码显示管对应的 数字。例如输入为4进制数0000的时候,使数码显示管显示 0,则要七段译码 器输出为011111。即g段为0, g段发光二极管不亮,其它发光二极管被点亮, 显示效果为00 DISP模块输入信号D3.0,输出信号是Q6.0。4.3.3 程序代码实现Library ieee;Use ieee.std_logic_1164.all;Entity disp isport(d:in std_logic_vector(3 downto 0);q:out std_logic_vector(6 downto 0);end d
21、isp;Architecture rtl of disp isBeginProcess(d)BeginCase d isWhen"0000"=>q<="0111111”;When"0001"=>q<="0000110”;When"0010"=>q<="1011011”;When"0011"=>q<="1001111”;When"0100"=>q<="1100110”;When"
22、0101"=>q<="1101101”;When"0110"=>q<="1111101”;When"0111"=>q<="0100111”;When"1000"=>q<="1111111”;When others=>q<="1101111”;End case;End process;End rtl;第五章调试并分析结果5.1 输入说明clk时钟输入Clr计数器清零(低电平有效)Start打开计数器(低电平有效)A3.
23、0.H3.0输入要显示的数字5.2 预计输出Cout2.0数码管位选控制Q6.0数码管段选控制5.3 测试结果记录同时显示0, 1, 2, 3, 4, 5, 6,7这八个不同的数字图形到八个数码管上。5.4 测试结果分析输入一个时钟,驱动计数器工作。选用模值为 8的计数器,依次控制8 个数码管的亮灭,使得某一时刻有且仅有一个数码管点亮, 同时产生对应的,将 点亮的数码管赋值显示为相应的数码予以显示。由于扫描频率较高,8位数码管序列将显示持续稳定的0至7的数码。第六章结论6.1心得体会在课程设计之前,我学过51单片机,对硬件与软件的联系有初步的了解, 其次我的题目相对较简单 一设计8位数码管动态
24、显示电路,所以上手特别的快。 在编写程序之前,我到实验室实地考察了一下试验箱,发现8位数码管实验无法 实现,只能实现6位,开关实现数码管数字变换也不现实, 单单8位数码管的数 字就需要32个开关控制,试验箱远远达不到这个要求,因此,我就设计全软件 来控制并且做得非常成功。最后验收时听老师分析,全软件的程序有很大的缺陷, 然后对我的设计又进一步的改进,用开关来进行控制。总之,通过这次课程设计,我对 EDA技术有了更进一步的了解。也知道了 如何把vhdl的程序装到实验的硬件中,然后如何的连接实验箱上的管脚。通过在上网查询本次实验相关资料。丰富了对 EDA的了解。页脚参考文献1路勇.电子电路实验及仿
25、真M.北京:北京交通大学出版社,2010.2孟涛.电工电子EDA实践教程M.北京:机械工业出版社,2010.3高吉祥.电子技术基础实验与课程设计M.北京:电子工业出版社, 20054候建军.电子技术基础实验、综合设计实验与课程设计M.北京:高等教育出版社,2007.课程设计中的程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity div2k isport(clk_in : in std_logic;clk_out : out std_logic);end;architecture
26、 a of div2k issignal cnt : integer range 0 to 999;signal clk_tmp : std_logic;beginprocess(clk_in)beginif (clk_in'event and clk_in='1') thenif cnt=999 thencnt<=0; clk_tmp<= not clk_tmp;elsecnt<=cnt+1;end if;end if;end process;clk_out<=clk_tmp;end;BLIBRARY IEEE;USE IEEE.STD_LOG
27、IC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;-USE IEEE.STD_numeric_stdENTITY scan_led ISPORT ( CLK : IN STD_LOGIC;SG : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);BT : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);END;ARCHITECTURE arc OF scan_led IScomponent div2kport(clk_in: in std_logic;clk_out: out std_logic);end compone
28、nt;SIGNAL CNT6 : INTEGER RANGE 0 TO 5;SIGNAL A : INTEGER RANGE 0 TO 5;SIGNAL COUNT : INTEGER RANGE 0 TO 5000 := 0;SIGNAl FLAG : INTEGER RANGE 0 TO 10 := 0;SIGNAl FLAG_A : INTEGER RANGE 0 TO 15;SIGNAL clk_tmp: STD_LOGIC;BEGINu1:div2k port map(clk_in=>CLK,clk_out=>clk_tmp);3线至6线译码器-A 为位码P1:proce
29、ss(CNT6)BEGINCASE CNT6 ISWHEN 0 => BT <= "000" ; A <= 0 ;WHEN 1 => BT <= "001" ; A <= 1 ;WHEN 2 => BT <= "010" ; A <= 2 ;WHEN 3 => BT <= "011" ; A <= 3 ;WHEN 4 => BT <= "100" ; A <= 4 ;WHEN 5 => BT <
30、= "101" ; A <= 5 ;WHEN OTHERS => NULL ;END CASE ;END PROCESS P1;展模块 拓P2:process(clk_tmp)BEGINIF clk_tmp'EVENT AND clk_tmp = '1' THEN -实现模 6 计数器if CNT6 = 5 thenCNT6 <= 0;else CNT6 <= CNT6 + 1;end if;IF (FLAG = 11) THEN -设置标志FLAG <= 0;END IF;IF COUNT = 5000 THEN -另
31、一个时钟COUNT <= 0;FLAG <= FLAG + 1;-当记满5000时左移动一位ELSECOUNT <= COUNT + 1;END IF;END IF;END PROCESS P2;P3:process(A)BEGINFLAG_A <= (A + FLAG) ;-0-F 循环显示CASE FLAG_A ISWHEN 0 => SG <="1111110" -0-共阴 abcdefgWHEN 1 => SG <= "0110000" -1WHEN 2 => SGWHEN 3 => S
32、GWHEN 4 => SG <= "0110011"-4WHEN 5 => SG <= "1011011" -5WHEN 6 => SG <= "1011111" -6WHEN 7 => SG <= "1110000" -7WHEN 8 => SGWHEN 9 => SG <= "1111011" -9WHEN 10 => SG <= "1110111"-AWHEN 11 => SG <= "0011111" -BWHEN 12 => SG <= "1001110" -CWHEN 13 => SG <= "0111101-DWHEN 14 => SG <= "10011
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 返租合同的协议
- 合伙协议合同范本4人
- 古代书画买卖合同协议
- 企业与食堂水电协议合同
- 合同协议六人怎样称呼
- 购买镜子合同协议书范本
- 蛋糕学徒合同协议
- 暂停租赁合同协议
- 设备场地租赁协议合同书
- 员工合同协议生效
- GB/T 15752-1995圆弧圆柱齿轮基本术语
- 推拿学(全套PPT课件)
- 飞剪机传动装置设计说明书 -
- 风险分级管控责任清单(桥梁工程)
- 2023年河南建筑职业技术学院单招综合素质考试笔试题库及答案解析
- 高考化学专题复习:探究“暖宝宝”的主要成分及发热原理
- 小学生理财小知识主题班会精编ppt
- DBJ∕T 15-104-2015 预拌砂浆混凝土及制品企业试验室管理规范
- 互联网开放平台解决方案
- 贾宝玉形象分析PPT课件(PPT 30页)
- 建筑工程质量通病课件
评论
0/150
提交评论