8位十进制数码动态扫描电路设计报告资料

设计报告

课程名称电子技术基础I

任课教师

设计题目8位十进制数动态扫描显示控制电路班级

8位十进制数数码动态扫描电路设计

简介:所谓动态扫描显示,就是让各位LED按照一定的顺序轮流地发光显示。只要每秒扫

描次数大于24次以上,就观察不到闪烁现象,人眼看起来很稳定。静态扫描显示与动态显示相比,有显著降低LED功耗,大大减少LED的外部引线等优点。目前动态扫描显示技术已经被广泛应用于新型数字仪表、智能仪器和智能显示屏中。

本次课程实践中运用QuartusII软件,采用VHDL文本设计和原理图相结合的层次化方式实现数码8位动态扫描显示电路设计。首先,分别用VHDL语言编写8位数码扫描显示电路程序和分频器程序,作为底层文件;顶层文件用原理图的设计方法,调用底层文件生成的符号,从而实现动态扫描显示。用VHDL设计一个8位数码扫描显示电路,利用QuartusII9.0进行编辑输入、编译及时序仿真。其中,由于分频器的分频系数过大时,在仿真波形上很难看出波形的变化,如本设计是从100MHz分频到1KHz,分频系数为一万,所以可以通过改变减小分频系数,如改为10分频,就得到变化的波形,来验证数码动态扫描显示电路设计的正误。

一、工作原理

1、8位动态扫描显示的工作原理:

输入信号:时钟信号CLK。输出控制信号:段控制信号SG[6..0];位控制控制信号BT[7..0]。8位数码管,其中每个数码管的8个段h、g、f、e、d、c、b、a(h是小数点)都分别连接在一起,8个数码管分别由8个选通信号k1~k8来选择。被选通的数码管显示数据,其余关闭。如在某一时刻,k3为高电平,其余选通信号为低电平,这时仅为k3对应的数码管显示来自段信号端的数据,而其他7个数码管呈现关闭状态。根据这种电路状况,如果希望在8个数码管显示希望的数据,就必须使得8个选通信号k1~k8分别被选通,与此同时,在段信号输入口加上希望在该对应数码管上显示的数据,于是随着选通信号的扫变,就能实现扫描显示的目的。

扫描显示程序中CLK是扫描时钟;SG为7段控制信号,由高到低为分别接g、f、e、d、c、b、a7个段;BT是位选控制信号,接下图(1)中的8个位选通信号:k1、k2…k8。程序中CNT8是一个3位计数器,作扫描计数信号,有进程P2生成;进程P3是7断译码查表输出程序,进程P1是对8个数码管选通的扫描程序,例如当CNT8等于“010”时,K3对应的数码管被选通,同时,H被赋值3,再有进程P3译码输出“1001111”,显示在数码管上即为“3”;当CNT8扫变时将能在8个数码管上显示数据:12345678。

图(1)8位数码电路

2、七段数码显示译码器的原理:

7段数码是纯组合电路。通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是二进制的,所以输出表达都是十六进制的。为了满足十六进制数的译码显示,最方便的方法就是利用VHDL译码程序在FPGA/CPLD

中来实现。注意,这里没有考虑表示小数点的发光管,如果要考虑需要增加h段,并且段输出SG[6..0]改为SG[7..0]。本实验采用共阳数码管,其电路图见下图(2)

图(2)共阴和共阳数码管及其电路

3、分频器的工作原理:

分频器的原理也就是计数器,对时钟进行偶数分频,使占空比为50%。只要使用一个计数器,在计数器的前一半时间使输出为高电平,在计数器的后一半时间使输出为低电平,即可得到偶分频时钟。

二、功能模块

1.8位数码扫描电路模块:

CLK为时钟信号,SG为段控制信号,BT为位控制信号。功能是进行8位数码管的控制和7段数码显示的控制。

2.分频器模块:

CLKIN时钟信号输入,CLKOUT时钟信号输出。功能是对时钟信号进行分频。

3.LED显示模块原理:

LED有段码和位码之分,所谓段码就是让LED显示“8.”的八位数据,一般情况下要通过一个译码电路,将输入的4位2进制数转换为与LED显示对应的8位段码。位码也就是LED的显示使能端,对于共阳极的LED而言,高电平使能。

要让8个LED同时工作,显示数据,就是要不停的循环扫描每一个LED,并在使能每一个LED的同时,输入所需显示的数据对应8位段码。虽然8个LED是依次显示,但是受视觉分辨率的影响,看到的现象是8个LED同时工作。

多个数码管动态扫描显示,是将所有数码管的相同段并联在一起,通过选通信号分时控制各个数码管的公共端,循环点亮多个数码管,并利用人眼的视觉暂留现象,只要扫描的频率大于50HZ,将看不到闪烁现象。

本次试验不显示小数点,可把SG段控制信号向量变为8位(最高位代表小数点),并在最高位设置成恒0低电平。

三、总体设计

用VHDL语言编写8位数码扫描显示电路程序和分频器程序,作为底层文件;顶层文件用原理图的设计方法,调用底层文件生成的符号,从而实现动态扫描显示。

模块设计图:

四、模块仿真

1.8位数码扫描电路模块仿真图

2. 分频器仿真图

五、总体仿真

六、硬件实现

1.引脚锁定

将设计编程下载进选定的目标器件中,如EP1C6,作进一步的硬件测试,查询实验指导书可得8位十进制数数码动态扫描电路各引脚与目标器件中所对应的引脚:将CLK与目标器件EP1C6的第28脚相接,将m[6..0]的m[0]~m[5]按顺序与目标器件EP1C6的第164~169脚相接,m[6]接引脚号第173。n[7..0]按顺序与目标器件EP1C6的第162,161,160,159,158,141,140,139相接。

2.锁定好引脚后下载到实验箱并进行测试。

七、结论

采用扫描方式实现LED数码管的动态显示是,控制好数码管之间的时间延时是很重要的,根据人眼视觉暂留原理,LED数码管每秒导通24次以上,人眼就无法分辨LED数码管短暂的不亮,认为一直点亮的。

动态扫描显示方式是利用人眼的视觉暂留效应,把8个数码管按一定顺序(从左至右或者从右至左)进行点亮。然而,当点亮频率足够大时,我们看到的不再是一个一个的点亮,而是全部同时显示(点亮),与传统方式得到的视觉效果完全一样。因此我们只要给数码管这样一个扫描频率,就可以实现两个以上的数码管同时点亮。而这个频率我们可以通过一个计数器来产生,只要计数频率足够大,就可以实现我们的要求。事实上,因为数码管点亮不是瞬间就可以的,它也需要一定的时间,该时间与数码管的选择有关系。

八、心得体会:

通过此次动态扫描电路的设计,我们进一步学习了VHDL基本逻辑电路的综合设计应用,掌握VHDL语言的语法规范,掌握时序电路描述方法,掌握多个数码管动态扫描显示的原理及设计方法。同时也熟悉掌握了Quartus II 的使用方法以及使用的各种流程。明白了多个数码管动态扫描显示,是讲所有的数码管并联在一起,通过选通信号分时控制各个数码管的

公共端,循环点亮多个数码管,并利用人眼的视觉暂留现象,只要扫描频率大于50Hz,将看不到闪烁现象。

课程设计是培养学生综合能力,运用所学知识、发现、提出、分析和解决问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体实训和考查过程。回顾这次课程设计,我们小组成员感慨万千,的确,从选题到定稿,从理论到实践,在这些日子里,我学到了很多东西,不仅可以复习以前学的知识,而且学到了很多书本上学不到的知识。通过这次课程设计是我懂得如何把理论和实际相结合起来,从理论中的结论,把理论应用到实践中,才能真正的为社会服务,从而提高自己的实际动手能力和思考能力。这次课程设计是对这学期学过的数字电子技术基本知识的应用,本来对数字电子技术中的有些东西就不太熟悉,但是通过这次实验报告,更深刻的了解了各种芯片的引脚、时序图、逻辑图以及功能表,能够用各种芯片以及触发器等组建逻辑电路。这次的设计虽然短暂,但却是我们第一次自己动手设计的电路。在设计过程中,也遇到了书本中不曾学到的情况。

这次的设计虽然短暂,但却是我们第一次自己动手设计的电路。在设计过程中,也遇到了书本中不曾学到的情况。在这次实验中遇到的问题总结和吸取的经验如下:1.在文件名必须与VHDL文件中的设计实体名保持一致。2.掌握好电路原理图的例化及调出方式。3.引脚锁定时,注意各个引脚是否连接正确及接触是否良好。这次我们所做的实验是8位十进制数动态扫描显示控制电路,那何为扫描显示呢?扫描显示是通过把画面划分成很多很多帧来实现的。每一帧都是静止的图象,快速连续地显示帧便形成了运动的假象。刷新频率越快,由于人眼的视觉停留,就会得到想要的结果。这就像是拍摄电影一样,在拍摄武打动作时,实际中两人的动作是很慢的,但播放时,人为的把速度放快,才得到了我们日常生活中喜欢的那种快动作效果。

通过此次实验报告我们小组也体会到数字电子技术对当代社会发展的重要性。这次实验也教会了我们许多:1.学会小组之间的分工与合作。小组之间分工要明确,这是实验成功的保障、2.遇事多动脑,并且注意学习其他人的长处,吸收老师和教导者的经验。3.提高了动手能力。这次实验报告,使我们动手能力得到很大的提高。在生活中遇到一些小事情时自己动手解决,这样可以增强我们的自信心,对我们将来去适应陌生事物是有很大帮助的。

这次实验报告是短暂的,但留给我们的感受是深刻的。我们没必要在怜惜什么,以为我已得到很多了。自己现在该做的,就是当认识到自己的不足时,那就该如何去改造自己,如何完善自己。大学的生活是丰富多彩的,大学中每个人要完成的事情是很多的,但那需要每个人的认真投入。每个人不必再感叹世事的沧桑,不必遗憾岁月的来去匆匆,我们要做的那就是在这有限的时间内,完成自己应该完成的事,经历自己应该经历的事情。

九、附录代码:

1.8位数码扫描电路模块VHDL语言

LIBRARY IEEE;——库函数

USE IEEE.STD_LOGIC_1164.ALL;——定义STD_LOGIC数据类型及相应运算

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY smdl IS——smml 为实体名

PORT (CLK:IN STD_LOGIC;——时钟

SG:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);——段显示控制(gfedcba)

BT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));——数码管地址选择控制

END;

ARCHITECTURE one OF smdl IS

SIGNAL CN:STD_LOGIC_VECTOR(2 DOWNTO 0);——变量,计数

SIGNAL H:INTEGER RANGE 0 TO 9;

BEGIN

P1:PROCESS(CN)——进程,CN变化时启动进程

BEGIN

CASE CN IS

WHEN"000"=>BT<="00000001";H<=1;——控制第一位数码管,并置数1

WHEN"001"=>BT<="00000010";H<=2;

WHEN"010"=>BT<="00000100";H<=3;

WHEN"011"=>BT<="00001000";H<=4;

WHEN"100"=>BT<="00010000";H<=5;

WHEN"101"=>BT<="00100000";H<=6;

WHEN"110"=>BT<="01000000";H<=7;

WHEN"111"=>BT<="10000000";H<=8;

WHEN OTHERS=>NULL;

END CASE;

END PROCESS P1;——结束进程P1

P2:PROCESS(CLK)——进程,CLK变化时启动进程

BEGIN

IF CLK'EVENT AND CLK='1' THEN CN<=CN+1;——当上升沿时,进行计数 END IF;

END PROCESS P2;——结束进程P2

P3:PROCESS(H)

BEGIN

CASE H IS

WHEN 0=>SG<="0111111";——“0”的输入码

WHEN 1=>SG<="0000110";——“1”的输入码

WHEN 2=>SG<="1011011";——“2”的输入码

WHEN 3=>SG<="1001111";——“3”的输入码

WHEN 4=>SG<="1100110";——“4”的输入码

WHEN 5=>SG<="1101101";——“5”的输入码

WHEN 6=>SG<="1111101";——“6”的输入码

WHEN 7=>SG<="0000111";——“7”的输入码

WHEN 8=>SG<="1111111";——“8”的输入码

WHEN 9=>SG<="1101111";——“9”的输入码

WHEN OTHERS=>NULL;

END CASE;

END PROCESS P3;——结束进程P3

END;

2.分频器VHDL语言

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY fenping IS

PORT( CLKIN:IN STD_LOGIC; --时钟信号输入

CLKOUT:OUT STD_LOGIC); --时钟信号输出

END fenping;

ARCHITECTURE one OF fenping IS

SIGNAL DATA:INTEGER RANGE 0 TO 10;——定义动态扫描时钟信号输入SIGNAL Q:STD_LOGIC;——定义动态扫描时钟信号输出

BEGIN

PROCESS(CLKIN)

BEGIN

IF RISING_EDGE(CLKIN) THEN

IF(DATA=9) THEN——十分频

DATA<=0;

Q<=NOT Q;

ELSE

DATA<=DATA+1;

END IF;

END IF;

CLKOUT<=Q;

END PROCESS;——结束进程

END one;

EDA八位十进制频率计实验报告

设计报告 课程名称在系统编程技术 任课教师 设计题目八位十进制频率计设计班级 姓名 学号 日期

目录 一、题目分析 1、设计原理 二、选择方案 三、方案实现 四、硬件测试及说明 五、结论 六、课程总结 七、参考文献 八、附件

一、题目分析 1、设计原理 根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为1S的输入信号脉冲计数允许的信号;1S计数结束后,计数值被锁入锁存器,计数器清零,为下一测评计数周期做好准备。测频控制信号可以由一个独立的发生器来产生。 2、设计要求: 测频控制电路的计数使能信号能产生一个1S脉宽的周期信号,并对频率计中的计数器使能端进行同步控制。当测频控制电路的使能信号高电平时允许计数;低电平时停止计数,并保持其所计的脉冲数。在停止计数期间,首先需要一个锁存信号的上升沿将计数器在前一秒钟的计数值锁进锁存器中,并由外部的十进制7段译码器译出,显示计数值。设置锁存器的好处是数据显示稳定,不会由于周期性的清零信号而不断闪烁。锁存信号后,必须有一清零信号对计数器进行清零,为下一秒的技术操作做准备。 3、实现功能 当输入一个待测频率时,在测频信号的控制下,可以通过外部的7段译码器显示出其频率值。

二、设计方案 1、总体框图 设计一个八位十进制频率计,首先需要一个测频控制电路来产生一个脉宽为1S的输入信号脉冲计数允许的信号;然后需要一个32位计数器进行计数,由于在计数完成之后还需要一个锁存器将计数值进行锁存,从而使显示的数值稳定。 2、模块描述 (1)八位十进制频率计顶层 该模块即为我们最终所要实现的模块,即给定一个频率后,我们可以在外部显示上看到待测频率的频率值。 (2)测频控制电路 该模块用于产生产生一个脉宽为1S的输入信号脉冲计数允许的信号,以便于后面模块的使用。 (3)32位计数器 该模块用于在1S脉宽的周期信号内对待测频率的周期进行计数,从而得到待测频率的频率值。 (4)32位锁存器 该模块用于将计数器产生的最终的计数值进行锁存,从而使显示的数值稳定。

EDA实验指导简述基于FPGA的动态扫描电路设计

FPGA实验指导及记录 实验三基于FPGA的数码管动态扫描电路设计 1.实验目的: (1)掌握FPGA工作的基本原理、FPGA硬件平台的使用; (2)熟悉7段数码管显示译码电路的设计。 (3)掌握数码管动态扫描显示原理及动态扫描电路的设计。 2.实验任务:利用FPGA硬件平台上的6位数码管动态显示计数器输出数据。 3.电路设计 (1)顶层电路 由分频模块fre_div,计数器模块counter100,译码显示模块diaplay构成。分频模块fre_div将可将实验平台晶体振荡器提供的50MHz时钟信号分频,输出500Hz,1KHz及1Hz三种信号备用,conter100模块实现模100计数功能,display模块为数码管动态显示模块,实现计数数字在6位数码管上的动态显示。 (2)分频器模块fre_div 该模块已经设计完成,存放在F盘502文件夹里,使用时请自行拷贝至当前工程文件夹,并按设计需要选择合适的输出。 (3)计数器模块counter100 该计数器模块实现模100计数。此处同学们应掌握数据总线的画法。

(4)译码显示模块display 该模块由counter6模块,dig_select模块,seg_select模块以及decoder模块构成,请同学们自行完成该模块总体设计,当display模块的输入信号scanclk频率为1KHz时,数码管扫描周期为36ms,每次扫描每位数码管显示时长6ms。各子模块设计思路如下。 a)counter6模块 该模块需使用74390设计一个模6的计数器。请在空白处做预设计,画出电路图。 b)dig_select模块 该模块用于选择6位数码管中的某一位显示相应字形。74138为3-8译码器,功能表见附录。

8位数码扫描显示电路设计

课程设计项目成绩评定表 设计项目成绩评定表 一、设计任务及要求: 1、设计任务: 设计一个具有8位数码扫描显示电路。 2、要求: 1、采用动态扫描原理实现数码管的显示,依次选通8个数码管,并在8个 数码管上依次显示数据"124579DF"。 2、能够在实验台上演示出数码管的动态显示过程。 指导教师签名: 年月日二、指导教师评语: 指导教师签名: 年月日三、成绩评定: 指导教师签名: 年月日四、系部意见: 系部盖章: 年月日

课程设计报告书目录 设计报告书目录 一、设计目的 (1) 二、设计思路 (1) 三、设计过程 (1) 3.1、系统方案论证 (1) 3.2、模块电路设计 (1) 四、系统调试与结果 (2) 五、主要元器件与设备 (2) 六、课程设计体会与建议 (3) 6.1、设计体会 (3) 6.2、设计建议 (3) 七、参考文献 (4)

一、设计目的 1、学习硬件扫描显示电路的设计。 2、熟悉Quartus II 6.0的Verilog HDL 文本设计过程,学习简单时序电路 的设计、仿真和硬件的测试。 二、设计思路 1、设计8位数码扫描显示电路。 2、采用文本编辑法,利用V erilog HDL 语言描述8位数码扫描显示电路。 3、设计时序控制电路。 三、设计过程 3.1、系统方案论证 如下图1所示的是8位数码扫描显示电路,其中每个数码管的8个段:h, g, f, e, d, c, b, a(h是小数点)都分别连在一起,8个数码管分别由8个选通信号k1, k2, k3,……k8来选择。被选通的数码管显示数据,其余关闭。如在某一时刻,k2为高电平,其余选通信号为低电平,这是仅k3对应的数码管显示来自段信号端的数据,其余7个数码管呈现关闭状态。根据这种电路状况,如果希望在8个数码管显示希望的数据,就必须使得8个选通信号k1, k2, k3,……k8分别被单独选通,并在此同时,在段信号输入口加上希望在该对应数码管上显示的数据,于是随着选通信号的扫变,就能实现扫描显示的目的。 图1 8位数码扫描显示电路

单片机课程设计-8位8段LED数码管动态扫描显示

8位8段LED数码管动态扫描 一、内容要求: 在8位8段LED数码管显示“8.8.8.8.8.8.8.8.”持续500ms,之后灭 显示器200ms;然后显示“WELCOM-1”(由于8位8段LED数码管显示不能显示字母W 和M,所以改为显示“HELLO-93”) 二、目的和意义 1、掌握数码管动态扫描显示原理及实现方法。 2、掌握动态扫描显示电路驱动程序的编写方法。 三、总体方案设计思路 LED数码动态显示的基本做法在于分时轮流选通数码管的公共端,使得各数码管轮流导通,再选通相应的数码管后,即显示字段上得到显示字形码。这种方式数码管的发光效率,而且由于各个数码管的字段线是并联使用的,从而大大简化了硬件线路。 动态扫描显示接口是单片机系统中应用最为广泛的一种显示方式。其接口电路是把所有显示器的8个笔画段A-DP同名端并联在一起,而每个显示器的公共极COM各自独立地接受I/O线控制,CPU向字段输出口送出字段形码是,所有显示器由于同名端并连接收到相同的字形码,但究竟是哪个显示器亮,则取决于COM端,而这一端是由I/O控制的,所以就可以自行决定何时显示哪一位了。而所谓动态扫描是指采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。 再轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上个位显示器并非同时点亮,但只要扫描的速度足够快,给人的影响就是一组稳定的显示数据,不会有闪烁感。 采用总线驱动器74HC245提供LED数码管的段驱动,输出高电平时点亮相应段;采用集电极开路的BCD-十进制译码器/驱动器完成LED数码管位驱动,输出低电平时选通相应位。P2口每个口线输出灌电流不足以驱动一个数码管显示器的位-公共极,所依通过集电极开路的BCD-十进制译码器/驱动器7445驱动,即节约P2口线,又增加驱动能力。 四、仿真电路设计(电路原理图及关键单元说明)

8位数码管动态显示电路设计

电子课程设计——8位数码管动态显示电路设计 学院:电子信息工程学院 专业、班级:自动化 姓名: 学号: 指导教师: 2014年12月

目录 一、设计任务与要求...................... 错误!未定义书签。 二、总体框图............................ 错误!未定义书签。 2.1、设计思想....................... 错误!未定义书签。 2.2、设计方案....................... 错误!未定义书签。 2.3、对方案的分析................... 错误!未定义书签。 三、选择器件 (4) 3.1、实验所需器件: (4) 3.2、器件说明: (4) 四、功能模块 (7) 4.1、脉冲模块设计 (7) 4.2、扫描电路模块设计 (8) 4.3、显示电路模块设计 (9) 五、总体设计电路图 (10) 5.1总体设计原理 (10) 5.2、总体设计电路图 (11) 5.3、仿真结果 (11) 5.4、硬件实验 (13) 六、心得体会 (14)

8位数码管动态显示电路设计 一、设计任务与要求 1.设计个8位数码管动态显示电路,动态显示1、2、3、4、5、6、7、8。(第 一至第八个数码管依次显示1、2、3、4、5、6、7、8) 2.要求在某一时刻,仅有一个LED数码管发光。 3.该数码管发光一段时间后,下一个LED发光,这样8只数码管循环发光。 4.当循环扫描速度足够快时,由于视觉暂留的原因,就会感觉8只数码管是在 持续发光。 5.研究循环地址码发生器的时钟频率和显示闪烁的关系。 二、总体框图 2、1、设计思想 电路有八种显示状态,在第一脉冲周期内,第一个数码管显示1;第二个脉冲周期内,第二个数码管显示2;在第三脉冲周期内,第三个数码管显示3;第四个脉冲周期内,第四个数码管显示4;在第五脉冲周期内,第五个数码管显示5;第六个脉冲周期内,第六个数码管显示6;在第七脉冲周期内,第七个数码管显示7;第八个脉冲周期内,第八个数码管显示8。 2、2、设计方案 总体框图: 脉冲产生电路(555定时器组成的多谐振荡器)扫描脉冲 扫描电路模块 (计数器,译码器 组合成扫描电路) 显示电路模块 电源 图1

8位十进制数码动态扫描电路设计报告资料

设计报告 课程名称电子技术基础I 任课教师 设计题目8位十进制数动态扫描显示控制电路班级

8位十进制数数码动态扫描电路设计 简介:所谓动态扫描显示,就是让各位LED按照一定的顺序轮流地发光显示。只要每秒扫 描次数大于24次以上,就观察不到闪烁现象,人眼看起来很稳定。静态扫描显示与动态显示相比,有显著降低LED功耗,大大减少LED的外部引线等优点。目前动态扫描显示技术已经被广泛应用于新型数字仪表、智能仪器和智能显示屏中。 本次课程实践中运用QuartusII软件,采用VHDL文本设计和原理图相结合的层次化方式实现数码8位动态扫描显示电路设计。首先,分别用VHDL语言编写8位数码扫描显示电路程序和分频器程序,作为底层文件;顶层文件用原理图的设计方法,调用底层文件生成的符号,从而实现动态扫描显示。用VHDL设计一个8位数码扫描显示电路,利用QuartusII9.0进行编辑输入、编译及时序仿真。其中,由于分频器的分频系数过大时,在仿真波形上很难看出波形的变化,如本设计是从100MHz分频到1KHz,分频系数为一万,所以可以通过改变减小分频系数,如改为10分频,就得到变化的波形,来验证数码动态扫描显示电路设计的正误。 一、工作原理 1、8位动态扫描显示的工作原理: 输入信号:时钟信号CLK。输出控制信号:段控制信号SG[6..0];位控制控制信号BT[7..0]。8位数码管,其中每个数码管的8个段h、g、f、e、d、c、b、a(h是小数点)都分别连接在一起,8个数码管分别由8个选通信号k1~k8来选择。被选通的数码管显示数据,其余关闭。如在某一时刻,k3为高电平,其余选通信号为低电平,这时仅为k3对应的数码管显示来自段信号端的数据,而其他7个数码管呈现关闭状态。根据这种电路状况,如果希望在8个数码管显示希望的数据,就必须使得8个选通信号k1~k8分别被选通,与此同时,在段信号输入口加上希望在该对应数码管上显示的数据,于是随着选通信号的扫变,就能实现扫描显示的目的。 扫描显示程序中CLK是扫描时钟;SG为7段控制信号,由高到低为分别接g、f、e、d、c、b、a7个段;BT是位选控制信号,接下图(1)中的8个位选通信号:k1、k2…k8。程序中CNT8是一个3位计数器,作扫描计数信号,有进程P2生成;进程P3是7断译码查表输出程序,进程P1是对8个数码管选通的扫描程序,例如当CNT8等于“010”时,K3对应的数码管被选通,同时,H被赋值3,再有进程P3译码输出“1001111”,显示在数码管上即为“3”;当CNT8扫变时将能在8个数码管上显示数据:12345678。 图(1)8位数码电路 2、七段数码显示译码器的原理: 7段数码是纯组合电路。通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是二进制的,所以输出表达都是十六进制的。为了满足十六进制数的译码显示,最方便的方法就是利用VHDL译码程序在FPGA/CPLD

动态扫描显示电路设计

实验七、动态扫描显示电路设计 (1)实验目的:学习动态扫描显示电路的设计。 (2)实验原理:图1是8位数码扫描显示电路,其中每个数码管的8个段(A、B、C、D、E、F、G、DP)都分别连在一起,8个数码管分别由3个选通信号LI0、LI1、LI2经过译码器得到的8个信号来选择。当LI2LI1LI0=”000”时L1被选通显示数据,其余的关闭;当LI2LI1LI0=”001”时L2被选通显示数据,其余的关闭。通过LI2LI1LI0的动态变化到达多位数字的显示。 图1 8位数码扫描显示电路 (3)实验内容:在实验三模为60的8421BCD码加1计数器的基础上,采用动态扫描显示计数结果。 (4)附加题:用6个数码管显示数字钟。 (5)思考题:动态扫描显示的频率大致范围是多少? library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity bcd60 is port(clk,rst_n:in std_logic; ql,qh:out std_logic_vector(3 downto 0); cout: out std_logic;

we1,we2: out std_logic :='0'; LED7S :out std_logic_vector(7 downto 0)); end; architecture rtl of bcd60 is signal cnt1hz :std_logic_vector(24 downto 0); signal clk1hz :std_logic; signal cnt20hz: std_logic_vector(24 downto 0); signal clk20hz: std_logic; signal qlt,qht:std_logic_vector(3 downto 0); signal flag: std_logic :='0'; begin process(rst_n,clk) begin if(rst_n='0')then cnt1hz <=(others=>'0'); clk1hz <='0'; elsif (clk'event and clk='1')then if (cnt1hz=9999999)then --仿真时用9,用开发板时用9999999 cnt1hz<=(others=>'0'); clk1hz<=not clk1hz; else cnt1hz<=cnt1hz+1; end if; end if; end process; -- 分频得到计数时钟 process(rst_n,clk) begin if(rst_n='0')then cnt20hz <= (others=>'0'); clk20hz <= '0'; elsif (clk'event and clk='1')then if(cnt20hz=99999) then cnt20hz <= (others=>'0'); clk20hz <= not clk20hz; else cnt20hz <= cnt20hz +1; end if; end if; end process; ---分频得到扫描时钟200hz

实验四 八位七段数码管动态显示电路的设计

八位七段数码管动态显示电路的设计 一、实验目的 1、了解数码管的工作原理。 2、学习七段数码管显示译码器的设计。 3、学习VHDL的CASE语句及多层次设计方法。 二、实验原理 七段数码管是电子开发过程中常用的输出显示设备。在实验系统中使用的是两个四位一体、共阴极型七段数码管。其单个静态数码管如下图4-4-1所示。 图4-1 静态七段数码管 由于七段数码管公共端连接到GND(共阴极型),当数码管的中的那一个段被输入高电平,则相应的这一段被点亮。反之则不亮。共阳极性的数码管与之相么。四位一体的七段数码管在单个静态数码管的基础上加入了用于选择哪一位数码管的位选信号端口。八个数码管的a、b、c、d、e、f、g、h、dp都连在了一起,8个数码管分别由各自的位选信号来控制,被选通的数码管显示数据,其余关闭。 三、实验内容 本实验要求完成的任务是在时钟信号的作用下,通过输入的键值在数码管上显示相应的键值。在实验中时,数字时钟选择1024HZ作为扫描时钟,用四个拨动开关做为输入,当四个拨动开关置为一个二进制数时,在数码管上显示其十六进制的值。 四、实验步骤 1、打开QUARTUSII软件,新建一个工程。 2、建完工程之后,再新建一个VHDL File,打开VHDL编辑器对话框。 3、按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序,用户可参照光盘中 提供的示例程序。 4、编写完VHDL程序后,保存起来。方法同实验一。

5、对自己编写的VHDL程序进行编译并仿真,对程序的错误进行修改。 6、编译仿真无误后,根据用户自己的要求进行管脚分配。分配完成后,再进行全编译 一次,以使管脚分配生效。 7、根据实验内容用实验导线将上面管脚分配的FPGA管脚与对应的模块连接起来。 如果是调用的本书提供的VHDL代码,则实验连线如下: CLK:FPGA时钟信号,接数字时钟CLOCK3,并将这组时钟设为1024HZ。 KEY[3..0]:数码管显示输入信号,分别接拨动开关的S4,S3,S2,S1。 LEDAG[6..0]:数码管显示信号,接数码管的G、F、E、D、C、B、A。 SEL[2..0]:数码管的位选信号,接数码管的SEL2、SEL1、SEL0。 8、用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。观察实验结果是否与自 己的编程思想一致。 五、实验现象与结果 以设计的参考示例为例,当设计文件加载到目标器件后,将数字信号源模块的时钟选择为1464HZ,拨动四位拨动开关,使其为一个数值,则八个数码管均显示拨动开关所表示的十六进制的值。

数码管动态扫描实验报告

数码管动态扫描实验报告 数码管动态扫描实验报告 引言: 数码管是一种常见的显示器件,广泛应用于电子设备中。动态扫描技术是一种常见的驱动数码管的方法。本实验旨在通过动态扫描技术实现数码管的显示,并对其原理进行深入研究。 一、实验目的 本实验的主要目的是掌握数码管的动态扫描原理,并通过实践验证其可行性。具体目标如下: 1. 理解数码管的基本工作原理; 2. 熟悉动态扫描技术的实现方法; 3. 掌握使用单片机驱动数码管的方法; 4. 通过实验验证动态扫描技术的可行性。 二、实验器材与原理 1. 实验器材: - 单片机开发板; - 4位共阳数码管; - 连接线。 2. 实验原理: 数码管是由多个发光二极管组成的,每个发光二极管对应一个数字或符号。共阳数码管的阳极连接在一起,而阴极分别与单片机的IO口相连。动态扫描技术是通过快速切换数码管的显示,从而形成连续的显示效果。具体原理如下:

- 单片机通过IO口输出高电平或低电平控制数码管的显示; - 通过快速切换数码管的显示,使得人眼感觉到数码管同时显示多个数字。 三、实验步骤 1. 连接电路: 将4位共阳数码管的阳极分别连接到单片机的IO口,阴极连接到GND。确保连接正确,避免短路或接反。 2. 编写程序: 使用单片机开发板的编程软件,编写程序控制数码管的显示。通过循环控制IO 口输出高低电平,实现动态扫描的效果。 3. 上传程序: 将编写好的程序上传到单片机开发板中,确保程序能够正确运行。 4. 运行实验: 将单片机开发板连接到电源,观察数码管的显示效果。通过动态扫描技术,数码管会以一定的频率显示不同的数字。 四、实验结果与分析 通过实验,我们成功实现了数码管的动态扫描显示。数码管以一定的频率切换显示不同的数字,形成了连续的显示效果。通过改变程序中的循环次数和延时时间,我们可以调整数码管显示的速度和亮度。 动态扫描技术的优点是可以通过少量IO口驱动多个数码管,节省了硬件资源。同时,由于数码管的刷新速度较快,人眼无法察觉到闪烁的现象,使得显示效果更加平滑和稳定。 然而,动态扫描技术也存在一些问题。首先,由于数码管的刷新频率较高,对

8位数码管动态显示电路设计

电子课程设计 —8位数码管动态显示电路设计 学院:电子信息工程学院 专业、班级: 姓名: 学号: 指导老师: 2014年12月

目录 一、设计任务与要求................................................. (3) 二、总体框图................................................. (3) 三、选择器件................................................. (3) 四、功能模块................................................. (9) 五、总体设计电路图................................................. . (10)

六、心得体会.................................................. .. (12) 8位数码管动态显示电路设计 一、设计任务与要求 1. 设计个8位数码管动态显示电路,动态显示1、2、3、4、5、6、7、8。 2. 要求在某一时刻,仅有一个LED数码管发光。 3. 该数码管发光一段时间后,下一个LED发光,这样8只数码管循环发光。 4. 当循环扫描速度足够快时,由于视觉暂留的原因,就会感觉8只数码管是在持续发光。 5、研究循环地址码发生器的时钟频率和显示闪烁的关系。 二、总体框图 设计的总体框图如图2-1所示。

图2-1总体框图 三、选择器件 1、数码管 数码管是一种由发光二极管组成的断码型显示器件,如图1 所示。 U13 DCD_HEX 图1 数码管 数码管里有八个小LED 发光二极管,通过控制不同的LED 的亮灭来显示出不同的字形。数码管又分为共阴极和共阳极两种类型,其实共阴极就是将八个LED 的阴极连在一起,让其接地,这样给任何一个LED 的另一端高电平,它便能点亮。而共阳极就是将八个LED 的阳极连在一起。 2、非门 非门又称为反相器,是实现逻辑非运算的逻辑电路。非门有输入和输出两个端,电路符号如图2所示,其输出端的圆圈代表反相的意思,当其输入端为高电平时输出端为低电平,当其输入端为低电平时输出端为高电平。也就是说,输入端和输出端的电平状态总是反相的。其真值表如表1所示。 74LS161计数器 74LS138译码 器 数码管

8位数码扫描显示电路设计

EDA与VHDL语言课程 实验报告 实验名称:8位数码扫描显示电路设计班级: 学号: 姓名: 实验日期: 2012.10.27

实验五8位数码扫描显示电路设计 一、实验目的:学习硬件扫描显示电路的设计。 二、实验原理:图 1 所示是8位数码扫描显示电路。图1中g~a为数码管段信号输入端,每个数码管的七个段(g、f、e、d、c、b、a)都分别连在一起;k1~k8为数码管的位选信号输入端。 8 个数码管分别由8 个位选信号k1、k2、…k8 来选通,被选通的数码管才显示数据,未选通的数码管关闭。如在某一时刻,k3 为高电平,其余选通信号均为低电平,这时仅k3 对应的数码管显示来自段信号端的数据,而其它7 个数码管呈现关闭状态。因此,如果希望在8 个数码管上显示希望的数据,就必须使得8 个选通信号k1、k2、…k8 分别被单独选通,同时,在段信号输入口加上希望在该对应数码管上显示的数据,于是随着选通信号的扫变,就能实现扫描显示的目的。 图 1 8 位数码扫描显示电路 三、实验内容1:用VHDL语言设计8位数码扫描显示电路,显示输出数据直接在程序中给出。 1、程序设计 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY scanplay IS PORT( CLK:IN STD_LOGIC; SI:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); BI:OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ); END ; ARCHITECTURE bhv OF scanplay IS SIGNAL S: STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL B: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(CLK) --产生动态扫描显示的控制信号 V ARIABLE SIO: STD_LOGIC_VECTOR(3 DOWNTO 0); V ARIABLE BIO: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN

EDA实验二 八位七段数码管动态显示电路的设计

实验名称八位七段数码管动态显示电路的设计 一、实验目的 1、了解数码管的工作原理。 2、学习七段数码管显示译码器的设计。 3、学习Verilog的CASE语句及多层次设计方法。 二、实验原理 七段数码管是电子开发过程中常用的输出显示设备。在实验系统中使用的是两个四位一体、共阴极型七段数码管。其单个静态数码管如下图4-1所示。 图4-1 静态七段数码管 由于七段数码管公共端连接到GND(共阴极型),当数码管的中的那一个段被输入高电平,则相应的这一段被点亮。反之则不亮。共阳极性的数码管与之相么。四位一体的七段数码管在单个静态数码管的基础上加入了用于选择哪一位数码管的位选信号端口。八个数码管的a、b、c、d、e、f、g、h、dp都连在了一起,8个数码管分别由各自的位选信号来控制,被选通的数码管显示数据,其余关闭。 三、实验内容 本实验要求完成的任务是在时钟信号的作用下,通过输入的键值在数码管上显示相应的键值。在实验中时,数字时钟选择1KHZ作为扫描时钟,用四个开关做为输入,当四个开关置为一个二进制数时,在数码管上显示其十六进制的值。实验箱中的拨动开关与FPGA的接口电路,以及开关FPGA的管脚连接在实验一中都做了详细说明,这里不在赘述。 数码管显示模块的电路原理如图4-2所示,表4-1是其数码管的输入与FPGA的管脚连接表。

图4-2 数字时钟信号模块电路原理 信号名称对应FPGA管脚名说明 7SEG-A G6 七段码管A段输入信号 7SEG-B G7 七段码管B段输入信号 7SEG-C H3 七段码管C段输入信号 7SEG-D H4 七段码管D段输入信号 7SEG-E H5 七段码管E段输入信号 7SEG-F H6 七段码管F段输入信号 7SEG-G J4 七段码管G段输入信号 7SEG-DP L8 七段码管dp段输入信号 7SEG-SEL0 G5 七段码管位选输入信号 7SEG-SEL1 G3 七段码管位选输入信号 7SEG-SEL2 F4 七段码管位选输入信号 表4-1 数码管与FPGA的管脚连接表 四、实验步骤 1、打开QUARTUSII软件,新建一个工程。 2、建完工程之后,再新建一个Verilog File,打开Verilog编辑器对话框。 3、按照实验原理和自己的想法,在VHDL编辑窗口编写Verilog程序,用户 可参照光盘中提供的示例程序。 4、编写完Verilog程序后,保存起来。方法同实验一。 5、对自己编写的Verilog程序进行编译并仿真,对程序的错误进行修改。 6、编译仿真无误后,依照拨动开关、数码管与FPGA的管脚连接表(表1-1、

单片机数码管动态显示实验报告

单片机数码管动态显示实验报告单片机数码管动态显示实验程序(汇编) 单片机数码管动态显示实验程序 org 00h ajmp head org 0030h head: mov sp,#0070h num equ p0 ;p0口连接数码管 reset: mov dptr ,#tab mov r0,#4 sh: acall show_tab call dptr_add djnz r0,sh mov r0 ,#4 sjmp reset dptr_add: inc dptr inc dptr inc dptr inc dptr

ret tab : db 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H, 0A1H,86H,8EH ;;;;;;;;;;;;;;;;;;;;; 函数的功能是用来动态显示dptr上的四个数 据 ;;;;;;;;;;;;;;;;;;;;;; show_tab: clr a mov r2,#0 mov r3,#148 mov p2,#238 loop: movc a,@a+dptr mov num ,a acall delay_5ms inc r2 mov a,r2;调用片选函数前注意A的变化acall select_mov cjne r2,#4,loop mov r2,#0 clr a djnz R3,loop ret ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;

数码管动态扫描实验实验报告及程序

实验七数码管动态扫描实验 姓名专业学号 2010412381 成绩 一、实验目的 1.掌握Keil C51软件与protues软件联合仿真调试的方法; 2.掌握单片机对数码管的动态显示控制方式; 3.掌握定时器的基本使用及编程方法。 二、实验仪器与设备 1.微机1台 2.Keil C51集成开发环境 3.Proteus仿真软件 三、实验内容 1.用Proteus设计一8位数码管动态扫描显示电路。要求利用P0口做数 码管的段选线,P1.0~P1.2与74LS138译码器的3个输入端相连,其译 码输出Y0~Y7作为数码管的位选线。参考电路见后面实验报告。 2.编写程序,将数字1~8分别显示在8个数码管上,要求显示无闪烁。 3.延长每个数码管选通的时间(如500ms),观察动态扫描过程。 4.编写程序,利用Proteus中的“激励源/DCLOCK/数字类型/时钟”产生频 率为1HZ的方波输出,并利用定时/计数器T1统计脉冲的个数,将统计 结果动态实时的显示在数码管上。 5.提高时钟频率(如100KHZ),观察显示情况。 四、实验原理 1.动态扫描法: 1)动态扫描法是对各数码管循环扫描、轮流显示的方法。由于一次只 能让一个数码管显示,因此,要显示8位的数据,必须让数码管一 个一个轮流显示才可以,同时每个数码管显示的时间大约在1ms到 4ms之间,所以为了保证正确显示,每隔1ms,就得刷新一个数码管。 当扫描显示频率较高时,利用人眼的视觉暂留特性,看不出闪烁现 象,这种显示需要一个接口完成字型码的输出(段选),另一接口完 成各数码管的轮流点亮(位选)。 2)在进行数码显示的时候,要对显示单元开辟8个显示缓冲区,每个 显示缓冲区装有显示的不同数据即可。 3)对于显示的字型码数据采用查表方法来完成。 2.P0口 P0口作为地址/数据总线使用时是一个真正的双向端口;而作通用I/O 口时,只是一个准双向口,由于其内部漏极开路,应外接10KΩ的上拉 电阻,否则无法输出高电平。 3.74LS138:3线—8线译码器 引脚排列:

8位数码扫描显示电路设计实验

实验一基本组合电路设计 (1)实验目的:熟悉 Quartus U的文本输入设计法和原理图输入设计法,学习简单组合电路以及多层次电路的设计、仿真和硬件测试。 (2)实验内容: I.利用Quartus U完成2选1多路选择器的文本编辑输入。 【参考程序】: ENTITY mux21a IS PORT ( a, b, s: IN BIT; y : OUT BIT ); END ENTITY mux21a; ARCHITECTURE one OF mux21a IS BEGIN PROCESS (a,b,s) BEGIN IF s = ' O' THEN y <= a ; ELSE y<= b ; END IF; END PROCESS; END ARCHITECTURE one ; n .将实验I中的2选1多路选择器生成一个元件 mux21a利用原理图输入设计方法实现图1-1的双2选1多路选择器,并将此文件放在同一目录中。最后进行编译、

仿真,并对其仿真波形作出分析说明。 川.对U进行引脚锁定及硬件下载测试。建议选择实验电路模式5,用键1(PIOO, 引脚号为1)控制sO;用键2(PIO1,引脚号为2)控制s1; a3、a2和a1分别接clock5(引脚号为16)、clockO (引脚号为93)和clock2 (引脚号为17);输出信号outy接扬声器spker (引脚号为129)。通过短路帽选择clock5接1024Hz 信号,clock0接256Hz信号,clock2接8Hz信号。最后进行编译、下载和硬件测试实验(通过选择键1、键2、控制s0、s1,可使扬声器输出不同音调)。 (3)实验报告: 1.实验U的原理图。 2•实验U的仿真波形报告分析说明。 3.实验川硬件测试的详细实验说明。 图1-1 双2选1多路选择器

8位7段数码管动态刷新

实验二数码管扫描电路设计 一、实验目的 1、掌握七段数码管译码显示电路的设计; 2、正确理解移位寄存器的设计; 3、掌握七段数码管动态扫描电路的设计。 4、进一步掌握元件例化语句的应用。 二、设计要求 设计一个共阴7段数码管控制接口,要求在时钟信号的控制下,使8位数码管动态刷新显示0~9。 三、实验原理 1、七段数码管发光原理。七段数码管一般由八个发光二极管组成,其中七个发光二极管排列成“8”字形,另一个位于小数点位置。根据连接形式的不同,数码管分为共阴极和共阳极两类。对于共阴极数码管,八个发光二极管的阴极连接在一起作为公共端,阳极作为段驱动端分别命名为a,b,c,d,e,f,g和dp。当公共端为低电平时,段驱动端为高电平时,相应段的二极管点亮发光。共阳极数码管正好相反,其原理如图4-1所示。 图2-1七段数码管原理图 2、数码管动态扫描原理。显示控制器的引脚图如图4-2所示。图中:CLK为时钟输入端,RST为复位信号输入端,LEDOUT[6..0]为段驱动输出;SEL [7..0]为位选信号输出;在实验仪器中,8位7段数码选用了共阴极类型,且驱动电路已经做好。 设计要求8位数码管是轮流点亮,可以通过控制SEL输出电平来实现。当SEL为

10000000时,点亮第一位数码管,当SEL为01000000时,点亮第二位数码管,直到8位显示器全都显示完毕,等待进入下一个轮次的显示。 同时,还有一个问题不可忽视,不是位扫描信号的频率至少需要多少以上,才能使显示器不闪烁?简单的说,只要单个扫描频率超过人的眼睛视觉暂留频率24H Z以上就可以达到点亮单个显示,却能享有8个同时显示的视觉效果,而且显示也不闪烁。 图2-2 显示控制器的引脚图 表2-1 共阴极数码管BCD码-段码译码器真值表 四、实验步骤 1、启动ISE集成开发环境,创建工程并输入设计源文件。 2、利用原理图输入方法设计七段数码管控制接口电路。 3、锁定引脚,完成设计实现过程。并在实验箱上连线,利用iMPACT进行程序下载。 4、在实验箱上验证七段数码管控制接口的功能。观察并记录实验结果。 五、实验报告 1、写出共阴极段码显示BCD码的段码译码器的VHDL源程序。 (1)共阴七段7段数码显示程序:

EDA设计课程实验报告数码管动态显示实验报告

EDA设计课程实验报告 实验题目:数码管动态显示实验 学院名称: 专业:电子信息工程 班级: 姓名:高胜学号 小组成员: 指导教师: 一、实验目的 学习动态扫描显示的原理;利用数码管动态扫描显示的原理编写程序,实现自己的学号的显示。 二、设计任务及要求

1、在SmartSOPC实验箱上完成数码管动态显示自己学号的后八个数字。 2、放慢扫描速度演示动态显示的原理过程。 三、系统设计 1、整体设计方案 数码管的八个段a,b,c,d,e,f,g,h(h是小数点)都分别连接到SEG0~SEG7,8个数码管分别由八个选通信号DIG0~DIG7来选择,被选通的数码管显示数据,其余关闭。如果希望8个数码管显示希望的数据,就必须使得8个选通信号DIG0~DIG7分别被单独选通,并在此同时,在段信号输入口SEG0~SEG7加上该对应数码管上显示的数据,于是随着选通信号的扫描就能实现动态扫描显示的目的。虽然每次只有1个数码管显示,但只要扫描显示速率足够快,利用人眼的视觉余辉效应,我们仍会感觉所有的数码管都在同时显示。 2、功能模块电路设 (1)输入输出模块框图(见图1) 图1 (2)模块逻辑表达(见表1) 表1(数码管显示真值表) clk_1k dig seg ↑01111111 C0 ↑10111111 F9

注:数码管显示为01180121 (3)算法流程图(见图2) (4)Verilog源代码 module scan_led(clk_1k,d,dig,seg); //模块名scan_led input clk_1k; //输入时钟 input[31:0] d; //输入要显示的数据output[7:0] dig; //数码管选择输出引脚

八位七段数码管动态显示电路设计

八位七段数码管动态显示电路的设计 一七段显示器介绍 七段显示器,在许多产品或场合上经常可见。其内部结构是由八个发光二极管所组成,为七个笔画与一个小数点,依顺时针方向为A、B、C、D、E、F、G与DP等八组发光二极管之排列,可用以显示0~9数字及英文数A、b、C、d、E、F。目前常用的七段显示器通常附有小数点,如此使其得以显示阿拉伯数之小数点部份。七段显示器的脚位和线路图如下图4.1所示( 其第一支接脚位于俯视图之左上角)。 图4.1、七段显示器俯视图 由于发光二极管只有在顺向偏压的时候才会发光。因此,七段显示器依其结构不同的应用需求,区分为低电位动作与高电位动作的两种型态的组件,另一种常见的说法则是共阳极( 低电位动作)与共阴极( 高电位动作)七段显示器,如下图4.2所示。 ( 共阳极) ( 共阴极) 图4.2、共阳极(低电位动作)与共阴极(高电位动作)

要如何使七段显示器发光呢?对于共阴极规格的七段显示器来说,必须使用“Sink Current ”方式,亦即是共同接脚COM为VCC,并由Cyclone II FPGA使接脚成为高电位,进而使外部电源将流经七段显示器,再流入Cyclone II FPGA的一种方式 本实验平台之七段显示器模块接线图如下图4.5所示。此平台配置了八组共阳极之七段显示器,亦即是每一组七段显示器之COM接脚,均接连至VCC电源。而每一段发光二极管,其脚位亦均与Cyclone II FPGA接连。四位一体的七段数码管在单个静态数码管的基础上加入了用于选择哪一位数码管的位选信号端口。八个数码管的a、b、c、d、e、f、g、h、dp都连在了一起,8个数码管分别由各自的位选信号来控制,被选通的数码管显示数据,其余关闭。 图4.5、七段显示器模块接线图 七段显示器之常见应用如下 可作为与数值显示相关之设计。 ⏹电子时钟应用显示 ⏹倒数定时器 ⏹秒表

8只数码管滚动显示单个数字设计报告

机电工程学院课程设计报告书题目: 8只数码管滚动显示单个数字 专业:电气自动化技术 班级: DQ 09302 学号: 学生姓名:杨超 指导教师:朱晓玲 2010 年12月30日

摘要 功能简介: 1内容:利用动态扫描让八位数码管稳定的显示1、2、3、4、5、6、7、8 2目标: (1)掌握单片机控制八位数码管的动态扫描技术,包括程序设计和电 路设计,本任务的效果是让八位数码管稳定的显示12345678。 (2)用PROTEUS进行电路设计和实时仿真 3知识点链接 (1)数码管动态扫描(动态扫描的定义以及与静态显示的区别) 动态显示的特点是将所有位数码管的段选线s一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。 (2)总线的应用 元器件与总线的连线 P0口的接线采用总线方式,详细如图------所示。 ①选择总线按钮 ②绘制总线:与普通电线的绘制方法一样,选择合适的起点、终 点单击。 如果终点在空白处,左键双击结束连线。

画总线的时候为了和一般的导线区分,我们一般喜欢画斜线来表示分支线。此时我们需要自己决定走线路径,只需在想要拐点处单击鼠标左键即可。在画斜线时,需要关闭线路自动路径功能才好绘制。 Proteus的线路自动路径功能简称WAR,当选中两个连接点后,WAR将选择一个合适的路径连线。WAR可通过使用标准工具栏里的“WAR”命令按钮来关闭或打开,也可以在菜单栏的“Tools”下找到这个图标。 ③给与总线连接的导线贴标签PART LABELS 与P0口相连的线标签名依次为P00—P06,本电路中的P0口的上拉电阻通过总线与P0口相连,数码管也是通过总线与P0口相连,这些都需要标注,以表明正确的电气连接。单击绘图工具栏中的导线标签按钮,使之处于选中状态。将鼠标置于图形编辑窗口的欲标标签的导线上,跟着鼠标的指针就会出现一个“×”号,表明找到了可以标注的导线,单击鼠标左键,弹出编辑导线标签窗口,如图---所示。 在“string”栏中,输入标签名称(如p00),单击“OK”按钮,结束对该导线的标签标定。同理,可以标注其它导线的标签,如图5-16所示。 注意,在标定导线标签的过程中,相互接通的导线必须标注相同的标签名。

相关文档
最新文档