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

📄 keydeal.c

📁 智能的通用的充电器
💻 C
字号:
#include "reg5410.h"
#include "head.h"




extern void DispZimu(unsigned char x,unsigned char y,unsigned char how,unsigned char *stri);
extern void DispShuzi(unsigned char x,unsigned char y,unsigned int n);	 //8*16数字显示
extern void DispShuzi0(unsigned char x,unsigned char y,unsigned int n);	 //8*16数字显示
extern void DispHanzi(unsigned char x,unsigned char y,unsigned char how,unsigned char *stri);
extern void send_command(unsigned char command_data) ;
extern void GetADCaiJiDL(unsigned int *ADData);
extern void GetADCaiJiDY(unsigned int *ADData);
extern unsigned char read(unsigned char ADDRH,unsigned char ADDRL);
extern void write(unsigned char ADDRH,unsigned char *p,unsigned char k);

extern unsigned int Sec;
extern unsigned int Min;
																										     
void Disp_Page0(void);
void Disp_Page1(void);
void Disp_Page2(void);
void Disp_Page3(void);

void jiemian(void)
{
	static unsigned char ti=0,page=0;
	unsigned int tmp=0;
	if(page==1)
	{
		 GetADCaiJiDL(&tmp);DispShuzi0(2,5,tmp);
		 GetADCaiJiDY(&tmp);DispShuzi0(1,5,tmp);
	}
	if(Mode==0||Up==0||Down==0)
	{
		ti++;
		if(ti>=30)
		{
			ti=0;
			if(Mode==0)
			{
				page++;
				if(page>=5)
					page=0;
				if(page==0)
					Disp_Page0();
				else if(page==1)
					Disp_Page1();
				else if(page==2)
					Disp_Page2();
				else if(page==3)
					Disp_Page3();		
			}
		}
	}
	else ti=0;
}

void Disp_Page0(void)
{		
	send_command(0x01);
	DispHanzi(1,1,5,"多功能智能");
	DispHanzi(2,1,5,"电池充电器");
}

void Disp_Page1(void)
{
	unsigned int td=0;
	send_command(0x01);
	DispHanzi(0,0,4,"充电中。");
	DispHanzi(1,0,4,"充电电压");
		DispZimu(1,7,1,"V");
	DispHanzi(2,0,4,"充电电流");
		DispZimu(2,7,1,"A");
	DispHanzi(3,0,4,"充电时间");
	//	td=read(0x2a,0x00);Min=td*256+read(0x2a,0x01);
			DispShuzi0(3,4,Min);
		
	//	td=read(0x28,0x00);Sec=td*256+read(0x28,0x01);
			DispShuzi0(3,6,Sec);
			DispHanzi(3,5,1,"分");
			DispHanzi(3,7,1,"秒");
}	

void Disp_Page2(void)
{
	send_command(0x01);
	DispHanzi(0,0,4,"充电完成");
}


void Disp_Page3(void)
{
 	send_command(0x01);
	DispHanzi(0,0,5,"电池被移除" );
	DispHanzi(1,0,4,"充电中止");
}

void GetADCaiJiDL(unsigned int *ADData)
{
	unsigned int i, j, Sum;
	ADC_CONTR=0x80|0x05;
	for(i=0; i<100; i++);
	Sum = 0;
	for(i=0; i<64; i++)
	{
		ADC_CONTR|=0x08;
		while((ADC_CONTR&0x10)==0x00);			//等待变成flag=1
		Sum = Sum + (ADC_DATA*4+ADC_LOW2);
		for(j=0; j<100;j++);
	}
	*ADData = Sum / 64;
}

void GetADCaiJiDY(unsigned int *ADData)
{
	unsigned int i, j, Sum;
	ADC_CONTR=0x80|0x06;
	for(i=0; i<100; i++);
	Sum = 0;
	for(i=0; i<64; i++)
	{
		ADC_CONTR|=0x08;
		while((ADC_CONTR&0x10)==0x00);			//等待变成flag=1
		Sum = Sum + (ADC_DATA*4+ADC_LOW2);
		for(j=0; j<100;j++);
	}
	*ADData = Sum / 64;
}

⌨️ 快捷键说明

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