原创 【博客大赛】数码管显示

2012-10-26 15:05 952 7 7 分类: MCU/ 嵌入式

   数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的

                    

1.jpg

 

 

   字样了。如:显示一个“2”字,那么应当是a亮b亮g亮e亮d亮f不亮c不亮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。

    现在利用本开发板实现数码管的变化数字显示。

/***********************************************************
实验名称:数码管显示变化数字
实验平台:盈科开发箱
***********************************************************/
#include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义

unsigned char code table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
 // 显示数值表0-9

void Delay(unsigned int t); //函数声明
/*------------------------------------------------
                    主函数
------------------------------------------------*/
void main (void)
{
                 
 unsigned char i;  //定义一个无符号字符型局部变量 i 取值范围 0~255
 P1 = 0x01;
 while (1)         //主循环
 {
  for(i=0;i<10;i++)   //加入 for循环,表明for循环大括号中的程序循环执行10次
   {
   P0=table; //循环调用表中的数值
   Delay(130);      //延时,方便观看数字变化
   }
 
                      //主循环中添加其他需要一直工作的程序
 }
}/*------------------------------------------------
 延时函数,含有输入参数 unsigned int t,无返回值
 unsigned int 是定义无符号整形变量,其值的范围是
 0~65535
------------------------------------------------*/
void Delay(unsigned int t)
{
  while(--t);
}

 

 

 

 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
7
关闭 站长推荐上一条 /3 下一条