文档库 最新最全的文档下载
当前位置:文档库 › 8段数码管动态显示详解

8段数码管动态显示详解

原理图:8 个数码管它的数据线并联接到 JP5,位控制由 8 个 PNP 型三级管驱动后由 JP8 引出。个。我们分别把他命名为 A,B,C,D,E,F,G,H

搞懂了这个原理, 我们如果要显示一个数字 2, 那么 A,B,G,E,D 这 5 个段的发光管亮就可以了。也就是把B,E,H(小数点)不亮,其余全亮。根据硬件的接法我们编出以下程序。当然在此之前,还必须指定哪一个数码管亮,这里我们就指定最后一个 P2.7。

显示数字 2 则是 C,F,H(小数点)不亮,同时由于接法为共阳接法,那么为 0(低电平)是亮

为 1(高电平)是灭。从高往低排列,(p0.7_p0.0)写成二进制为 01111110,把他转化为 16 进制则为

A2H。我们可以根据硬件的接线把数码管显示数字编制成一个表格,以后直接调用就行了。

原理图中把所有数码管的 8 个笔划段 a-h 同名端连在一起,而每一个

显示器的公共极 COM 是各自

独立地受 I/O 线控制。CPU 向字段输出口送出字形码时,所有显示器接收到相同的字形码,由 8 个 PNP 的三极管,来控制这 8 位哪一位工作,例如上面的

例子中我们选中的是 P2.7.就是最后的一位亮了. 同样的如果要第一位亮, 只

需要把程序 CLR P2.7 改为 CLR P2.0 即可。

在这里就有了一个矛盾, 所有数码管的 8 个笔划段 a-h 同名端连在一起, 那么在一个屏幕上如何显示

0,1,2,3,4,5 这样不同的数字呢? 的确, 在这样的接法中,同一个瞬间所有的数码管显示都是相同的, 不能显示不同的数字。在单片机里,首先显示一个数, 然后关掉.然后显示第二个数,又关掉, 那么将看到连续的数字显示,轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约 1ms),由于人的视觉暂留

现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要

扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。

例如数码管显示 01234567 这么 8 个数,在单片机中实际的工作流程如下:先打开 P2.0,送 0, 然后关掉 P2.0,开 P2.1 送 1, 再关掉 P2.1,打开 P2.2 送 2 , 依次向下,由于速度足够快, 那么我们将连续的看到

01234567 这 8 个数。

程序运行照片:

1、接 8 位数码管的数据线。将数码管部份的数据口 JP5 接到 CPU 部份的 P0 口 JP51.

2、接 8 位数码管的显示位线。将数码管部份的显示位口 JP8 接到 CPU 部份

的 P2 口 JP52.

程序流程图:

简要描述数码管的静态显示方式和动态显示方式

简要描述数码管的静态显示方式和动态显示 方式 数码管是一种常见的数字显示器件,它由多个发光二极管组成。 数码管广泛应用于各种仪器、仪表以及数码钟表等领域,方便人们对 数字进行直观的观察。 数码管的显示方式可以分为静态显示和动态显示两种。 一、静态显示方式: 静态显示方式是指在任意时刻,只有某一个数码管被点亮,显示 对应的数字。在静态显示模式下,每个数码管都有一个对应的驱动电路,通过给驱动电路加电来点亮相应的数码管。这种方式显示的数字 清晰、稳定,但相对来说比较耗能。静态显示常用于对显示要求较高、静止不动的场合。 二、动态显示方式: 动态显示方式是指通过快速切换多个数码管的点亮状态来显示一 个完整的数字。通常一次只有一个数码管被点亮,然后迅速关闭,接 着点亮下一个数码管,如此循环往复,以达到显示多个数字的目的。 动态显示通过控制每个数码管点亮的时间片段,用肉眼看到的是所有 数字都在不断刷新,形成一个连续的显示效果。动态显示方式能够节 省能源,适用于显示频繁切换的场合。

动态显示方式还可以分为多路复用和直接显示两种。 1. 多路复用动态显示方式: 多路复用动态显示方式是指通过在每一个时间片段内,依次对每 个数码管进行点亮,以形成数字的显示效果。在每个时间片段内,通 过给对应的驱动电路加电,在该时间段内点亮对应的数字。通过快速 地在不同的时间片段内切换数码管的点亮状态,人眼可以看到所有数 字的完整显示。这种方式能够降低驱动电路的复杂度,适用于需要显 示较多位数的场合。 2. 直接显示动态显示方式: 直接显示动态显示方式是指通过在每一个时间片段内,同时点亮 多个数码管,以形成数字的显示效果。在每个时间片段内,通过给对 应的驱动电路加电,在该时间段内点亮多个数码管。通过快速地在不 同的时间片段内切换多个数码管的点亮状态,人眼可以看到所有数字 的完整显示。这种方式增加了驱动电路的复杂度,但能够提高数字的 亮度,适用于需要显示较亮的数字的场合。 总结:数码管的静态显示方式和动态显示方式各有特点,适用于 不同的场合。静态显示方式适合于对显示要求较高、静止不动的场合,动态显示方式适合于需要频繁切换显示的场合。同时,在动态显示方 式中,多路复用动态显示方式适用于需要显示较多位数的场合,而直 接显示动态显示方式适用于需要显示较亮的数字的场合。

数码管的动态显示原理及应用

数码管的动态显示原理及应用 1. 数码管简介 数码管是一种用于显示数字和符号的电子器件,常见的包括七段数码管、八段 数码管等。它由许多发光二极管(LED)组成,每个LED代表一个数字或符号。 数码管广泛应用于电子设备、仪器仪表等领域,具有直观、易读、低功耗等优点。 2. 数码管的工作原理 数码管的工作原理主要依靠电流和电压的控制,通过控制每个LED的亮灭状态,实现数字和符号的显示。 数码管通常由多个LED组成,每个LED分别代表一个数字或符号。在数码管中,每个LED的正极(阳极)接通位线,而负极(阴极)则分别连接到不同的控 制引脚。通过控制这些引脚的高低电平,可以控制相应的LED点亮或熄灭。 2.1 驱动方式 数码管的驱动方式分为静态和动态两种。静态驱动方式是指每个LED的亮灭状态不变,即只显示一个数字或符号。动态驱动方式是通过快速地改变LED的亮灭 状态,以达到显示多个数字或符号的效果。 2.2 动态显示原理 动态显示原理是指通过快速地改变LED的亮灭状态,使人眼产生视觉暂留效应,从而在有限的时间内显示多个数字或符号。 动态显示使用了时间分片的原理,即将一个显示周期分为多个时间片段,在每 个时间片段内只显示一个数字或符号。通过控制每个时间片段内不同LED的亮灭 状态,可以实现数字或符号的动态切换。 3. 数码管的应用 数码管由于其直观、易读的特点,在各行各业都有广泛的应用。 3.1 仪器仪表 数码管在仪器仪表领域得到广泛应用,例如数字万用表、电子测量仪器等。它 们通过控制不同的LED点亮或熄灭,可以直观地显示测量结果、电压、电流等信息。

3.2 数字时钟 数码管常被用于制作数字时钟。通过控制每个LED的亮灭状态,可以实时显示小时、分钟、秒等信息,方便人们了解当前的时间。 3.3 电子秤 数码管还广泛应用于电子秤。它们通过控制LED的亮灭状态,实时显示被称量物体的重量,方便人们进行称重工作。 3.4 电子计数器 数码管常被用于制作电子计数器。通过控制LED的亮灭状态,可以实时显示计数结果,常见于工业自动化、交通信号灯等领域。 3.5 其他应用 除了上述应用之外,数码管还可以应用于温度计、电子游戏、广告招牌等领域。由于数码管具有直观易读、低功耗的特点,因此在各种信息显示场景中都有广泛的应用。 4. 总结 数码管是一种常见的用于显示数字和符号的电子器件,通过控制LED的亮灭状态实现显示效果。它具有直观、易读、低功耗等优点,广泛应用于仪器仪表、数字时钟、电子秤、电子计数器等领域。其中,动态显示原理使得数码管能够在有限的时间内显示多个数字或符号,提升了显示的灵活性和效果。数码管的应用还可以扩展到其他领域,如温度计、电子游戏等。随着技术的不断发展,数码管在信息显示领域将继续发挥重要作用。

数码管显示

数码管显示 第3讲数码管显示 第3讲数码管显示 一、数码管显示原理 我们最常用的是七段式和八段式LED数码管,八段比七段多了一个小数点,其他的基本相同。所谓的八段就是指数码管里有八个小LED发光二极管,通过控制不同的LED的亮灭来显示出不同的字形。数码管又分为共阴极和共阳极两种类型,其实共阴极就是将八个LED的阴极连在一起,让其接地,这样给任何一个LED 的另一端高电平,它便能点亮。而共阳极就是将八个LED的阳极连在一起。其原理图如下。 其中引脚图的两个COM端连在一起,是公共端,共阴数码管要将其接地,共阳数码管将其接正5伏电源。一个八段数码管称为一位,多个数码管并列在一起可构成多位数码管,它们的段选线(即a,b,c,d,e,f,g,dp)连在一起,而各自的公共端称为位选线。显示时,都从段选线送入字符编码,而选中哪个位选线,那个数码管便会被点亮。 数码管的8段,对应一个字节的8位,a对应最低位,dp对应最高位。所以如果想让数码管显示数字0,那么共阴数码管的字符编码为00111111,即0x3f;共阳数码管的字符编码为11000000,即0xc0。可以看出两个编码的各位正好相反。如下图。

二、点亮一个数码管 下面以七段共阴数码管为例讲述如何点亮一个数码管。 l 51系列单片机的P0口没有上拉电阻(其他端口有),所以如果直接接数码管的段选线,那么不能将其点亮。我们需要为其加上220欧姆的上拉电阻,注意,上拉电阻阻值不能过大。实验原理图如下。 其中,7SEG-COM-CAT-GRN为七段共阴数码管,显示为绿色。RES为电阻。查找电阻时,需要选中下面的Resistors,如下图。

实验二 数码管显示

实验二数码管显示 本实验的目的是掌握数码管的工作原理与使用,实现数码管的静、动态显示。 静态数码管 我们先看看什么是数码管, 上图就是各种长相各种样子的数码管了,肯定很眼熟了吧。 不管将几位数码管连在一起,数码管的显示原理都是一样的,都是靠点亮内部的发光二极管来发光,下面就来我们讲解一个数码管是如何亮起来的。数码管内部电路如下图所示,从右图可看出,一位数码管的引脚是10个,显示一个8字需要7个小段,另外还有一个小数点,所以其内部一共有8个小的发光二极管,最后还有一个公共端,生产商为了封装统一,单位数码管都封装10个引脚,其中第3和第8引脚是连接在一起的。而它们的公共端又可分为共阳极和共阴极,中间图为共阴极内部原理图,右图为共阳极内部原理图。

上图展出了常用的两种数码管的引脚排列和内部结构。总所周知,点亮发光二极管就是要给予它足够大的正向压降。所以点亮数码管其实也就是给它内部相应的发光二极管正向压降。如上图左(一共a、b、c、d、e、f、g、DP 八段),如果要显示“1”则要点亮b、c 两段LED;显示“A”则点亮a、b、c、e、f、g 这六段LED;我们还知道,既然LED 加载的是正向压降,它的两端电压必然会有高低之分:如果八段LED 电压高的一端为公共端,我们称之为共阳极数码管(如上图中);如果八段LED 电压低的一段为公共端,则称之为共阴极数码管(上图右)。所以,要点亮共阳极数码管,则要在公共端给予高于非公共端的电平;反之点亮共阴极数码管,则要在非公共端给予较高电平。 对共阴极数码来说,其8个发光二极管的阴极在数码管内部全部连接在一起,所以称“共阴”,而它们的阳极是独立的,通常在设计电路时一般把阴极接地。当我们给数码管的任意一个阳极加一个高电平时,对应的这个发光二极管就点亮了。如果想要显示出一个8字,并且把右下角的小数点也点亮的话,可以给8个阳极全部送高电平,如果想让它显示出一个0字,那么我们可以除了给第“g, dp”这两位送低电平外,其余引脚全部都送高电平,这样它就显示出0字了。想让它显示几,就给相对应的发光二极管送高电平,因此我们在显示数字的时候首先做的就是给0-9十个数字编码,在要它亮什么数字的时候直接把这个编码送到它的阳极就行了。 共阳极数码管其内部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口线,又增加驱动能力。 四、仿真电路设计(电路原理图及关键单元说明)

简述单片机控制数码管动态显示的工作原理

简述单片机控制数码管动态显示的工作原理 一、概述 数码管动态显示是一种常见的技术,它通过单片机控制多个数码管以实现同时显示多路数据。这种技术广泛应用于各种电子设备中,如数字仪表、电子时钟、智能仪表等。单片机作为一种低功耗、低成本、高集成度的芯片,成为了实现数码管动态显示的核心器件。 二、工作原理 1.硬件连接 数码管动态显示通常需要连接多个数码管和单片机。每个数码管需要一个行驱动器,用于控制数码管的亮灭。单片机通过串行接口与行驱动器相连,以控制多个数码管的显示。同时,单片机还需要连接一个时钟电路,以实现定时刷新数码管的数据。在实际应用中,行驱动器通常采用共阳极接法,而单片机则采用串行数据传输方式与行驱动器进行通信。此外,为了实现数码管的动态显示,通常还需要连接多个限流电阻和限位电阻等元器件。 2.显示方式 数码管动态显示主要有静态显示和动态显示两种方式。静态显示是指每个数码管轮流显示,实现多路数据的依次显示,但由于需要为每个数码管分配单独的接口,因此适用于数据量较小的场景。而动态显示则是通过控制数码管的行驱动器轮流导通,实现多个数码管的依次显示,从而适用于数据量较大的场景。行驱动器通常采用轮流导通的方式控制多个数码管,以达到同时显示多路数据的目的。 3.控制方式

单片机通过串行接口向行驱动器发送控制信号,包括数据信号和时钟信号。数据信号用于传输要显示的数据,时钟信号则用于定时刷新数据。此外,单片机还可以通过中断控制方式,根据需要实时更新显示内容。在实际应用中,为了提高刷新速度和显示效果,通常需要优化单片机的处理速度和行驱动器的驱动能力。此外,单片机还可以通过PWM(脉宽调制)控制行驱动器的电流大小,以实现更好的亮度调节和动态效果。 4.刷新速度 数码管动态显示的刷新速度取决于单片机的处理速度和行驱动器的驱动能力。为了获得更好的显示效果和更长的使用寿命,通常需要较高的刷新速度和适当的行驱动器驱动电流。此外,可以通过优化软件算法和代码来实现更高的刷新速度和更好的显示效果。同时,也需要考虑硬件的散热问题,以避免因过热而影响显示效果和硬件寿命。 三、总结 单片机控制数码管动态显示的工作原理主要包括硬件连接、显示方式和控制方式。通过串行接口发送控制信号,实现多个数码管的依次显示,从而达到同时显示多路数据的目的。同时,需要考虑硬件和软件的优化措施以提高刷新速度和显示效果,延长硬件使用寿命。在实际应用中,需要根据具体需求选择合适的硬件和软件方案来实现数码管动态显示。

八段数码管显示

实验一八段数码管显示 1、实验目的: (1)了解数码管动态显示的原理。 (2)了解74LS164扩展端口的方法。 2、实验要求: 利用实验仪提供的显示电路,动态显示一行数据. 3、实验电路图 LED1LED2LED3LED4LED5LED6 4、实验器材: (1)超想-3000TB综合实验仪 1 台 (2)超想3000仿真器 1 台 (3)计算机 1 台

5、实验连线 无 6、实验说明: (1)本实验仪提供了8段码LED 显示电路,学生只要按地址输出相应数据,就可以实现对显示器的控制。显示共有6位,用动态方式显示。8段数码管是由8155的PB0、PB1经74LS164“串转并”后输出得到。6位位码由8155的PA0口输出,经Ua2003反向驱动后,选择相应显示位。 74LS164是串行输入并行输出转换电路,串行输入的数据位由8155的PB0控制,时钟位由8155的PB1控制输出。写程序时,只要向数据位地址输出数据,然后向时钟位地址输出一高一低两个电平就可以将数据位移到74LS164中,并且实现移位。向显示位选通地址输出高电平就可以点亮相应的显示位。 本实验仪中数据位输出地址为0e102H ,时钟位输出地址为0e102H ,位选通输出地址为 0e101H 。本实验涉及到了8155 I0/RAM 扩展芯片的工作原理以及74LS164器件的工作原理。 (2)七段数码管的字型代码表 显示字形 g f e d c b a 段码 0 0 1 1 1 1 1 1 3fh 1 0 0 0 0 1 1 0 06h 2 1 0 1 1 0 1 1 6bh 3 1 0 0 1 1 1 1 4fh 4 1 1 0 0 1 1 0 66h 5 1 1 0 1 1 0 1 6dh 6 1 1 1 1 1 0 1 7dh 7 0 0 0 0 1 1 1 07h 8 1 1 1 1 1 1 1 7fh 9 1 1 0 1 1 1 1 6fh A 1 1 1 0 1 1 1 77h B 1 1 1 1 1 0 0 7ch C 0 1 1 1 0 0 1 39h D 1 0 1 1 1 1 0 5eh E 1 1 1 1 0 0 1 79h F 1 1 1 1 71h a b c d e f g dp

单片机动态扫描驱动数码管

跟我学51单片机(五):单片机动态扫描驱动数码管 原理简介 常用的段式数码管有七段式和八段式,八段比七段多了一个小数点,其他的基本相同。所谓的几段就是指数码管里有相应的几个小LED 发光二极管,通过控制不同的LED 的亮灭来显示出不同的字形(见图1(a))。从各发光二极管的电极连接方式又可以分为共阳极和共阴极两种类型。共阴极则是所有的二极管的阴极连接在一起,而阳极是分离的(见图1(b));而共阳极就是所有二极管的阳极是公共相连,而阴极则是分离的(见图1(c))。本学习板采用的是八段共阴极数码管,型号为LG3641AH。 图1 数码管内部结构图 前文所述,数码管与发光二极管的工作原理相同,共阳极时,所有正端接电源正极,当负端有低电平时,该段有电流流过,发光管亮,当负端为高电平时,该段无电流流过,发光管不亮。要显示什么数字,就使对应的段为低电平(见表1)。共阴极与共阳极的电平变化状态相反。当每个段的驱动电流为2~20mA,电流越大,发光越亮。 表1 显示的数字和七段码各位的对应关系表 常用的七段式数码管的硬件驱动设计方法有:静态驱动与动态驱动。 静态驱动即指每个数码管的数据线都有一个单独的数据锁存器,数据锁存器输入的数据由使能端控制,当使能端为高电平时,数据线上的数据(要显示的七段码)进入显示器,使能端与地址译码器的输出相连,要显示那位,则选通那位的地址,在软件设计上不要求程序循环,也不存在显示数字发生闪烁。但是这样会占用很多口线。 动态显示是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配一个锁存器,从而节省了口线,地简化了硬件电路。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。 电路详解

八段数码管显示

1.七段数码管的字型代码表如下表: 2.程序框图:

3.实验线路: 4.实验步骤: (1)设定工作模式为模式2,即程序空间在仿真器上,数据空间在用户板上。把第“40” 号模块“键盘显示”的片选信号CS40孔接第“36”号模块“片选信号”YS0 (08000-08FFFH)孔。

(2)编程并调试。 5.程序清单: 八段数码管显示 #define LEDLen 6 xdata unsigned char OUTBIT _at_ 0x8002; // 位控制口 xdata unsigned char OUTSEG _at_ 0x8004; // 段控制口 xdata unsigned char IN _at_ 0x8001; // 键盘读入口 unsigned char LEDBuf[LEDLen]; // 显示缓冲 code unsigned char LEDMAP[] = { // 八段管显示码显示内容0~F 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71 }; void Delay(unsigned char CNT) { unsigned char i; while (CNT-- !=0) for (i=100; i !=0; i--); } void DisplayLED() { unsigned char i; unsigned char Pos; unsigned char LED; Pos = 0x20; // 从左边开始显示 for (i = 0; i < LEDLen; i++) { OUTBIT = 0; // 关所有八段管 LED = LEDBuf[i]; OUTSEG = LED; OUTBIT = Pos; // 显示一位八段管 Delay(5); Pos >>= 1; // 显示下一位 } OUTBIT = 0; // 关所有八段管 }

8个数码管动态显示

8个数码管动态显示 南昌大学实验报告 学生姓名:王崇伙学号:6103413026专业班级:生医131实验类型:□验证□综合设计□创新实验日期:2022/10/9实验成绩: 实验二、8个数码管动态显示1~8 一、实验目的 1、掌握汇编查表法实现动态数码管显示。 2、熟练使用proteu仿真 工具。 二、实验工具 1、PC机 2、keil程序编辑工具 3、proteu仿真工具 三、实验原理 八路七段数码管动态显示原理其实和一个数码管显示0~F原理相同, 不同在于显示数字的数码管有一个一次变成八个显示0~8,P0控制段选, P1控制位选,由本次实验使用八路共阴极数码管(如下图),当P0=0某 7F(8)时,位码P1=0某fe既选通第八个数码管其余位选高电平不导通, 结果就为第八个数码管显示8,依次P0段选‘1’时P1位选第一个数码 管结果就为第一个数码管显示‘1’,延时0.2再依次循环输入1~8位选 依次选一~八达到八位数码管循环显示1~8。 四、实验程序框图 开始初始化端口设置断码表、位码表设定i=0,i++N显示i指向的内 容Yi<8五、实验程序

#include#include#include #defineucharunignedcharbitP_HC595_SER=P0^0;bitP_HC595_RCLK=P 2^4;bitP_HC595_SRCLK=P0^3;ucharcodeSEG7[]={0某3F,0某06,0某 5B,0某4F,0某66,0某6D,0某7D,0某07,0某7F,0某6F,0某77,0某7C,0某39,0某5E,0某79,0某71,0某00}; ucharcodeScon_bit[]={0某fe,0某fd,0某fb,0某f7,0某ef,0某df,0某bf,0某 7f};uchardataDi_buf[]={16,16,16,16,16,16,16,0};voidDelay1m(){ unignedchari,j;_nop_();_nop_(); _nop_();i=11;j=190;do{ while(--j);} while(--i);} voidF_Send_595(uchar某){ uchari; for(i=0;i<8;i++){某=某<<1; P_HC595_SER=CY;P_HC595_SRCLK=1;P_HC595_SRCLK=0;}} voiddiplay(void){ uchari; for(i=0;i<8;i++){ F_Send_595(Scon_bit[i]);

8位数码管

1、什么是8位数码管? 8段数码管属于LED发光器件的一种。LED发光器件一般常用的有两类:数码管和点阵。8段数码管又称为8字型数码管,分为8段:A、B、C、D、E、F、G、P。其中P为小数点。数码管常用的有10根管脚,每一段有一根管脚,另外两根管脚为一个数码管的公共端,两根之间相互连通,如图所示: 图一 LED的管脚和电路原理 从电路上,数码管又可分为共阴和共阳两种。 2、8段数码管是如何显示单片机数据的? 用单片机驱动LED数码管有很多方法,按显示方式分,有静态显示和动态显示。首先介绍静态显示方法。 静态显示就是显示驱动电路具有输出锁存功能,单片机将所有要显示的数据送出后就不再控制LED,直到下一次显示时再传送一次新的显示数据。静态显示的数据稳定,占用的CPU时间少。静态显示中,每一个显示器都要占用单独的具有锁存功能的I/O接口,该接口用于笔划段字型代码。这样单片机只要把要显示的字形代码发送到接口电路,该字段就可以显示发送的字形。要显示新的数据时,单片机再发送新的字形码。 另一种方法是动态扫描显示。动态扫描方法是用其接口电路把所有显示器的8个笔画段a-h同名端连在一起,而每一个显示器的公共极COM各自独立的受I/O线控制。CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是哪个显示器亮,则取决于COM段,而这一段是由I/O控制的,由单片机决定何时显示哪一位了。 动态扫描用分时的方法轮流控制各个显示器的COM端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间极为短暂,但由于人的视觉暂留现象及发光二极管的余晖效应,给人的印象就是一组稳定的显示数据。

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

单片机数码管动态显示实验报告单片机数码管动态显示实验程序(汇编) 单片机数码管动态显示实验程序 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 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;

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; //数码管选择输出引脚

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所示。 注意,在标定导线标签的过程中,相互接通的导线必须标注相同的标签名。

秒表-八位数码管显示

秒表-八位数码管显示 1;************************************************************************** 2; 标题: 秒表-八位数码管显示(汇编) 3; 作者: wentao https://www.wendangku.net/doc/7319334359.html, 4; https://www.wendangku.net/doc/7319334359.html, 5; 日期: 2007.3.3 6; 软件: Keil A51 V8.00 7; 芯片: AT89X51 8; 说明: 实验板实测通过,数码管为8位共阳 9; 声明: 自用存档!另仅供需要的朋友参考,请勿用做不道德转载及商业用途! 10;************************************************************************** 11 12dot_l equ 30h ;30单元存储百分之一秒值 13dot_h equ 31h ;31单元存储十分之一秒值 14sec_l equ 32h ;32单元存储秒个位值 15sec_h equ 33h ;33单元存储秒十位值 16min_l equ 34h ;34单元存储分个位值 17min_h equ 35h ;35单元存储分十位值 18hou_l equ 36h ;36单元存储时个位值 19hou_h equ 37h ;37单元存储时十位值 20 21dot equ 38h ;38单元为百分之一秒计数器(0.00s-0.99s) 22sec equ 39h ;39单元为秒计数器(00s-59s) 23min equ 40h ;40单元为分计数器(00m-59m) 24hou equ 41h ;41单元为时计数器(00h-00h) 25 26dis_b equ 42h ;dis_b(42单元)作为位码选通数码管 27dis_r equ 43h ;dis_r(43单元)为取段码时的偏移量 28 29key_t equ 44h ;44单元为键按下的次数标记 30 31K bit p1.4 ;K键与P1.4相连 32 33 org 0000h 34 ajmp start 35 org 000bh ;定时器0的中断入口地址 36 ajmp time0 ;跳到定时器0的中断服务程序处

相关文档
相关文档 最新文档