共阴/共阳数码管 ----- 学习笔记
一、数码管的动态显示原理
动态显示的特点是将所有数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示,所谓动态扫描显示即轮流向各位数码管送出字形码和相应的选位,利用发光管的余晖和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示的要差一些,所以在选择限电阻时应略小于静态显示电路中的。
1..1、数码管的共阴与共阳
数码管数字显示/数码管编号 |
dp |
g |
f |
e |
d |
c |
b |
a |
0 |
灭 |
灭 |
亮 |
亮 |
亮 |
亮 |
亮 |
亮 |
1 |
灭 |
灭 |
灭 |
灭 |
灭 |
亮 |
亮 |
灭 |
2 |
灭 |
亮 |
灭 |
亮 |
亮 |
灭 |
亮 |
亮 |
3 |
灭 |
亮 |
灭 |
灭 |
亮 |
亮 |
亮 |
亮 |
4 |
灭 |
亮 |
亮 |
灭 |
灭 |
亮 |
亮 |
灭 |
5 |
灭 |
亮 |
亮 |
灭 |
亮 |
亮 |
灭 |
亮 |
6 |
灭 |
亮 |
亮 |
亮 |
亮 |
亮 |
灭 |
亮 |
7 |
灭 |
灭 |
灭 |
灭 |
灭 |
亮 |
亮 |
亮 |
8 |
灭 |
亮 |
亮 |
亮 |
亮 |
亮 |
亮 |
亮 |
9 |
灭 |
亮 |
亮 |
灭 |
亮 |
亮 |
亮 |
亮 |
共阴极数码管 |
取反为共阳极数码管 |
|||
数字显示 |
二进制 |
十六进制 |
二进制 |
十六进制 |
0 |
00111111 |
0x3F |
11000000 |
0xC0 |
1 |
00000110 |
0x06 |
11111001 |
0xF9 |
2 |
01011011 |
0x5B |
10100100 |
0xA4 |
3 |
01001111 |
0x4F |
10110000 |
0xB0 |
4 |
01100110 |
0x66 |
10011001 |
0x99 |
5 |
01101101 |
0x6C |
10010010 |
0x92 |
6 |
01111101 |
0x9B |
10000010 |
0x82 |
7 |
00000111 |
0x07 |
11111000 |
0xF8 |
8 |
01111111 |
0x7F |
10000000 |
0x80 |
9 |
01101111 |
0x6F |
10010000 |
0x90 |
a b c d e f
共阴 a~f: 0x77 0x7c 0x39 0x5e 0x79 0x71
共阳 a~f: 0x88 0x83 0xa7 0xa1 0x86 0x8e
二、双P沟道增强型MOS---D74HC245芯片
特点:D74HC245是一种三态输出、八路信号收发器,主要应用于大屏显示,以及其他的消费类电子产品中增强驱动。
2.1、主要特性
- 采用CMOS工艺
- 宽电压工作范围:3.0V ---- 5V
- 双向三态输出
- 八线双向收发器
- 封装形式:SOP20、SOP20-2、TSSOP20、DIP20,
通透:输入是高电平,输出也是高电平;输入是低电平,输出也为低电平;
双向三态
双向:可以输出,也可以输出
三态:
- P0口高阻态输出
- 管脚可以输出高电平,也可以输出低电平
2.2、应用领域
适用于显示器以及其他数字电路的驱动。
2.3、管脚的定义说明
符号 |
管脚名称 |
管脚号 |
说明 |
A0 --- A7 |
数据输入/输出 |
2 ---- 9 |
|
B0 ---- B7 |
数据输入/输出 |
18 ----11 |
|
—— OE |
输出使能 |
19 |
|
DIR |
方向控制 |
1 |
DIR=1,A—— B, B —— A |
GND |
逻辑地 |
20 |
逻辑地 |
VDD |
逻辑电源 |
10 |
电源端 |
三、功能真值表
输出使能 |
输出控制 |
工作状态 |
—— OE (低电平有效) |
DIR |
|
L |
L |
Bn输入,An输出 |
L |
H |
An输入,Bn输出 |
H |
X(输出方向DIR为任意值) |
高阻态 |
四、译码器----D74HC138
是一种三通道输入,八通道输出译码器,主要应用于消费电子产品。
- 采用COMS工艺
- 低功耗
- 工作电压3.0V ----5.0V
- 封装形式:SOP16
4.1、应用领域
适用于数字电路中的 3—8 译码功能
4.2、管脚说明
4.3、封装形式
SOP16
代码
5.1、16进制
十六进制(简写为hex或下标16)在数学中是一种逢16进1的进位制。一般用数字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15,这些称作十六进制数字。
0x后面跟随的十六进制计数,十六进制计数用a~f表示该位上取百值10~15
0x3f
十六进制个位基数是1,高位=低位*16,那么度3对应的位基数专是16*1=16,f对应的基数是1,中包含3个16和15个1,加起来等于63。
0xfc表示对应基数是16这位上取值15,对属应基数是1的位上取值12,即15个16加12个1这个十进制数
5.2、ASCII码
5.3、静态数码管代码
#include "reg52.h"#include "intrins.h"typedef unsigned char u8;typedef unsigned int u16;u8 code smgduan[16] = {0X3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //void main(){P0=~smgduan[0];while(1){}}
5.4、动态数码管代码
#include <reg52.h>
#include<intrins.h>
typedef unsigned char u8; // 预处理数据类型
typedef unsigned int u16; // 预处理数据类型// 138译码器管脚定义
sbit LSA = P2^2;
sbit LSB = P2^3;
sbit LSC = P2^4;// 延迟函数
void delay(u16 i){while(i--);
}// 数组
/**********************************
数码管显示真值表 共阳0 1 2 3 4 5
0xc0 0xf9 0xa4 0xb0 0x99 0x92 6 7 8 9 a b
0x82 0xf8 0x80 0x90 0x88 0x83c d e f
0xa7 0xa1 0x86 0x8e
*************************************
数码管显示数字的真值表*/
u8 code smgduan[16]={0X3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //共阴void DigDisplay(){u8 i; //for(i=0;i<8;i++){switch(i){case(0):LSA = 0;LSB=0;LSC=0;break;case(1):LSA = 1;LSB=0;LSC=0;break;case(2):LSA = 0;LSB=1;LSC=0;break;case(3):LSA = 1;LSB=1;LSC=0;break;case(4):LSA = 0;LSB=0;LSC=1;break;case(5):LSA = 1;LSB=0;LSC=1;break;case(6):LSA = 0;LSB=1;LSC=1;break;case(7):LSA = 1;LSB=1;LSC=1;break;}P0 = smgduan[i];delay(100);//P0= 0X00;}}void main(){P0=~smgduan[0];while(1){DigDisplay();}
}
六、报错
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?DIGDISPLAY?MAIN
未调用已定义的函数
共阴/共阳数码管 ----- 学习笔记相关推荐
- LED 数码管共阴共阳的区别+静态/动态显示
51单片机--数码管动态显示 1.共阴共阳定义 LED 共阴极指的是LED共同的接点是GND(接地),而共阳极指的是LED共同的接点是电源.LED亮灯的条件是两端有电势差. 最后一段h/dp小数点在高 ...
- 七段显示器 0.28 0.36 0.39 0.4 0.56 0.8英寸 1/2/3/4位 共阴共阳 数码管
七段显示器 0.28 0.36 0.39 0.4 0.56 0.8英寸 1/2/3/4位 共阴共阳 数码管 0.28英寸 2位数码管 0.28英寸 3位数码管 0.28英寸 4位数码管 0.32英寸 ...
- 两位数码管30秒倒计时c语言,基于51单片机共阴两位数码管显示倒计时
<基于51单片机共阴两位数码管显示倒计时>由会员分享,可在线阅读,更多相关<基于51单片机共阴两位数码管显示倒计时(2页珍藏版)>请在人人文库网上搜索. 1.基于51单片机共阴 ...
- c语言8 8点阵,共阴共阳的疑问解答以及8*8LED点阵基础知识讲解
描述 最近需要用点阵做个小实验,就去买了几块,当时店家问我一句"你要共阳的还是共阴的".当时我就犯嘀咕啦,这也分共阴和共阳?共阳的转90度不就和共阴的一样啦,共阴的转90度不就和共 ...
- 共阴共阳数码管(及74HC595控制)
一.共阳数码管 共阳数码管段表 0xc0,/*0*/ 0xF9,/*1*/ 0xA4, ...
- C语言数码管是共阴共阳程序,成功C DIY 单片机(2)51单片机直接驱动共阴极数码管...
C DIY :completely Do It Yourself, 完全地自己动手做 (原创:守口如平) 单片机驱动Led数码管(或n个Led)应该算是单片机经典试验之一了. 数码管种类: 少量的数码 ...
- C语言数码管是共阴共阳程序,单片机程序怎么把共阴数码管程序改成共阳的
#include #define uchar unsigned char #define uint unsigned int //数码管位端口定义 sbit w1=P2^0; sbit w2=P2^1 ...
- 数码管 C语言 共阴共阳编码表
1.共阳: char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0x ...
- 51单片机c语言共阳断码表,单片机的共阴共阳8段码的原理及显示代码
描述 共阴极数码管 1.共阴极数码管的结构 共阴极数码管是把所有led的阴极连接到共同接点com,而每个led的阳极分别为a.b.c.d.e.f.g及dp(小数点),如下图所示.图中的8个led分别与 ...
最新文章
- CUDA Pro:通过向量化内存访问提高性能
- QT学习第8课:QT计算器界面实现
- 深入理解JavaScript系列(2):揭秘命名函数表达式(转)
- shared_ptr循环引用定置删除器
- 阿里专家分享:企业级大数据轻量云实践
- 转载------------java equals 方法
- python selenium 弹出框定位_selenium弹框元素定位-冻结界面
- python实现登录抓取_[Python]网络爬虫(五):利用POST方式登录账号抓取
- 电机驱动模块--L298N
- 2017年苹果开发者账号申请——账号VISA卡支付流程
- python-pygame实现飞机大战-2-添加敌机以及碰撞爆炸
- 【转】Power System 中基于 VIOS 的虚拟以太网实现
- eclipse保存后不会自动编译
- pmp各种比较容易混淆的图
- Windows 检测PPT WPS 幻灯片播放并获取窗口句柄
- 百度AI攻略:手写文字识别
- 设计一款给爸爸妈妈用的手机
- 一个复杂页面该如何布局设计
- 做程序界中的死神,提升灵力上限
- Android StepsView 步骤控件
热门文章
- ERP产品大比拼!资深财务总监比较SAP、用友和Odoo的差异分析
- hp计算机指纹功能用法,【惠普 EliteBook 735G5 13.3英寸笔记本电脑使用总结】雾面屏|键盘|运行|接口|指纹识别_摘要频道_什么值得买...
- 5G广告行业的22个预测
- Unity--简单Buff系统
- java sublist 用法_Java ArrayList subList() 使用方法及示例
- 大专男学计算机还是护理好,男生大专学什么
- Shopee店铺如何快速提升转化率?
- Docker Swarm(创建swarm集群,节点的升级降级,滚动更新,Portainer)
- html中百分比是怎样计算的,css 中的百分比计算方法
- Mac 请尝试使用字符较少,或不含标点符号的名称解决方法