数码管扫描显示-单片机通用模板
一、数码管扫描的原理
二、display.c的实现
1、void Display(void) 各模式界面定义数据
2、void BackupRamToDisRam(void)从缓存区刷新显示映射Ram
3、void FreshDisplay(void) 映射显示Ram到主控的IO口
4、void LcdDisplay_8bit(void) 映射显示Ram到主控的IO口
三、display.h的外部接口
四、显示功能的使用、Note
一、数码管扫描的原理
①人的眼睛中的画面在0.02S(50Hz)左右,光源的闪烁频率高于50-60赫兹时,人眼通常无法察觉到光的闪烁;
②通过控制LED的亮灭透过模具贴纸从而控制数字和图案的亮灭;
二、display.c的实现
1、void Display(void) 各模式界面定义数据
u8 CxSegData[ ] = {
0 , 0 , 0 , 0 } ;
void Display ( void )
{
if ( b_Display_Flag== 0 ) return ;
b_Display_Flag= 0 ;
switch ( Mode)
{
case 0 :
CxSegData[ 0 ] = 0x00 ;
CxSegData[ 1 ] = 0x00 ;
CxSegData[ 2 ] = 0x00 ;
CxSegData[ 3 ] = 0x00 ;
b_Fresh_Flag= 1 ;
break ;
case 1 :
CxSegData[ 0 ] = 0xff ;
CxSegData[ 1 ] = 0xff ;
CxSegData[ 2 ] = 0xff ;
CxSegData[ 3 ] = 0xff ;
b_Fresh_Flag= 1 ;
break ;
case 2 :
CxSegData[ 3 ] = Unb_Red;
CxSegData[ 3 ] = Unb_Inf;
CxSegData[ 3 ] = Unb_Twi;
b_Fresh_Flag= 1 ;
break ;
case 3 :
CxSegData[ 3 ] = b_Red;
CxSegData[ 3 ] = b_Inf;
CxSegData[ 3 ] = b_Twi;
b_Fresh_Flag= 1 ;
break ;
case 4 :
LcdDisplay_8bit ( LzLcdNum1, LedNumCoding[