数码管扫描显示-单片机通用模板

数码管扫描显示-单片机通用模板

  • 一、数码管扫描的原理
  • 二、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的亮灭透过模具贴纸从而控制数字和图案的亮灭;

数码管扫描显示-单片机通用模板_第1张图片

二、display.c的实现

1、void Display(void) 各模式界面定义数据

u8 CxSegData[]={
   0,0,0,0};	//显示Ram缓存区
//=============================================================================
//函数名称:Display
//输	入:无
//输	出:无
//功	能:界面菜单显示
//=============================================================================
void	Display(void)
{
   	
	if(b_Display_Flag== 0) return;		//更新显示
	b_Display_Flag=0;					//显示标志清0
	
	switch(Mode)
	{
   
		case 0:					//全灭显示界面
			CxSegData[0]=0x00;
			CxSegData[1]=0x00;
			CxSegData[2]=0x00;
			CxSegData[3]=0x00;
			b_Fresh_Flag=1;		//刷新显示Ram
			break;
		case 1:					//全显显示界面
			CxSegData[0]=0xff;
			CxSegData[1]=0xff;
			CxSegData[2]=0xff;
			CxSegData[3]=0xff;	
			b_Fresh_Flag=1;		//刷新显示Ram
			break;
		case 2:					//自定义界面显示1
			CxSegData[3]=Unb_Red;
			CxSegData[3]=Unb_Inf;
			CxSegData[3]=Unb_Twi;	//不显示某一个点
			b_Fresh_Flag=1;		//刷新显示Ram
			break;

		case 3:				  //自定义界面显示2
			CxSegData[3]=b_Red;
			CxSegData[3]=b_Inf;
			CxSegData[3]=b_Twi;	//显示某一个点
			b_Fresh_Flag=1;		//刷新显示Ram
			break;
		
		case 4:				 //自定义界面显示2
			LcdDisplay_8bit(LzLcdNum1,LedNumCoding[

你可能感兴趣的:(实战~单片机通用功能模板,单片机,程序人生,学习方法)