亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? prj.c

?? 移動電源主程序
?? C
?? 第 1 頁 / 共 2 頁
字號:

 #include "ht46r064.h"

///-----------CS:B8C0H  基本OK //-2012-2-23 17:04

#define			uint			unsigned int 
#define			ulong			unsigned  long

//#define		c_OUT_Current				0									// PA0 ---AN0
//#define		c_Bat_Voltage				1									// PA1 ---AN1

 /*  //--Test board
#define		_pin_Out_5V					_pa2 //b5   			//_pb1
#define		_pin_ChargeFull			_pa5				//_pa4
#define		_pin_CtrKey						_pa4			//_pa3
#define		_pin_PowerIN					_pa3			//_pa2

#define		_pin_LightKEY				_pa6

#define 		_pin_Light				_pb4
#define 		_pin_LLight				_pb5


#define 		_pin_LEDH				_pb0			//_pb3
#define 		_pin_LEDMH				_pb1			//_pb4
#define 		_pin_LEDML				_pb2			//_pb4
#define 		_pin_LEDL				_pb3			//_pb5

*/
#if 0
#define		_pin_ChargeFull				_pa6
#define		_pin_Out_5V					_pa5
#define		_pin_LightKEY				_pa4
#define		_pin_CtrKey					_pa3
#define		_pin_PowerIN				_pa2

#define 		_pin_LEDH				_pb0
#define 		_pin_LEDMH				_pb1
#define 		_pin_LEDML				_pb2
#define 		_pin_LEDL				_pb3

#define 		_pin_Light				_pb4
#define 		_pin_LLight				_pb5
#else

#define		c_OUT_Current				0									// PA0 ---AN0
#define		c_Bat_Voltage				1									// PA1 ---AN1

#define		_pin_PowerIN				_pa5		// 外部向電池充電檢測
#define		_pin_Out_5V					_pa4		// 5v輸出
#define		_pin_ChargeFull				_pa3		// 自已的電池充滿狀態
#define		_pin_CtrKey					_pa6		// 按鍵

#define 		_pin_LEDH				_pb0
#define 		_pin_LEDMH				_pb1
#define 		_pin_LEDML				_pb2
#define 		_pin_LEDL				_pb3

#define 		_pin_Light				_pb4
#define 		_pin_LLight				_pb5
#endif


//#define 		c_V35			540*4		// (1.8V/3.3V) *1024 =558 //(1.75V/3.3V) *1024 =543
#define 		c_V35			597*4		// (1.75V/3.0V) *1024 =597
#define 		c_V35_L			580*4		// (1.70V/3.0V) *1024 =597

//#define 		c_V38			605*4		// (1.95V/3.3V) *1024 =605 // (1.90V/3.3V) *1024 =589
#define 		c_V38			665*4		// (1.95V/3.0V) *1024 =665
#define 		c_V38_L			630*4		// (1.85V/3.0V) *1024 =630

//#define 		c_V40			620*4		// (2.0V/3.3V) *1024 =620
#define 		c_V40			682*4		// (2.0V/30V) *1024 =682
#define 		c_V40_L			648*4		// (1.9V/3.0V) *1024 =648

//#define 		c_V42			633*4		// (2.1V/3.3V) *1024 =651   // (2.04V/3.3V) *1024 =633   // (2.06V/3.3V) *1024 =639
#define 		c_V42			696*4		// (2.04V/3.0V) *1024 =696   
#define 		c_V42_L			682*4		// (2.0V/30V) *1024 =682   

#define 		c_C05A			24*4		// 24 : 0.8A ; 18 : 0.6A ; //12 : 0.4A 
#define 		c_C1A			40*4		// (0.1V/3.3V) *1024 =30
#define 		c_C2A			68*4		// (0.2V/3.0V) *1024 =68
#define 		c_C100mA		3*4			// (0.01V/3.3V) *1024 =3


#pragma  vector  EXTINT_ISR @ 0x04
#pragma  vector  TIMER_ISR @ 0x08

ulong		rl_adcValue,rl_adcValue_sum,rl_OUT_Current_sum,rl_VBat_sum;
ulong		rl_Out_Current,rl_VBat,rl_Out_Current_OVER_Time;

uint		r_count,r_250MS,r_3S,r_250MS_20S,r_ChargeFull_20MIN;
uint		r_MotoKey_Delay,b_ChargeFull_Delay,r_PowerInput_Delay,r_CtrKey_Delay;
uint		r_Low_Voltage_Time,r_LongKeyTime;

uint 		r_Close_5V_Delay,r_VBat_Delay,r_LightKey_Delay,r_LongKeyTime_Light;
uint		r_8Count,r_VBat_Step,r_blink_Time,r_LightNum;


bit  		b_HALL,b_PowerIN,b_Low_Voltage;
bit			b_2ms,b_250MS_1S,b_250MS_3S,b_250MS_20S,b_250MS_2S,b_EXT_PWR,b_pin_ChargeFull;
bit			b_Out_5V,b_Short_Error,b_ChargeFull;
bit			b_Charge,b_CtrKey_1,b_CtrKey_Action,b_LightKey_Action;
bit			b_250MS_M3S,b_250MS_5S;
bit			b_LongKey_Status,b_pin_CtrKey_Sleep,b_pin_PowerIN_Sleep,b_LightKey_1,b_pin_LightKey_Sleep;
bit			b_LongKey_Status_Light,b_250MS_5S_Light;

/* RAM 初始化, 功能初始化*/
void pro_function_initial()
{
	_pawk=0b11111111;
	_papu=0b11011100;						/// 
	_pa=0b11011111;							/// _pa6 Hall 檢查腳 上拉 輸入 
	_pac=0b11011111;						/// _pa7 外部電源檢查腳 上拉 輸入 //  pa4 主按鍵(帶上拉) input;
	
	_pbpu=0b11110000;
	_pb=0b11110000;							///  pb5 內部充電控制線 無上拉 初始化為0
	_pbc=0b11000000;						/// _pb4	內部充電狀態檢查腳 上拉 輸入      //pb3 5V 輸出控制線
	

	_ctrl0=0;
	_ctrl1=0xca;							// 中斷 雙向觸發...// WDT disable
	
	_adcr=0x10;							//   AN0-AN1; 

	_acsr=0x01;								// FSYS/16
	
	_tmr0=256-250;							// 250*8us = 2MS
	_tmr0c=0x85;								// FSYS/32,  4MHz= 8us  
	
	_intc0=0x05;
	_intc1=0;
	
	for(_mp0=0x40,_acc=96;_acc;_acc--)
	{
		_iar0=0;
		_mp0++;
	}
	if(_pin_PowerIN) b_PowerIN=1;
	if(_pin_CtrKey) b_CtrKey_1=1;
//	if(_pin_LightKEY) b_LightKey_1;
	if(_pin_ChargeFull) 	b_pin_ChargeFull=1;
}


/*==================
	AD conversion
===================*/
unsigned long AdcSub(unsigned char r_adChannel)
{
	unsigned long r_adcTemp;
	uint		i;
	r_adcTemp=0;
	rl_adcValue=0;
	_adcr&=0xf8;
	_adcr|=r_adChannel;
	
	for(i=0;i<4;i++)
	{
		_start=0;
		_start=1;
		_start=0;
		while(_eocb) ;
		r_adcTemp=_adrh;
		r_adcTemp<<=8;
		r_adcTemp+=_adrl;
		r_adcTemp>>=4;									// result for 12bit
		rl_adcValue=rl_adcValue+r_adcTemp;
	}
	rl_adcValue=rl_adcValue/4;			//8 times filter
	return rl_adcValue;
}

///================================================================
/*
void	pro_VBat()
{
	b_Low_Voltage=0;
	switch(r_VBat_Step)
	{
		case 0:
						b_Low_Voltage=1;
						if(rl_VBat<c_V35)	r_VBat_Delay=0;
							else
								{
									if(r_VBat_Delay>100)		
									{
										r_VBat_Step=1;
										r_VBat_Delay=0;
									}
								}
						break;
		case 1:
						if(rl_VBat<c_V35)	
							{
								if(r_VBat_Delay>100)
									{
										r_VBat_Step=0;
										r_VBat_Delay=0;
									}
							}
							else
								{
									if(rl_VBat<c_V38) r_VBat_Delay=0;
										else
											{
												if(r_VBat_Delay>100)	
													{
														r_VBat_Step=2;
														r_VBat_Delay=0;
													}
											}
								}
						break;
		case 2:
						if(rl_VBat<c_V38)	
							{
								if(r_VBat_Delay>100)		
									{
										r_VBat_Step=1;
										r_VBat_Delay=0;
									}
							}
							else
								{
									if(rl_VBat<c_V40) r_VBat_Delay=0;
										else
											{
												if(r_VBat_Delay>100)
													{
														r_VBat_Step=3;
														r_VBat_Delay=0;
													}
											}
								}
						break;
						
		case 3:
						if(rl_VBat<c_V40)	
							{
								if(r_VBat_Delay>100)		
									{
										r_VBat_Step=2;
										r_VBat_Delay=0;
									}
							}
							else
								{
									if(rl_VBat<c_V42) r_VBat_Delay=0;
										else
											{
												if(r_VBat_Delay>100)
													{
														r_VBat_Step=4;
														r_VBat_Delay=0;
													}
											}
								}
						break;
						
		case 4:
						if(rl_VBat>c_V42)	r_VBat_Delay=0;
							else
								{
									if(r_VBat_Delay>100)
										{
											r_VBat_Step=3;
											r_VBat_Delay=0;
										}
								}
						break;
	}
		
}
*/
/**/
///================================================================
/// 放電時 的電壓 等級.
void pro_VBat_L()
{
	b_Low_Voltage=0;
	switch(r_VBat_Step)
	{
		case 0:
			b_Low_Voltage=1;
			if(rl_VBat<c_V35_L)	r_VBat_Delay=0;
			else
			{
				if(r_VBat_Delay>100)		
				{
					r_VBat_Step=1;
					r_VBat_Delay=0;
				}
			}
		break;
		case 1:
			if(rl_VBat<c_V35_L)	
			{
				if(r_VBat_Delay>100)
				{
					r_VBat_Step=0;
					r_VBat_Delay=0;
				}
			}
			else
			{
				if(rl_VBat<c_V38_L) r_VBat_Delay=0;
				else
				{
					if(r_VBat_Delay>100)	
					{
						r_VBat_Step=2;
						r_VBat_Delay=0;
					}
				}
			}
		break;
		case 2:
			if(rl_VBat<c_V38_L)	
			{
				if(r_VBat_Delay>100)		
				{
					r_VBat_Step=1;
					r_VBat_Delay=0;
				}
			}
			else
			{
				if(rl_VBat<c_V40_L) r_VBat_Delay=0;
				else
				{
					if(r_VBat_Delay>100)
					{
						r_VBat_Step=3;
						r_VBat_Delay=0;
					}
				}
			}
		break;

		case 3:
			if(rl_VBat<c_V40_L)	
			{
				if(r_VBat_Delay>100)		
				{
					r_VBat_Step=2;
					r_VBat_Delay=0;
				}
			}
			else
			{
				if(rl_VBat<c_V42_L) r_VBat_Delay=0;
				else
				{
					if(r_VBat_Delay>100)
					{
						r_VBat_Step=4;
						r_VBat_Delay=0;
					}
				}
			}
		break;

		case 4:
			if(rl_VBat>c_V42_L)	r_VBat_Delay=0;
			else
			{
				if(r_VBat_Delay>100)
				{
					r_VBat_Step=3;
					r_VBat_Delay=0;
				}
			}
		break;
	}
}

///================================================================

void pro_Check_ChargeFull()
{
	if(!b_Charge) 
	{
		return;
	}	
	if(_pin_ChargeFull)
	{
		if(!b_pin_ChargeFull)
		{
			b_ChargeFull_Delay++;
			if(b_ChargeFull_Delay>=50) 
			{
				b_pin_ChargeFull=1;
				b_ChargeFull=1;															///  pin_Full=0, 充飽.
			}
		}
		else	
		{
			b_ChargeFull_Delay=0;
		}
	}
	else
	{
		if(b_pin_ChargeFull)
		{
			b_ChargeFull_Delay++;
			if(b_ChargeFull_Delay>=50)
			{
				b_pin_ChargeFull=0;
			}
		}
		else
		{
			b_ChargeFull_Delay=0;
		}
	}
}
///================================================================
void pro_CtrKEY()
{
	if(_pin_CtrKey)
	{
		if(!b_CtrKey_1)
		{
			r_CtrKey_Delay++;
			if(r_CtrKey_Delay>100) 
			{
				b_CtrKey_1=1;
			}
			
		}
		else 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品在线免费观看| 爽好久久久欧美精品| 一区二区在线观看视频在线观看| 免费成人在线网站| 91麻豆国产福利精品| 欧美精品一区二区三区在线| 亚洲chinese男男1069| 成人av小说网| 久久久国产精华| 蜜桃视频免费观看一区| 欧美视频中文一区二区三区在线观看| 国产亚洲欧美一级| 久久国产人妖系列| 69av一区二区三区| 一区二区三区电影在线播| 国产精品123区| 久久综合色婷婷| 免费高清视频精品| 欧美一级电影网站| 五月婷婷久久丁香| 欧美日韩国产区一| 亚洲一区在线观看免费| 一本一道波多野结衣一区二区| 国产精品天干天干在线综合| 国v精品久久久网| 国产色产综合产在线视频| 国产一区二区美女| 26uuu色噜噜精品一区二区| 久久丁香综合五月国产三级网站| 日韩一二三区不卡| 激情久久久久久久久久久久久久久久| 制服丝袜国产精品| 麻豆国产精品视频| 国产视频一区在线播放| 国产91对白在线观看九色| 国产亚洲婷婷免费| 成人国产免费视频| 亚洲三级小视频| 日本丰满少妇一区二区三区| 一区二区三区日韩| 欧美日韩一区二区三区视频 | 三级精品在线观看| 在线综合视频播放| 精品一区二区久久| 国产精品视频观看| 欧美在线制服丝袜| 麻豆一区二区99久久久久| 久久九九全国免费| 北岛玲一区二区三区四区| 亚洲乱码国产乱码精品精小说| 欧美伊人久久大香线蕉综合69| 污片在线观看一区二区| 久久综合九色综合97婷婷| 成人免费电影视频| 依依成人精品视频| 精品动漫一区二区三区在线观看 | 日韩精品亚洲专区| 欧美白人最猛性xxxxx69交| 成人激情黄色小说| 天堂久久久久va久久久久| 国产日韩在线不卡| 欧美日韩一区三区| 成人精品小蝌蚪| 视频一区在线播放| 中文字幕欧美一| 日韩欧美一区二区视频| 91网页版在线| 欧美性xxxxxxxx| 国产69精品久久久久777| 韩国毛片一区二区三区| 久久91精品国产91久久小草| 免费观看久久久4p| 国产欧美日韩在线观看| 欧美三级在线看| 国产不卡在线一区| 同产精品九九九| 欧美极品另类videosde| 欧美日韩国产欧美日美国产精品| 国产精品18久久久| 日本不卡一区二区| 亚洲美腿欧美偷拍| 中文字幕第一区第二区| 91精品国产免费| 欧美三级资源在线| 99国产一区二区三精品乱码| 美国十次了思思久久精品导航| 国产精品免费丝袜| 欧美tk丨vk视频| 91麻豆精品国产91久久久久久久久 | 日韩精品亚洲专区| 日韩成人av影视| 久久久久久夜精品精品免费| 成人免费不卡视频| 国产成人在线影院| 国产一区久久久| 日韩av电影天堂| 亚洲国产aⅴ成人精品无吗| 日本一区二区成人| 欧美精彩视频一区二区三区| 欧美变态凌虐bdsm| 日韩三级在线观看| 91精品国产一区二区三区蜜臀| 欧美日韩一区高清| 欧美视频在线播放| 欧美三电影在线| 91国偷自产一区二区开放时间| 91在线高清观看| 一本久道中文字幕精品亚洲嫩| 成人精品视频一区二区三区| 亚洲激情校园春色| 性久久久久久久| 国产成都精品91一区二区三| 欧美在线free| 91色九色蝌蚪| 国产精品1024| 粉嫩久久99精品久久久久久夜| 国产大陆亚洲精品国产| 91女人视频在线观看| 在线免费观看不卡av| 久久色视频免费观看| 亚洲一级在线观看| 丰满岳乱妇一区二区三区| 中文字幕色av一区二区三区| 国产精品久久久久久久久免费相片 | 久久久亚洲欧洲日产国码αv| 精品日韩一区二区三区| 国产欧美日韩在线观看| 亚洲视频你懂的| 日韩中文字幕1| 黄色资源网久久资源365| 高清国产午夜精品久久久久久| 成人黄色软件下载| 欧美日本一道本在线视频| 日韩一级大片在线观看| 国产蜜臀97一区二区三区 | 蜜臀av一区二区在线免费观看| 久久99国内精品| 99久久久久久| 欧美精三区欧美精三区| 久久久久久久久久久久久女国产乱| 国产精品入口麻豆九色| 午夜精品视频在线观看| 国产精品自拍三区| 色综合久久久久综合体| 欧美电视剧在线观看完整版| 中文字幕欧美日本乱码一线二线| 亚洲一区在线看| 国产成人综合亚洲网站| 欧美午夜精品免费| 久久久久久久网| 亚洲一区二区三区中文字幕在线| 久久精品国产亚洲一区二区三区| 成人av网站在线观看| 日韩欧美中文字幕制服| 亚洲欧洲性图库| 精品一区二区三区在线观看国产| 99久久er热在这里只有精品15| 日韩欧美一二区| 亚洲中国最大av网站| 国产mv日韩mv欧美| 日韩免费观看2025年上映的电影| 亚洲日本电影在线| 国产乱码字幕精品高清av| 欧美蜜桃一区二区三区| 国产精品久久综合| 精品亚洲国产成人av制服丝袜 | 成人免费黄色大片| 日韩久久精品一区| 天堂在线亚洲视频| 91久久精品一区二区| 国产亚洲精品7777| 久久国产剧场电影| 欧美精品电影在线播放| 亚洲免费伊人电影| 国产精品99久久久| 日韩精品一区在线观看| 亚洲一区二区三区视频在线播放| 成人黄色av电影| 欧美国产乱子伦| 国产中文一区二区三区| 日韩免费一区二区三区在线播放| 亚洲国产wwwccc36天堂| 91福利国产成人精品照片| 中文av一区特黄| 国产河南妇女毛片精品久久久| 欧美一卡2卡三卡4卡5免费| 亚洲午夜久久久| 欧美亚洲图片小说| 一区二区三区 在线观看视频| 国产91精品在线观看| 亚洲国产精品二十页| 国产成人在线影院| 中文字幕av免费专区久久| 高清国产午夜精品久久久久久| 国产视频911| 99热99精品| 亚洲欧美日韩国产一区二区三区 | 欧美一级搡bbbb搡bbbb| 五月天激情综合网| 日韩视频一区二区三区在线播放|