视频讲解
简介
led数码管(LED Segment Displays)由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的字样了。
LED数码管有一般亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。小尺寸数码管的显示笔画常用一个发光二极管组成,而大尺寸的数码管由二个或多个发光二极管组成,一般情况下,单个发光二极管的管压降为1.8V左右,电流不超过30mA。发光二极管的阳极连接到一起连接到电源正极的称为共阳数码管,发光二极管的阴极连接到一起连接到电源负极的称为共阴数码管。常用LED数码管显示的数字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。
软件流程图
程序分析
smgduan.c
/**********************************
作者:特纳斯电子
网站:https://www.mcude.com
联系方式:46580829(QQ)
淘宝店铺:特纳斯电子
**********************************/
/**********************************
包含头文件
**********************************/
#include "smgduan.h"
/**********************************
变量定义
**********************************/
uchar code smgduan[18]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};//显示0~F的值
/*******************************************************************************
* 函 数 名 : DigDisplay
* 函数功能 : 数码管动态扫描函数,循环扫描8个数码管显示
*******************************************************************************/
void DigDisplay(uchar wei ,uchar dis_num)
{
switch(wei) //位选,选择点亮的数码管,
{
case(0):
LSA=0;LSB=1;LSC=1; break;//显示第0位
case(1):
LSA=1;LSB=0;LSC=1; break;//显示第1位
case(2):
LSA=1;LSB=1;LSC=0; break;//显示第2位
}
P0=~smgduan[dis_num]; //发送段码
Delay_function(1); //间隔一段时间扫描
P0=0xff; //消隐
}
smgduan.h
/**********************************
作者:特纳斯电子
网站:https://www.mcude.com
联系方式:46580829(QQ)
淘宝店铺:特纳斯电子
**********************************/
#ifndef _SMGDUAN_H_
#define _SMGDUAN_H_
/**********************************
包含头文件
**********************************/
#include "main.h"
/**********************************
PIN口定义
**********************************/
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
/**********************************
函数声明
**********************************/
void DigDisplay(uchar wei ,uchar dis_num);
#endif