IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 单片机控制LED数码管的显示 -> 正文阅读

[嵌入式]单片机控制LED数码管的显示

首先我们说说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重新开始显示。

仿真结果:

?

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-10-08 20:58:04  更:2022-10-08 21:01:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 18:34:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码