七段数码管显示原理研究在前一篇博客中已经阐述过,就是利用7个数码管构建一个“8”字形,然后利用数字的形状特点,依次点亮某一些段,就可以显示数字了。

    七段数码管显示数字还是二极管发光原理的利用。

    这里依旧采用proteus构建硬件工程,单片机类型选择8051,编译器类型选择Keil for 8051,这样构建的工程,自带源代码,可以直接编写代码,编译,构建,最后进行仿真。

    电路设计图如下:

    程序代码如下:

#include <reg51.h>
#include <stdio.h>
unsigned char led[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay()
{
  unsigned int i,j;
  for(i=1000;i>0;i--)
  {
    for(j=110;j>0;j--);
  }
}
void main(void)
 { 
   unsigned int i;
   for(i=0;i<10;i++)
   {
      P2 = led[i];
      delay();
   }
 }

    仿真效果如下:

    可以看到,数码管公共一级接地,表示共阴数码管。如果是共阳数码管,那么点亮数码管的代码在对引脚赋值的时候就要取反,表示输出相反电平点亮。 

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐