数码管

简介: 数码管

1.静态数码管


A.数码管原理图:



B.在这里控制的是LED小灯的亮灭以及状态

C.P0口控制数码管里面的小灯管,让其显示相关的数字


#include <REGX52.H>
//数码管段码表
unsigned char NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
//数码管显示子函数
void Nixie(unsigned char Location,Number)
{
  switch(Location)    //位码输出
  {
    case 1:P2_4=1;P2_3=1;P2_2=1;break;
    case 2:P2_4=1;P2_3=1;P2_2=0;break;
    case 3:P2_4=1;P2_3=0;P2_2=1;break;
    case 4:P2_4=1;P2_3=0;P2_2=0;break;
    case 5:P2_4=0;P2_3=1;P2_2=1;break;
    case 6:P2_4=0;P2_3=1;P2_2=0;break;
    case 7:P2_4=0;P2_3=0;P2_2=1;break;
    case 8:P2_4=0;P2_3=0;P2_2=0;break;
  }
  P0=NixieTable[Number];  //段码输出
}
void main()
{
  Nixie(2,3); //在数码管的第2位置显示3
  while(1)
  {
  }
}

2.动态数码管

相比前面加入了一个延时函数

#include <REGX52.H>
//数码管段码表
unsigned char NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
//延时子函数
void Delay(unsigned int xms)
{
  unsigned char i, j;
  while(xms--)
  {
    i = 2;
    j = 239;
    do
    {
      while (--j);
    } while (--i);
  }
}
//数码管显示子函数
void Nixie(unsigned char Location,Number)
{
  switch(Location)    //位码输出
  {
    case 1:P2_4=1;P2_3=1;P2_2=1;break;
    case 2:P2_4=1;P2_3=1;P2_2=0;break;
    case 3:P2_4=1;P2_3=0;P2_2=1;break;
    case 4:P2_4=1;P2_3=0;P2_2=0;break;
    case 5:P2_4=0;P2_3=1;P2_2=1;break;
    case 6:P2_4=0;P2_3=1;P2_2=0;break;
    case 7:P2_4=0;P2_3=0;P2_2=1;break;
    case 8:P2_4=0;P2_3=0;P2_2=0;break;
  }
  P0=NixieTable[Number];  //段码输出
  Delay(1);       //显示一段时间
  P0=0x00;        //段码清0,消影
}
void main()
{
  while(1)
  {
    Nixie(1,1);   //在数码管的第1位置显示1
//    Delay(20);
    Nixie(2,2);   //在数码管的第2位置显示2
//    Delay(20);
    Nixie(3,3);   //在数码管的第3位置显示3
//    Delay(20);
  }
}
相关文章
|
2月前
【51单片机】开发板上矩阵键盘键码在数码管上的显示,按下键盘在数码管上显示对应段码
【51单片机】开发板上矩阵键盘键码在数码管上的显示,按下键盘在数码管上显示对应段码
|
5月前
5-1 51单片机数码管
5-1 51单片机数码管
21 1
【单片机】数码管矩阵显示
【单片机】数码管矩阵显示
84 0
|
Python
蜂鸣器
无人机蜂鸣器是一种用于产生声音信号的装置,通常被安装在无人机的机身上。以下是无人机蜂鸣器的一些作用:
265 0
【51单片机】数码管显示
【51单片机】数码管显示
101 0
【STC15单片机】按键&静态数码管显示0~9
【STC15单片机】按键&静态数码管显示0~9
386 0
【STC15单片机】动态数码管
【STC15单片机】动态数码管
127 0
|
芯片
51单片机数码管显示
51单片机数码管显示
347 0