首先我们说说LED数码管的显示原理。

LED数码管是常见的显示器件。LED数码管为“8”字形的,其计8段(包括小数点段在内)或7段(不包括小数点段),每一段对应一个发光二极管,有共阳极和共阴极两种,如图所示。共阳极LED数码管的阳极连接在一起,公共阳极接到+5 V上;共阴极LED数码管的阴极连接在一起,通常此公共阴极接地。

对于共阴极LED数码管来说,当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。 同样,共阳极 LED数码管的阳极连接在一 起,公共阳极接+5 V,当某个发光二极管的阴极接低电平时,该发光二极管被点亮、相应的段被显示。

PS:数码管共阴共阳级的区别

①单元连接方式不同

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

②工作原理不同

共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。

共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。

③数码管公共极的连接不同

共阳数码管在应用时应将公共极COM接到+5V,共阴数码管在应用时应将公共极COM接到地线GND上。

扩展资料

共阴极数码管的注意事项

①共阴极数码管表面不要用手触摸,不要用手去弄引脚。

②焊接温度:260度;焊接时间:5S。

③面有保护膜的产品,可以在使用前撕下来。

共阴极数码管的应用

共阴极数码管是一类数字形式的显示屏,通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字能够显示 时间、日期、温度等所有可用数字表示的参数。由于它的价格便宜、使用简单、在电器,特别是家电领域应用极为广泛,空调、热水器、冰箱等等。

为了使LED数码管显示不同的字符,要把某些段点亮,就要为LED数码管的各段提供一个字 节的二进制代码,即段码。 习惯上以“a” 段对应段码字节的最低位。各种字符的段码如表所示。

如要在LED数码管上显示某一字符,只需将该字符的段码加到各段上可。

例如某存储单元中的数为“02H",想在共阳极LED数码管上显示“2”,需要“2”的段码“A4H"加到数码管各段上。通常采用的方法是将欲显示的字符的码作成一个表(数组),根据显示的字符从表中查找到相应的段码,然后单片把该段码输出到LED数码管的各个段上,同时LED数码管的公共端接+5 V,上时在LED数码管上显示出字符“2”。

下面通过一个实例来说说单片机是如何控制LED数码管显示字符。

【例】

用单片机控制一个8段LED数码管,先循环显示单个偶数:0、2、4、6、8,再显示单个奇数:1、3、5、7、9,如此反复循环显示。

本例电路原理图及仿真结果如下:

参考程序如下:

#include"reg51.h"
#include"intrins.h"
#define uchar unsigned char
#define uint unsigned int
#define out P0
uchar code seg[]={0xc0,0xa4,0x99,0x82,0x80,0xf9,0xb0,0x92,0xf8,0x90,0x01};//共阳极段码表
void delayms(uint);
void main(void)
{uchar i;while(1){out=seg[i];delayms(900);i++;if(seg[i]==0x01)i=0;//如果段码为0x01,表明一个循环显示结束}
}
void delayms(uint j)//延时函数
{uchar i;for(;j>0;j--){i=250;while(--i);i=249;while(--i);}
}

说明:

程序中语句“if(seg[ i]==0x01)i=0;”的含义是:如果欲送出的数组元素为0x01(数字“9”段码0x90的下一个元素,即结束码), 表明一个循环的显示已结束,则重新开始循环显示,因此应使“i=0”,从段码数组表的第一个元素seg[0],即数字“0”的段码0xc0重新开始显示。

仿真结果:

单片机控制LED数码管的显示相关推荐

  1. 基于单片机的LED数码管循环移位显示

    单片机系统基础实验--LED数码管循环移位显示 第一部分 前言 第二部分 数码管的原理构成 LED数码管的结构 LED数码管的工作原理 LED数码管的字形编码 LED数码管的控制方式 第三部分 设计项 ...

  2. 51单片机控制动态数码管的显示

    动态数码管的显示 学会设计静态数码管的显示后,我们可以在各个静态数码管显示之间加入延时函数,写进while(1)循环内,这样就能实现动态数码管的显示.根据以前的内容,我们先生成延时函数,然后写一个简单 ...

  3. avr单片机led数码管六位动态显示时分秒c语言程序,AVR单片机控制8段LED数码管同时显示 - AVR单片机8位数码管显示的程序实现(两种方法介绍)...

    AVR单片机控制8段LED数码管同时显示 这是一个简单的供单片机入门学习者练习用的8段LED数码管控制汇编程序,控制一个两位的数码管同时显示字符(动态刷新).用AVR- Studio-4 开发,在AV ...

  4. 单片机按键控制数码管c语言程序,基于单片机的按键控制LED数码管共阴极动态显示电路设计报告(毕业论文).doc...

    基于单片机的按键控制LED数码管共阴极动态显示电路设计报告(毕业论文) 物理与电子工程学院2014级课程设计 PAGE IV 物理与电子工程学院 <单片机原理与接口技术> 课程设计报告书 ...

  5. 51单片机红外通信及控制LED灯(LCD1602显示)

    51单片机红外通信及控制LED灯(LCD1602显示) 大家好,又和大家见面了,离上一次DS18B20传感器的文章已经过去了一个星期了,这期我将给大家带来,基于STC89C52芯片和HS0038红外接 ...

  6. 单片机控制LED点阵滚动显示:I LOVE YOU

    题目要求: 控制LED点阵依次滚动显示出I LOVE YOU,并且滚动速度可控. 仿真电路: 仿真效果: C语言程序代码: # include <at89x51.h> # define u ...

  7. 单片机学习笔记-数码管的显示

    单片机学习笔记-数码管的显示 数码管的显示 1.首先我们来看一下开发板的原理图 由管脚分配可知,数码管的末端(也就是LED端),是由74138译码器来控制的. 2.下面是数码管显示的函数 这里我们使用 ...

  8. 51单片机控制系统的人机交互接口设计【51单片机与LED数码管的动态显示接口案例分析】

    本章节利用Keil uVision5和ISIS 7 Professional两个软件来进行仿真实验. [例]运用51单片机实现8位8段数码管的动态显示,LED数码管的段选数据由51单片机的P0口控制, ...

  9. c语言程序小灯从右向左闪烁,单片机控制LED灯点亮(C语言).PPT

    <单片机控制LED灯点亮(C语言).PPT>由会员分享,可在线阅读,更多相关<单片机控制LED灯点亮(C语言).PPT(45页珍藏版)>请在人人文库网上搜索. 1.1,单片机控 ...

最新文章

  1. mysql.data.dll win10_关于Linux和Windows下部署mysql.data.dll的注册问题》
  2. JVM结构、GC工作机制详解
  3. Http访问代理使用
  4. LLYFSpy W.I.P
  5. 极虎病毒创造四个“之最”
  6. USACO-Section1.3 Dual Palindromes (进制转换和回文数)
  7. matlab主程序和子函数不在一个文件夹下,怎么调用?
  8. MySQL基础篇(2)
  9. Spring揭秘 — IoC
  10. Reed-Solomon Codes——RS纠错码
  11. 什么是数据分析,主要有什么目的,数据分析的处理流程是什么?
  12. (附源码)springboot社区疫苗接种管理系统 毕业设计 281442
  13. 简单记录fortran入门过程
  14. unique()用法
  15. excel自动排班表_Excel数据分析-如何制作自动更新的数据透视表
  16. 微信DAT文件解码 免费 无限制 微信dat文件取证工具
  17. VR全景拍摄,助力民宿多元化宣传
  18. 分析软件——ADS-B和雷达覆盖分析软件
  19. android去除root,RE管理器root权限彻底清除教程[图]
  20. GeoServer搭建私有地图服务,Cesium引擎加载。

热门文章

  1. 【黑盒测试用例设计方法4】因果图法及其示例
  2. Redis-01-Nosql概述
  3. AWS eks 用户授权
  4. 中国首个软件城市竞争力排行榜出炉 大连名次靠前
  5. 机器学习 -- 线性回归(Linear Regression)原理及算法实现
  6. RPG Maker XP
  7. 【尼科彻斯定理】-C语言-题解
  8. AVL树(艾薇儿树)
  9. Python “七段数码管绘制”
  10. JS设计模式—部分总结