数码管完整版

合集下载

共阴极数码管编码表0-9

共阴极数码管编码表0-9

共阴极数码管编码表0-9
共阴极数码管是一种常见的显示器件,用于显示数字。

它由七个发光二极管(LED)组成,每个LED代表一个数字的一部分。

下面是共阴极数码管的编码表,包括数字0到9的显示方式:
数字0:
a, b, c, d, e, f 灯亮。

g 灯灭。

数字1:
b, c 灯亮。

a, d, e, f, g 灯灭。

数字2:
a, b, g, e, d 灯亮。

c, f 灯灭。

数字3:
a, b, c, d, g 灯亮。

e, f 灯灭。

数字4:
f, g, b, c 灯亮。

a, d, e 灯灭。

数字5:
a, f, g, c, d 灯亮。

b, e 灯灭。

数字6:
a, f, g, e, d, c 灯亮。

b 灯灭。

数字7:
a, b, c 灯亮。

d, e, f, g 灯灭。

数字8:
a, b, c, d, e, f, g 灯亮。

数字9:
a, b, c, d, f, g 灯亮。

e 灯灭。

以上是共阴极数码管的编码表,每个数字由对应的LED灯的亮
灭状态组成。

通过控制不同的LED灯亮灭,可以实现显示不同的数字。

数码管规格参数

数码管规格参数

先介绍一下5161数码管的类型:数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示),本实验所使用的是八段数码管。

数码管的连接方式分为共阳极数码管和共阴极数码管。

本实验用到是共阴极数码管。

(一般情况下在元器件上能看到以下几种型号:5161AS:共阴红色;5161AG:共阴绿色;5161BS:共阳红色;5161BG:共阳绿色)本实验用到的元器件为:5161AS八段一位数码管*1;220Ω直插电阻*8;面包板及面包板跳线;图一图二(共阴)图三(共阳)数码管共有七段显示数字的段,还有一个显示小数点的段。

当让数码管显示数字时,只要将相应的段点亮即可。

例如:让数码管显示数字1,则将b、c 段点亮即可。

将每个数字写成一个子程序。

在主程序中每隔1s 显示一个数字,让数码管循环显示0~9 数字。

每一个数字显示的时间由延时时间来决定,时间设置的大些,显示的时间就长些,时间设置的小些,显示的时间就短。

实验代码://设置控制各段的数字IO 脚int a=7;//定义数字接口7 连接a 段数码管int b=6;// 定义数字接口6 连接b 段数码管int c=5;// 定义数字接口5 连接c 段数码管int d=10;// 定义数字接口10 连接d 段数码管int e=11;// 定义数字接口11 连接e 段数码管int f=8;// 定义数字接口8 连接f 段数码管int g=9;// 定义数字接口9 连接g 段数码管int dp=4;// 定义数字接口4 连接dp 段数码管void digital_0(void) //显示数字0{unsigned char j;for(j=5;j<=11;j++)digitalWrite(j,HIGH);digitalWrite(dp,LOW);digitalWrite(g,LOW);}void digital_1(void) //显示数字1{unsigned char j;digitalWrite(c,HIGH);//给数字接口5 引脚高电平,点亮c 段digitalWrite(b,HIGH);//点亮b 段for(j=7;j<=11;j++)//熄灭其余段digitalWrite(j,LOW);digitalWrite(dp,LOW);//熄灭小数点DP 段}void digital_2(void) //显示数字2{unsigned char j;digitalWrite(b,HIGH);digitalWrite(a,HIGH);for(j=9;j<=11;j++)digitalWrite(j,HIGH);digitalWrite(dp,LOW);digitalWrite(c,LOW);digitalWrite(f,LOW);}void digital_3(void) //显示数字3 {unsigned char j;digitalWrite(g,HIGH);digitalWrite(d,HIGH);for(j=5;j<=7;j++)digitalWrite(j,HIGH);digitalWrite(dp,LOW);digitalWrite(f,LOW);digitalWrite(e,LOW);}void digital_4(void) //显示数字4 {digitalWrite(c,HIGH);digitalWrite(b,HIGH);digitalWrite(f,HIGH);digitalWrite(g,HIGH);digitalWrite(dp,LOW);digitalWrite(a,LOW);digitalWrite(e,LOW);digitalWrite(d,LOW);}void digital_5(void) //显示数字5 {unsigned char j;for(j=7;j<=9;j++)digitalWrite(j,HIGH);digitalWrite(c,HIGH);digitalWrite(d,HIGH);digitalWrite(dp,LOW);digitalWrite(b,LOW);digitalWrite(e,LOW);}void digital_6(void) //显示数字6 {unsigned char j;for(j=7;j<=11;j++)digitalWrite(j,HIGH);digitalWrite(c,HIGH);digitalWrite(dp,LOW);digitalWrite(b,LOW);}void digital_7(void) //显示数字7 {unsigned char j;digitalWrite(j,HIGH);digitalWrite(dp,LOW);for(j=8;j<=11;j++)digitalWrite(j,LOW);}void digital_8(void) //显示数字8 {unsigned char j;for(j=5;j<=11;j++)digitalWrite(j,HIGH);digitalWrite(dp,LOW);}void digital_9(void) //显示数字9 {unsigned char j;for(j=5;j<=11;j++)digitalWrite(j,HIGH);digitalWrite(dp,LOW);digitalWrite(e,LOW);}void setup(){int i;//定义变量pinMode(i,OUTPUT);//设置4~11 引脚为输出模式}void loop(){while(1){digital_0();//显示数字0delay(1000);//延时1sdigital_1();//显示数字1delay(1000);//延时1sdigital_2();//显示数字2delay(1000); //延时1sdigital_3();//显示数字3delay(1000); //延时1sdigital_4();//显示数字4delay(1000); //延时1sdigital_5();//显示数字5delay(1000); //延时1sdigital_6();//显示数字6delay(1000); //延时1sdigital_7();//显示数字7delay(1000); //延时1sdigital_8();//显示数字8delay(1000); //延时1s digital_9();//显示数字9 delay(1000); //延时1s }}实验截图:=================以下资料来源于网络==================按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。

数码管显示演示课件.ppt

数码管显示演示课件.ppt

39 38 37 36 35 34 33 32
继电器)时, R3 1 0K 接负载电源 LED1
U2 ULN28 0 3
PR1
COM 9
P 20 P 21 P 22 P 23 P 24 P 25 P 26 P 27
21 1 22 2 23 3 24 4 25 5 26 6 27 7 28 8
I1 O1 I2 O2 I3 O3 B4 O4 B5 O5 I6 O6 I7 O7 I8 C8
a b c com d com e f
依次驱动(扫描)
Q2公共极
Q3
8 55 0
8 55 0
3 8
3 8
LED2
LED3
a b c com d com e f
gd p
gd p
7 6 4 2 1 190
5
相对应的段码接在 一起
8
5
动态显示
为了正确显示 段码与位码必
R1 1 0K
须同步!
R2 1 0K
..
com
共阴极: 点亮时加
低电平
段码:高 电平驱动 3
Titl e
3.2 数码管显示
3.2.4 静态显示和动态显示 静态显示每个数码管有独立的驱动电路, 亮度高电路复杂,编程容易。
+5V
3位共阳极数码管静态显示
公共极直接 接+5V电源
独立的段码
驱动电路
(在“串.. 口应用”讲解)
16
1 2 3 4 5 6 7 8
gd p
gd p
gd p
U2
ULN28 0 3
PR1
I1 O1 I2 O2 I3 O3 B4 O4 B5 O5 I6 O6 I7 O7 I8 C8

数码管课件new

数码管课件new


一、点亮数码管 合作任务二: 点亮数字(自评每个数字2分)
重点 探索

一、合作任务三 小组展示 1.合作任务(10分钟) 2.小组展示(计时)

一、点亮数码管
共阳极数码管字型编码表
合作任务四 写出点亮数字的字 型编码表,填写表3
显示字形
a
0 1
b
0 0
c
0 0
d
0 1
e
0 1
f
0 1
g
g a b c d e f g dp
COM
a b c d e f g dp
COM
图 6-1 8段LED显示器的结构原理
共阴极
(b) 共阴极
(c) 共阳极
共阳极

一、点亮数码管
2.外部段脚
数码管 各段的 名称是 什么?
a f g d b
10 9 8 7 6
e
c
dp
手画辅 助记忆
1 2 3 4 5

1 1
dp
1 1
0 0
1 0 0 0
0 0
0 1 1 0 0 0
1 0
0 0 0 0 0 0
0 0
1 0 0 1 0 0
0 1
1 1 0 1 0 0
1 1
0 0 0 1 0 0
0 0
0 0 0 1 0 1
1 1
1 1 1 1 1 0
突破 难点
0 0
小组评价 任务评价
小组交换评分
(1组检查2组,2组查3组,依此类推)
《电工电子实训项目六 任务一》
济南第九职业中等专业学校
鹿 学 俊
展示 引入
出示任务

(完整版)74LS164驱动数码管动态显示

(完整版)74LS164驱动数码管动态显示

74LS1641、器件功能作用8 位串入,并出移位寄存器2. 概述74HC164、74HCT164 是高速硅门 CMOS 器件,与低功耗肖特基型 TTL (LSTTL) 器件的引脚兼容。

74HC164、74HCT164 是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。

数据通过两个输入端(DSA 或 DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。

两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。

时钟 (CP) 每次由低变高时,数据右移一位,输入到 Q0, Q0 是两个数据输入端(DSA 和 DSB)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。

主复位 (MR) 输入端上的一个低电平将使其它所有输入端都无效,同时非同步地清除寄存器,强制所有的输出为低电平。

3. 特性•门控串行数据输入•异步中央复位•符合 JEDEC 标准 no. 7A•静电放电 (ESD) 保护:·HBM EIA/JESD22-A114-B 超过 2000 V·MM EIA/JESD22-A115-A 超过 200 V 。

•多种封装形式•额定从 -40 °C 至+85 °C 和 -40 °C 至+125 °C 。

4. 功能图图 1. 逻辑符号图 2. IEC 逻辑符号图 3. 逻辑图图 4. 功能图5. 引脚信息图 5. DIP14、SO14、SSOP14 和 TSSOP14 封装的引脚配置引脚说明符号引脚说明DSA 1 数据输入DSB 2 数据输入Q0~Q3 3~6 输出GND 7 地 (0 V)CP 8 时钟输入(低电平到高电平边沿触发)/M/R 9 中央复位输入(低电平有效)Q4~Q7 10~13 输出VCC 14 正电源罗亩的笔记6. 功能表(真值表)H = HIGH(高)电平h = 先于低-至-高时钟跃变一个建立时间 (set-up time) 的 HIGH(高)电平L = LOW(低)电平l = 先于低-至-高时钟跃变一个建立时间 (set-up time) 的 LOW(低)电平q = 小写字母代表先于低-至-高时钟跃变一个建立时间的参考输入(referenced input) 的状态↑ = 低-至-高时钟跃变7. 电器特性动态特性(TA=25℃)8. 推荐工作条件[1] 对于 DIP14 封装:Ptot 在超过70 °C 时以 12 mW/K 的速度线性降低。

数码管静态与动态显示课件

数码管静态与动态显示课件
红、绿、黄等,不同颜色适用于不同场合。
按颜色分类
按位数分类
优点
结构简单、体积小、重量轻、价格便宜、维护方便。
缺点
只能显示数字和字母,不能显示图像和视频,且亮度较低。
02
CHAPTER
数码管静态显示
七段数码管
由七个LED灯组成的,可以显示0-9的数字和部分字母。
显示原理
通过控制LED灯的亮灭来显示不同的字符。
8位数码管
05
CHAPTER
数码管显示常见问题及解决方案
数码管在显示时出现显示不全或者闪烁的问题,主要是由于硬件电路设计不合理或者软件编程有误所致。
这类问题通常是由于电源电压不稳定、驱动电路故障、显示数据不正确或者刷新频率过低等原因引起的。解决这类问题需要检查硬件电路设计和电源电压是否正常,同时检查软件程序中是否存在错误。
缺点
04
CHAPTER
数码管显示实例
数码管结构
4位7段数码管由7个LED段和4个位组成,通过控制各段的亮灭状态可以显示不同的数字。
电路设计
为了驱动4位7段数码管,需要设计相应的电路,包括电源、译码器、驱动器等部分。译码器的作用是将输入的BCD(二进制编码的十进制)信号转换成相应的LED段信号,驱动器则负责驱动各LED段。
注意事项
VS
除了4位数码管外,还有8位数码管,可以显示0~9999等更大的数字。在电路设计和编程实现上,8位数码管与4位数码管类似,只是需要更多的LED段和位。
点阵式数码管
点阵式数码管由多个LED点组成,可以显示各种文字和图案。在电路设计和编程实现上,点阵式数码管与7段数码管类似,但需要更多的LED点和驱动器。
总结词
详细描述
总结词

第七讲数码管显示

第七讲数码管显示

4 4 1 0 0 1 1 0 0 1 99H 0 1 1 0 0 1 1 0 66H
5 5 1 0 0 1 0 0 1 0 92H 0 1 1 0 1 1 0 1 6DH
6 6 1 0 0 0 0 0 1 0 82H 0 1 1 1 1 1 0 1 7DH
7 7 1 1 1 1 1 0 0 0 F8H 0 0 0 0 0 1 1 1 07H
采用静态显示方式时,用较小的电流即可获得较高的亮 度,且占用CPU时间少,编程简单,显示便于监测和控制, 但其占用的口线多,硬件电路复杂,成本高,只适用于显示 位数较少的场合。
图: 两位的LED数码管静态显示示意图
例1:用一只共阴极的单只数码管循环显示0,
1,2,3,…,9。
RP1
RESPACK-8
P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
10 11 12 13 14 15 16 17
源程序:
#include<reg51.h> #defined uchar unsigned char #defined uint unsigned int //0~9的数码管段码,最后一个为关闭 uchar code DSY_CODE[]={0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D,
0 1 1 1 1 1 0 0 7CH 0 0 1 1 1 0 0 1 39H 0 1 0 1 1 1 1 0 5EH 0 1 1 1 1 0 0 1 79H 0 1 1 1 0 0 0 1 71H 0 1 1 1 0 1 1 0 76H 0 0 1 1 1 0 0 0 38H 0 1 1 1 0 0 1 1 73H 0 0 1 1 0 0 0 1 31H 0 0 1 1 1 1 1 0 3EH 0 1 1 0 1 1 1 0 6EH 0 1 0 0 0 0 0 0 40H 1 0 0 0 0 0 0 0 80H 0 0 0 0 0 0 0 0 00H

LED数码管使用详解

LED数码管使用详解

LED数码管使用详解L E D数码管的识别与检测方法使用常识 L E D数码管也称半导体数码管,它是将若干发光二极管按一定图形排列并封装在一起的最常用的数码显示器件之一。

L E D数码管具有发光显示清晰、响应速度快、耗电省、体积小、寿命长、耐冲击、易与各种驱动电路连接等优点,在各种数显仪器仪表、数字控制设备中得到广泛应用。

L E D数码管种类很多,品种五花八门,这里仅向初学者介绍最常用的小型“8”字形L E D数码管的识别与使用方法。

如何识别L E D数码管1.结构及特点目前,常用的小型L E D数码管多为“8”字形数码管,它内部由8个发光二极管组成,其中7个发光二极管(a~g)作为7段笔画组成“8”字结构(故也称7段L E D数码管),剩下的1个发光二极管(h或d p)组成小数点,如图1(a)所示。

各发光二极管按照共阴极或共阳极的方法连接,即把所有发光二极管的负极(阴极)或正极(阳极)连接在一起,作为公共引脚;而每个发光二极管对应的正极或者负极分别作为独立引脚(称“笔段电极”),其引脚名称分别与图 1(a)中的发光二极管相对应,即a、b、c、d、e、f、g脚及h脚(小数点),如图1(b)所示。

若按规定使某些笔段上的发光二极管发光,就能够显示出图1(c)所示的“0~9”10个数字和“A~F”6个字母,还能够显示小数点,可用于2进制、10进制以及16进制数字的显示,使用非常广泛。

常用小型L E D数码管是以印制电路板为基板焊固发光二极管,并装入带有显示窗口的塑料外壳,最后在底部引脚面用环氧树脂封装而成。

由于L E D数码管的笔段是由发光二极管组成的,所以其特性与发光二极管相同。

L E D数码管的主要特点:能在低电压、小电流条件下驱动发光,并能与C M O S、T T L电路兼容;它不仅发光响应时间极短(<0.1μs)、高频特性好、单色性好、亮度高,而且体积小、重量轻、抗冲击性能好、使用寿命长(一般在10万小时以上,最高可达100万小时)、成本低。

单片机数码管显示

单片机数码管显示
动态扫描用分时的方法轮流控制各个数码管的COM端,使各 个数码管轮流点亮。在轮流点亮数码管的扫描过程中,每位 数码管的点亮时间极为短暂。但由于人的视觉暂留现象及发 光二极管的余辉,给人的印象就是一组稳定的显示数据。
三 LED显示器动态显示及应用实例
1. 动态显示的特点 优点:当显示位数较多时,采用动态显示方式比较节省I/O 口,硬件电路也较静态显示简单。 缺点:其稳定度不如静态显示方式。而且在显示位数较多时 CPU要轮番扫描,占用CPU较多的时间。
}
3.串行静态显示
为了解决静态显示I/O口占用过多的问题 ,可采用串行接口扩展LED数码管的技术。
利用串入并处移位寄存器74LS164可以 实现串行接口的扩展。
注意:74LS164的CLK端每产生一个下降沿, 输出端的数据左移一位。
思考:用下图电路显示1、2的程序 怎样编写?
三 LED显示器动态显示及应用实例
1. 动态显示的特点
动态扫描方法是用一个接口电路把所有数码管的8个笔划段a~ g和dp同名端连在一起,而每一个数码管的公共极COM各自独 立 地受一条I/O线控制。CPU向字段输出口送出字形码时,所 有 数码管接收到相同的字形码。但究竟是哪个数码管亮,则 取 决于COM端,COM端与单片机的I/O口相连接,由单片机输 出位 码到I/O控制何时哪一位数码管亮。
动态扫描用分时的方法轮流控制各个数码管的COM端,使各 个数码管轮流点亮。在轮流点亮数码管的扫描过程中,每位 数码管的点亮时间极为短暂。但由于人的视觉暂留现象及发 光二极管的余辉,给人的印象就是一组稳定的显示数据。
三 LED显示器动态显示及应用实例
2. 应用实例 【例】 采用四位数码管动态扫描显示0、1、2、
int i,j; for(i=0;i<x;i++)

八段数码管数码管编码译码表

八段数码管数码管编码译码表

八段数码管数码管编码译码表以下是八段数码管编码译码表:
共阳极数码管编码:
0:0xC0 (11000000)
1:0xF9 (11111001)
2:0xA4 (10100100)
3:0xB0 (10110000)
4:0x99 (10011001)
5:0x92 (10010010)
6:0x82 (10000010)
7:0xF8 (11111000)
8:0x80 (10000000)
9:0x90 (10010000)
共阴极数码管编码:
0:0x3F ( 00111111)
1:0x06 ( 0000006)
2:0x5B ( 01011011)
3:0x4F ( 01001111)
4:0x66 ( 0110011)
5:0x6D ( 011011)
6:0x7D ( 011111)
7:0x7F ( 0111 1)
8:7F,8: 7F: 8: 7F: 8: 7F: 8: 7F: 8: 7F: 8: 7F: 8: 7F: 8: 7F: 8: 7F: 8: 7F: 8: 7F: 8: 7F: 8: 7F: 8: 7F: 8: 7F: 8: 7F: 8: 7F: 8: 7F: 8: 7F: 8: 7F :F8 (转置位元):对于共阳极的LED数码管,使用高电平驱动显示段,低电平不显示。

对于共阴极的LED数码管,使用低电平驱动显示段,高电平不显示。

因此,共阳极数码管的编码可以直接用作驱动信号,而共阴极数码管需要取反后才能驱动显示。

例如,数字“2”的共阳极编码为A4,可以直接驱动共阳极数码管显示;数字“2”的共阴极编码为5B,需要取反后才能驱动共阴极数码管显示。

数码管型号规格

数码管型号规格
71.6×25.8
规格书
时钟点亮
JM-S08043A-B
0.80英寸/20.30mm
71.5×26
规格书
40×14
规格书
时钟点亮
JM-S03941E-F
0.39英寸/9.90mm
40×14
规格书
一侧PIN
时钟点不亮
JM-S03941G-H
0.39英寸/9.90mm
40×14
规格书
时钟点亮
小数点不亮
JM-S03941I-J
0.39英寸/9.90mm
40×14
规格书
时钟点亮
JM-S03941M-N
0.39英寸/9.90mm
0.31英寸/8.00mm
28×11
规格书
JM-S03342A-B
0.33英寸/8.38mm
30.0×14.0
规格书
时钟点亮
JM-S03641A-B
0.36英寸/9.20mm
30×14
规格书
JM-S03642A-B
0.36英寸/9.20mm
30×14
规格书
JM-S03941A-B
0.39英寸/9.90mm
40×14
规格书
时钟点亮
JM-S03943A-B
0.39英寸/9.90mm
39×14
规格书
JM-S03944A-B
0.39英寸/10.00mm
40.18×12.8
规格书
温度点
JM-S04041A-B
0.40英寸/10.16mm
40.5×16
规格书
时钟点亮
JM-S04042A-B
0.40英寸/10.16mm
规格书

数码管静态显示详解演示文稿

数码管静态显示详解演示文稿

亚博科技
51单片机开发板28课配套视频教程
74HC573作用是什么
74HC573和74LS373原理一样,8数据锁存器。 主要用于数码管、按键等的控制。
第14页,共14页。
光,加零电压的不能发光,不同亮暗的组合就能形成不同 的字型,这种组合称为字型码。共阳极和共阴极的字型码 是不同的,下面我们分析一下。
第7页,共14页。
亚博科技
51单片机开发板28课配套视频教程
LED显示二种接法
使用LED显示器时,要注意区分这两种不同的接法。为了
显示数字或字符,必须对数字或字符进行编码。七段数码
使用时,共阴极数码管公共端接地,共阳极数码管公共端接电
源。每段发光二极管需5~10mA的驱动电流才能正常发光,一般需加
限流电阻控制电流的大小。
第6页,共14页。
亚博科技
51单片机开发板28课配套视频教程
LED显示器(数码管)的结构与原理
数码管显示原理
LED数码管的a~g七个发光二极管。加正电压的发
当锁存使能端为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。当锁存使能 变低时,符合建立时间和保持时间的数据会被锁存。
×输出能直接接到 CMOS,NMOS 和 TTL 接口上 ×操作电压范围:2.0V~6.0V ×低输入电流:1.0uA ×CMOS 器件的高噪声抵抗特性
第13页,共14页。
第3页,共14页。
亚博科技
51单片机开发板28课配套视频教程
数码管可显示内容和特点
可显示内容:数字、小数点和部分英文字符、符号。
特点:1、自发光、亮度高,特别适合环境亮度低的场合 使用。2、牢固,不怕冲击。数码管是一种半导体发光器 件,其基本单元是发光二极管。
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例程18.数码管显示实验
数码管是一种半导体发光器件,其基本单元是发光二极管。

数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示),本实验所使用的是八段数码管。

按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。

共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。

共阳数码管在应用时应将公共极COM 接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。

当某一字段的阴极为高电平时,相应字段就不亮。

共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。

共阴数码管在应用时应将公共极COM 接到地线GND 上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。

当某一字段的阳极为低电平时,相应字段就不亮。

数码管的每一段是由发光二极管组成,所以在使用时跟发光二极管一样,也要连接限流电阻,否则电流过大会烧毁发光二极管的。

本实验用的是共阴极的数码管,共阴数码管在应用时应将公共极接到GND,
当某一字段发光二极管的阳极为低电平时,相应字段就点熄灭。

当某一字段的阳极为高电平时,相应字段就点亮。

介绍完原理,
我们开始准备实验用元器件。

八段数码管*1
220Ω直插电阻*8
面包板*1 面包板跳线*1 扎
我们参考实物连接图按原理图连接好电路。

数码管共有七段显示数字的段,还有一个显示小数点的段。

当让数码管显示数字时,只要将相应的段点亮即可。

例如:让数码管显示数字1,则将b、c 段点亮即可。

将每个数字写成一个子程序。

在主程序中每隔2s 显示一个数字,让数码管循环显示1~8 数字。

每一个数字显示的时间由延时时间来决定,时间设置的大些,显示的时间就长些,时间设置的小些,显示的时间就短。

参考程序源代码:
//设置控制各段的数字IO 脚
int a=7;//定义数字接口7 连接a 段数码管
int b=6;// 定义数字接口6 连接b 段数码管
int c=5;// 定义数字接口5 连接c 段数码管
int d=11;// 定义数字接口11 连接d 段数码管
int e=10;// 定义数字接口10 连接e 段数码管
int f=8;// 定义数字接口8 连接f 段数码管
int g=9;// 定义数字接口9 连接g 段数码管
int dp=4;// 定义数字接口4 连接dp 段数码管
void digital_1(void) //显示数字1
{
unsigned char j;
digitalWrite(c,HIGH);//给数字接口5 引脚高电平,点亮c 段digitalWrite(b,HIGH);//点亮b 段
for(j=7;j<=11;j++)//熄灭其余段
digitalWrite(j,LOW);
digitalWrite(dp,LOW);//熄灭小数点DP 段
}
void digital_2(void) //显示数字2
{
unsigned char j;
digitalWrite(b,HIGH);
for(j=9;j<=11;j++) digitalWrite(j,HIGH); digitalWrite(dp,LOW); digitalWrite(c,LOW); digitalWrite(f,LOW);
}
void digital_3(void) //显示数字3 {
unsigned char j; digitalWrite(g,HIGH); digitalWrite(d,HIGH);
for(j=5;j<=7;j++) digitalWrite(j,HIGH); digitalWrite(dp,LOW); digitalWrite(f,LOW); digitalWrite(e,LOW);
}
void digital_4(void) //显示数字4 {
digitalWrite(c,HIGH); digitalWrite(b,HIGH);
digitalWrite(g,HIGH); digitalWrite(dp,LOW); digitalWrite(a,LOW); digitalWrite(e,LOW); digitalWrite(d,LOW);
}
void digital_5(void) //显示数字5 {
unsigned char j;
for(j=7;j<=9;j++) digitalWrite(j,HIGH); digitalWrite(c,HIGH); digitalWrite(d,HIGH); digitalWrite(dp,LOW); digitalWrite(b,LOW); digitalWrite(e,LOW);
}
void digital_6(void) //显示数字6 {
unsigned char j;
for(j=7;j<=11;j++)
digitalWrite(c,HIGH); digitalWrite(dp,LOW); digitalWrite(b,LOW);
}
void digital_7(void) //显示数字7 {
unsigned char j;
for(j=5;j<=7;j++) digitalWrite(j,HIGH); digitalWrite(dp,LOW);
for(j=8;j<=11;j++) digitalWrite(j,LOW);
}
void digital_8(void) //显示数字8 {
unsigned char j;
for(j=5;j<=11;j++) digitalWrite(j,HIGH); digitalWrite(dp,LOW);
}
void setup()
{
int i;//定义变量
for(i=4;i<=11;i++)
pinMode(i,OUTPUT);//设置4~11 引脚为输出模式}
void loop()
{
while(1)
{
digital_1();//显示数字1
delay(2000);//延时2s
digital_2();//显示数字2
delay(1000); //延时1s
digital_3();//显示数字3
delay(1000); //延时1s
digital_4();//显示数字4
delay(1000); //延时1s
digital_5();//显示数字5
delay(1000); //延时1s
digital_6();//显示数字6
delay(1000); //延时1s
digital_7();//显示数字7
delay(1000); //延时1s
digital_8();//显示数字8
delay(1000); //延时1s
}
}
在setup()前面定义了一系列的数字显示子程序,这些子程序的定义可以方便在
loop()中使用,使用时只需将子程序的名写上即可。

相关文档
最新文档