⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 led.c

📁 凌阳61单片机做的酒精控制器源码 凌阳61单片机做的酒精控制器源码 凌阳61单片机做的酒精控制器源码 凌阳61单片机做的酒精控制器源码
💻 C
字号:
#include"SPCE061A.H"
#include"Led.h"

/***********************************************************************
*显示的数字对应在实际IO口上的映像 
************************************************************************/
static unsigned int unLedDispBuffer[LED_DISP_SCALE];

/***********************************************************************
*Led数字对应在实际IO口上的映像,代码移植时需要根据实际的情况,设置。 
************************************************************************/ 
static unsigned int unNumMap[10] = {
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f
};

/***********************************************************************
*Led数码管选通端对应在实际IO口上的映像,代码移植时需要根据实际的情况,设置。
*对需要选通的数码管对应IO脚置1 ,其它置0 
************************************************************************/ 
static unsigned int unLedCsMap[LED_DISP_SCALE] = {
0x0010,0x0020,0x0040,0x0080
}; 

/***********************************************************************
*Led的IO端口初始化 
************************************************************************/

static void vLedInit(void){
	unsigned int temp;
	temp 			= 	LED_IO_DIR & ~LED_IO_REG_MASK;
	temp			|= 	LED_IO_DIR_INITIAL_VALUE;
	LED_IO_DIR		=	temp;
	temp 			= 	LED_IO_ATTRIB & ~LED_IO_REG_MASK;
	temp			|= 	LED_IO_ATTRIB_INITIAL_VALUE;
	LED_IO_ATTRIB	=	temp;
	temp 			= 	LED_IO_DATA & ~LED_IO_REG_MASK;
	temp			|= 	LED_IO_DATA_INITIAL_VALUE;
	LED_IO_DATA		=	temp;
}


/**********************************************************************
*设置显示的数据。
*把十进制的数据,转化为实际IO对应的映像值 
***********************************************************************/
void vSetLedDispNum(unsigned int unNum){
	unsigned int temp1,temp2;
	unsigned char i;
	temp1 =	 unNum;
	temp2 =  unNum;
	for(i = 0; i < LED_DISP_SCALE; i++ ){
		temp1 =	 temp2;
		temp1 %= 10;		
		temp2 /= 10;
		temp1 =	 unNumMap[temp1];	
		temp1 &= ~unLedCsMap[LED_DISP_SCALE];
		unLedDispBuffer[LED_DISP_SCALE] = temp1;
	}
}

/**********************************************************************
*在Led上显示数据,实际是把转换好的IO映像数据,直接映射到IO上 
***********************************************************************/
void vLedDispNum(void){
	unsigned char i;
	vLedInit();
	for(i = 0; i < LED_DISP_SCALE; i++ ){
		LED_IO_DATA |= unLedDispBuffer[LED_DISP_SCALE];
	}
}




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -