当前位置:   article > 正文

让1位数码管并循环显示“0-9”并且显示八位数_数码管1~9显示

数码管1~9显示

一.我们需要知道什么是数码管:

数码管( Digital Display )是一种用来显示数字和一些字母字符的电子显示设备。它通常由一组七段显示 元件(也称为数码管段或数码管块)组成,这些段以不同的排列方式可以显示数字0 9 以及一些字母字 符(如A B C 等),通常用于数字显示,例如时钟、计数器、温度计等。
下面是常见的数码管类型:

二.了解数码管的内部结构:

数码管的七段显示元件通常由 LED (发光二极管)或 VFD (真空荧光显示管)制成,每个显示元件都可 以显示数字0 9 和一些字母字符。每个数字或字符的显示通过点亮或关闭数码管的不同段来实现。这些 段通常按照一定的排列方式编号,如图2-1-3 示, "a" "b" "c" "d" "e" "f" "g" 是按照固定的方 式排列的。通过控制这些段的状态,可以显示所需的数字或字符。
个位数码管内各个段的排列方式:

1.数码管有不同类型,包括共阳极和共阴极数码管。在共阳极数码管中,所有共阳极(正极)连接在一 起,而每个段的阴极(负极)独立控制。

共阳极和共阴极内部电路图:

三.数码管驱动原理:

1.数码管内的 LED 灯排列方式是固定的,要显示特定字符的时候,点亮对应位置上的 LED 灯即可,其他位置的LED 则熄灭。
例如要显示数字 “5” ,则需点亮 a f g c d ,熄灭 b e h。
如下图所示:
2.
共阴极数码管为例,如果数码管的 a-h 分别与单片机的 P00-P07 相连,则显示数字 “5” 时, P00-P07 的值
如图:

3. 

根据以上显示方式被称为 数字译码 ,每个数字都有其对应的代码,如数字 “5” 对应的代码就是 “0x6D” ,各个数对应的代码
如图;

只要熟悉上面的理念,接下来就不难了,接下来我们进行实施。

四.进入原有的工程,我们选择工程需要用的芯片,步奏如下:

此时该工程的结构如图:

五.编写代码:

1.编写main函数及其循环:

2. 声明一个数组 meg_code ,保存数字 0-9 的字码。
3.编写延时函数:
4..编写显示数字代码:

六.完整代码部分:

七.编译代码:

1.点击编译后,在底部会显示编译结果,如图 2-1-27 所示,倒数第二句显示 “Target not created.”
明目标文件未能成功创建,表明编译有错误。在倒数第三句中有 error ,将这个报错拷贝,拷贝
“intrinsic ' nop ': declaration/activation error” 即可,在网上查询其报错原因。
2.经过网上查询得知,解决办法如下:
接下来我们看看同时显示八位数字

在C51单片机上实现八位数码管的显示,主要涉及到数码管的控制和显示。数码管通常由若干个发光二极管(LED)组成,每个LED代表数码管的一个位置,例如,第一位LED表示最高位,第二位LED表示次高位,依此类推。为了控制数码管的显示,我们需要对这些LED进行控制,使它们依次亮起或熄灭,从而形成我们想要显示的数字。

在C51单片机中,我们可以通过控制P0口输出段码,P2口输出位码来实现数码管的显示。具体来说,我们可以定义一个数组,存储不同的段码和位码对应的数字,然后通过改变P0口和P2口的输出,使得对应的LED亮起或熄灭,从而显示出相应的数字1

以下是一个简单的示例代码,用于实现八位数码管的滚动显示:

在上面的代码中,dis_code数组存储了共阳数码管的段码,_crol_函数用于将变量j循环左移1位,P0P2分别用于输出段码和位控码,delay函数用于延时,以保证数码管有足够的时间闪烁1

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/946722
推荐阅读
相关标签
  

闽ICP备14008679号