10 51 静态数码管

静态数码管工作原理

1.数码管是如何显示出字符

2.数码管静态显示原理

3.74HC573芯片的使用

显示器及其接口

单片机系统中常用的显示器有:

     发光二极管LED(Light Emitting Diode)显示器、液晶LCD(Liquid Crystal Display)显示器、TFT液晶显示器等。LED显示器有两种显示结构:段显示(7段、米字型等)和点阵显示(5×8、8×8点阵等)。

     LED数码管根据LED的不同接法可以分为2类:共阴和共阳。

使用LED显示器时,要注意区分这两种不同的接法。为了显示数字或字符,必须对数字或字符进行编码。七段数码管加上一个小数点,共计8段。因此为LED显示器提供的编码正好是一个字节。我们实验板用共阴LED显示器,根据电路连接图显示16进制数的编码已列在下表。

共阴数码管码表

0x3f  , 0x06 , 0x5b , 0x4f , 0x66 , 0x6d

   0    1        2    3        4         5

 0x7d , 0x07 , 0x7f  , 0x6f , 0x77 , 0x7c

   6    7        8    9        A        B

 0x39 , 0x5e , 0x79 , 0x71 , 0x00

   C        D        E         F       无显示

静态显示原理

LED显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。

单片机P0口输出低电平,点亮LED

/**************************************************************************************
*		              静态数码管显示实验												  *
实现现象:下载程序后数码管静态显示0。
注意事项:如果不想让点阵模块显示,可以将74HC595模块上的JP595短接片拔掉。																				  
***************************************************************************************/

#include "reg52.h"			 //此文件中定义了单片机的一些特殊功能寄存器

typedef unsigned int u16;	  //对数据类型进行声明定义
typedef unsigned char u8;

//共阴数码管表
u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
					0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//显示0~F的值

//共阳数码管表		    
u8 code smgduan1[17]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
					0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//显示0~F的值

void delay(u16 i)
{
	while(i--);	
}

/*******************************************************************************
* 函 数 名       : main
* 函数功能		 : 主函数
* 输    入       : 无
* 输    出    	 : 无
*******************************************************************************/
void main()
{	


//	P0=~smgduan[1];   //取反输出共阳极段码
	
	//从1显示到F
	while(1)
	{
	   int i;
	   for (i = 0; i < 17; i++)
	  {
	  	P0=smgduan1[i];
		delay(50000); 
	   }
	}  
}
发布了139 篇原创文章 · 获赞 38 · 访问量 18万+

猜你喜欢

转载自blog.csdn.net/tjjingpan/article/details/90546581