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

📄 smg_buffwrite.c

📁 EasyStudy51-II单片机开发系统的库函数源代码.包含了EasyStudy51-II硬件的全部驱动.
💻 C
字号:


#include "AT89X52.h"
#include "ES51_II.h"
#include "ES51_II_LIB.h"



//	数码管显示缓冲区;可直接操作此缓冲区控制数码管显示
extern unsigned char SMG_BUFF[4];
//	不带小数点
extern unsigned char code SMG_TABLE[16];
//	带小数点
extern unsigned char code SMG_TABLE_DP[16];



//	写数码管显示缓冲区,ASCII码,只允许写0~9;
//	index:	修改缓冲区的起始地址,范围1~4;
//	length:	修改的长度,范围1~4,根据索引值不同,取值范围不同;
//	dp:		显示是否带小数点,0:不带小数点显示;1:带小数点显示;
//	*dat:	为数据的首地址;
void SMGBuffWrite(unsigned char index,unsigned char length,bit dp,unsigned char *dat)
{
	unsigned char *psmgbuff;
	if( (index+length) < 6 )		//	判断是否会导致显示缓冲区溢出
		{							//	若不会导致显示缓冲区溢出,写缓冲区;否则,放弃
		psmgbuff = &SMG_BUFF[0]+(index-1);
		for( ; length>0; length--,psmgbuff++,dat++)
			{
			if( dp == 0 )			//	不带小数点
				*psmgbuff = SMG_TABLE[*dat-0x30];
			else					//	带小数点显示
				*psmgbuff = SMG_TABLE_DP[*dat-0x30];
			}
		}
}


⌨️ 快捷键说明

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