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

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

?? datacode.c

?? 數據代碼轉換
?? C
字號:


	#include <P18f4520.h>			/*reference file*/

	#include "Define.h"

#pragma code

/*--------------------------------------------------------------------------*/
/* ASCII data conversion to HEX data
 * Input:	dataBuffOne
 * Output:	dataBuffTwo
 * Use:		a、b
 * Memo:	require OSC frequency 10MHz
 */
/*--------------------------------------------------------------------------*/
void BCD_to_binary ()
{
	unsigned char a;
	unsigned char b;
	unsigned char c;
	a = 0;
	do
	{
		b = dataBuffOne[a];
		dataBuffOne[6 + a * 2 + 2] = b & 0x000F;
		b >>= 4;
		dataBuffOne[6 + a * 2 + 1] = b & 0x000F;

	}
	while( ++a < 4 );


	dataBuffTwo[0] = 0;
	dataBuffTwo[1] = 0;
	dataBuffTwo[2] = 0;

	a = 0;
	do
	{					/*Arithmetic*/
						/*(Dmsb*10)+Dlsb*/
		 
		dataBuffTwo[2] += dataBuffOne[7 + a];
		if(a == 5)
		break;
		dataBuffTwo[2] = dataBuffTwo[2] * 10;
		b = PRODH;
		if(STATUSbits.C == 1)
		b++;
	
		dataBuffTwo[1] = dataBuffTwo[1] * 10;
//		b = dataBuffTwo[1] * 10;
		c = PRODH;
		dataBuffTwo[1] += b;
		b = c;
		if(STATUSbits.C == 1)
		b++;
						/*Out integer dataBuffTwo[0、1、2]*/
		dataBuffTwo[0] = dataBuffTwo[0] *10  + b;
	}
	while( ++a < 6 );


	dataBuffTwo[3] = dataBuffOne[13] * 10 + dataBuffOne[14];
						/*Out fraction*/
	dataBuffTwo[3] <<= 1;			/*Fraction*2*/
}


/*--------------------------------------------------------------------------*/
/* Change binary into decimal BCD code
 * Input:	dataBuffTwo
 * Output:	dataBuffOne
 * Use:		a、b、c、d、e
 * Memo:	require OSC frequency 10MHz
 */
/*--------------------------------------------------------------------------*/
void Binary_to_BCD (void)
{
	unsigned char a;
	BitByte b;
	BitByte c;
	unsigned char d;
	unsigned char e;


	dataBuffOne[0] = 0;
	dataBuffOne[1] = 0;
	dataBuffOne[2] = 0;

	a = 24;
	do
	{
		b.Byte = dataBuffTwo[2];
		dataBuffTwo[2] <<= 1;

		c.Byte = dataBuffTwo[1];
		dataBuffTwo[1] <<= 1;

		if(b.Bit.b7 == 1)
		dataBuffTwo[1] |= 1;


		if((dataBuffTwo[0] & 0x0080) != 0)
		{
			e = 1;
		}
		else
		{
			e = 0;
		}
		dataBuffTwo[0] <<= 1;

		if(c.Bit.b7 == 1)
		dataBuffTwo[0] |= 1;


		d = 3;
		do
		{
			dataBuffOne[d - 1] = BCD_add (dataBuffOne[d - 1], dataBuffOne[d - 1], e);
			if((statusValue & 1) == 1)
			{
				e = 1;
			}
			else
			{
				e = 0;
			}
		}
		while( --d );
	}
	while( --a );


	dataBuffOne[3] = 0;
	dataBuffTwo[3] >>= 1;

	a = 8;
	do
	{
		if((dataBuffTwo[3] & 0x0080) != 0)
		{
			e = 1;
		}
		else
		{
			e = 0;
		}
		dataBuffTwo[3] <<= 1;
		dataBuffOne[3] = BCD_add (dataBuffOne[3], dataBuffOne[3], e);
	}
	while( --a );

	dataBuffOne[0] &= _CountMaxRange;
}


/*--------------------------------------------------------------------------*/
/* BCD addition subroutine
 * Input:	a、b、c
 * Output:	a、STATUS
 * Use:		none
 * Memo:	require OSC frequency 10MHz
 */
/*--------------------------------------------------------------------------*/
unsigned char BCD_add(unsigned char a, unsigned char b, unsigned char c)
{
	if(c == 1)
	b++;

	a += b;					/*Do binary addition*/

	if(STATUSbits.C == 1)
	{
		statusValue = 1;
	}
	else
	{
		statusValue = 0;
	}

	if(STATUSbits.DC == 1)			/*DC = 1?*/
	{
		a += 6;				/*Adjust LSD*/
	}
	else
	{					/*Adjust LSD*/
		a += 6;				/*LSD > 9?*/
		if(STATUSbits.C == 1)
		statusValue++;
		if(STATUSbits.DC == 0)
		a -= 6;				/*LSD < 9?*/
	}
	a += 0x0060;
	if(STATUSbits.C == 0)
	{
		if((statusValue & 1) == 0)
		{
			a -= 0x0060;		
		}
	}
	else
	{
		statusValue = 1;
	}
	return (a);	
}

/*--------------------------------------------------------------------------*/
/* This routine performs 2 digit unsigned BCD subtraction
 * Input:	a、b、c
 * Output:	a、STATUS
 * Use:		none
 * Memo:	require OSC frequency 10MHz
 */
/*--------------------------------------------------------------------------*/
//unsigned char BCD_sub(unsigned char a, unsigned char b, unsigned char c)
//{
//	if(c == 1)
//	b++;					/*b + carry*/
//
//	a -= b;					/*sub*/
//
//	statusValue = 0;
//	if(STATUSbits.C == 1)			/*save carry*/
//	statusValue = 1;
//
//	if(STATUSbits.DC == 1)
//	{
//		if((a & 0x0008) == 1)		/*Adjust LSD of Result*/
//		{
//			if((a & 0x0004) == 1)
//			{
//				a -= 6;		/*Adjust LSD*/
//			}
//			else
//			{
//				if((a & 0x0002) == 1)
//				a -= 6;		/*Adjust LSD*/
//			}
//		}
//	}
//
//	else
//	{
//		a -= 6;				/*Adjust LSD*/
//	}
//
//         					/*No : Go for MSD*/
//	if((statusValue & 1) == 1)    	/*CY = 0 ?*/
//	{
//		statusValue = 0;
//		if((a & 0x0080) == 0)   	  	/*No, test for MSD >9*/
//		return (a);
//
//		if((a & 0x0040) == 0)
//		{
//			if((a & 0x0020) == 0)
//			return (a);
//		}
//	}
//
//	a -= 0x0060;              		/*add 6 to MSD*/
//	statusValue = 0;
//	if(STATUSbits.C == 0)  			/*test if underflow*/
//	return (a);
//
//	statusValue = 1;
//	return (a);
//}


/*--------------------------------------------------------------------------*/
/* This routine performs 16 bits data divide 8 bits data
 * Input:	a0、a1、a2、b0、b1
 * Output:	a.b、STATUS
 * Use:		none
 * Memo:	require OSC frequency 10MHz
 */
/*--------------------------------------------------------------------------*/
void Divide_24_16(unsigned char *a, unsigned char *b)
{
	unsigned char c[2];
	unsigned char d;
	unsigned char e;
	unsigned char f;
	unsigned char g;
	unsigned char h[2];

	c[0] = 0;
	c[1] = 0;
	d = 24;

	do
	{
		e = 0;
		g = 3;
		do
		{
			f = a[g - 1];
			a[g - 1] <<= 1;
			if(e == 1)
			{
				a[g - 1] |= 1;
			}
			
			if((f & 0x0080) == 0)
			{
				e = 0;
			}
			else
			{
				e = 1;
			}
		}
		while ( --g );

		g = 2;
		do
		{
			f = c[g - 1];
			c[g - 1] <<= 1;
			if(e == 1)
			{
				c[g - 1] |= 1;
			}
			
			if((f & 0x0080) == 0)
			{
				e = 0;
			}
			else
			{
				e = 1;
			}
		}
		while ( --g );

						/*A's LSB is overflow*/
		h[1] = c[1] - b[1];

		if(STATUSbits.C == 0)
		{
			h[0] = c[0] - (b[0] + 1);
		}
		else
		{
			h[0] = c[0] - b[0];
		}
	

		if((STATUSbits.C == 1) || (e == 1))
		{
			c[1] = h[1];
			c[0] = h[0];

			a[2]++;
		}
	}
	while( --d );

	e = 0;					/*Judge .4 or .5*/
	g = 2;
	do
	{
		f = b[g - 1];
		b[g - 1] >>= 1;
		if(e == 1)
		{
			b[g - 1] |= 0x0080;
		}
			
		if((f & 1) == 0)
		{
			e = 0;
		}
		else
		{
			e = 1;
		}
	}
	while ( --g );

	c[1] -= b[1];

	if(STATUSbits.C == 0)
	{
		c[0] -= b[0] + 1;
	}
	else
	{
		c[0] -= b[0];
	}

	if(STATUSbits.C == 0)
	return;

	if(++a[2] == 0)
	{
		a[1]++;
	}

	b[0] = c[0];
	b[1] = c[1];
}



/*--------------------------------------------------------------------------*/
/* Four bytes add
 * Input:	*a,*b
 * Output:	*a
 * Use:		W、STATUS、a、b、c[4]
 * Memo:	require OSC frequency 10MHz
 */
/*--------------------------------------------------------------------------*/
void Data_four_bytes_add (unsigned char *a, unsigned char *b)
{
	a[3] += b[3];
	if(STATUSbits.C == 1)
	{
		a[3] += 56;
		if(++(a[2]) == 0)
		{
			if(++(a[1]) == 0)
			a[0]++;
		}
	}
	else
	{
		if(a[3] > 200)
		{
			a[3] -= 200;
			if(++(a[2]) == 0)
			{
				if(++(a[1]) == 0)
				a[0]++;
			}
		}
	}


	a[2] += b[2];				/*Integer +=*/
	if(STATUSbits.C == 1)
	{
		if(++(a[1]) == 0)
		a[0]++;
	}

	a[1] += b[1];
	if(STATUSbits.C == 1)
	a[0]++;

	a[0] += b[0];
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产美女一区二区三区| 69久久夜色精品国产69蝌蚪网| 99麻豆久久久国产精品免费| 欧美日韩国产123区| 久久综合成人精品亚洲另类欧美| 一区二区三区高清不卡| 国产在线精品国自产拍免费| 欧美视频中文字幕| 中文天堂在线一区| 美女视频网站黄色亚洲| 欧美亚洲日本国产| 国产精品毛片久久久久久| 男女激情视频一区| 欧美日韩在线播放三区四区| 中文字幕一区二区日韩精品绯色 | 成人国产亚洲欧美成人综合网| 色94色欧美sute亚洲线路一久| 久久女同精品一区二区| 日韩成人dvd| 欧美曰成人黄网| 成人欧美一区二区三区小说| 国产精品主播直播| 欧美成人三级在线| 日日夜夜精品视频天天综合网| 在线亚洲一区二区| 中文字幕一区二区三区四区| 丁香激情综合五月| 久久久精品免费免费| 国精产品一区一区三区mba桃花| 91麻豆精品国产自产在线| 天堂久久久久va久久久久| 色噜噜狠狠一区二区三区果冻| 17c精品麻豆一区二区免费| 高清在线成人网| 国产精品免费久久久久| 成人午夜电影小说| 国产精品拍天天在线| 成人国产精品免费观看动漫| 国产精品色噜噜| 成人app下载| 依依成人精品视频| 欧美揉bbbbb揉bbbbb| 午夜精品123| 日韩精品最新网址| 国产综合成人久久大片91| 国产亚洲一区字幕| 丰满少妇在线播放bd日韩电影| 国产无人区一区二区三区| 国产大陆a不卡| 国产精品进线69影院| 色偷偷88欧美精品久久久| 一区二区三区欧美| 欧美二区三区91| 久久成人18免费观看| 国产三级精品视频| av欧美精品.com| 亚洲高清免费视频| 日韩免费性生活视频播放| 国产麻豆9l精品三级站| 日韩一区在线免费观看| 欧美丝袜丝交足nylons图片| 免费欧美高清视频| 中文乱码免费一区二区| 欧美视频在线观看一区二区| 免费三级欧美电影| 国产精品动漫网站| 欧美久久久久久久久久| 国产在线看一区| 中文字幕一区二区三区不卡 | 国产一区二区福利视频| 亚洲视频你懂的| 欧美日韩亚洲高清一区二区| 韩国v欧美v日本v亚洲v| 一区二区三区四区在线播放| 制服丝袜亚洲网站| 99久久免费视频.com| 日韩综合在线视频| 国产精品区一区二区三| 51午夜精品国产| 91玉足脚交白嫩脚丫在线播放| 日日摸夜夜添夜夜添精品视频 | 樱花影视一区二区| 欧美成人猛片aaaaaaa| 91免费小视频| 激情丁香综合五月| 午夜欧美视频在线观看| 亚洲国产精品国自产拍av| 777欧美精品| 91色综合久久久久婷婷| 国产精品1区2区| 日韩不卡免费视频| 亚洲一区二区三区在线看| 精品国产乱码久久久久久免费| 在线免费精品视频| 国产一区日韩二区欧美三区| 婷婷成人激情在线网| 一区在线播放视频| 国产色一区二区| 日韩一级大片在线观看| 欧美色涩在线第一页| 色哟哟一区二区在线观看| 成人久久久精品乱码一区二区三区| 开心九九激情九九欧美日韩精美视频电影| 亚洲男人的天堂av| 国产精品久久久久精k8| 久久精品亚洲麻豆av一区二区| 欧美日本高清视频在线观看| 97久久精品人人做人人爽| 国产精品456| 国产精品69久久久久水密桃| 国产在线播放一区| 韩国三级在线一区| 美女免费视频一区| 蜜桃久久精品一区二区| 美女诱惑一区二区| 日本欧美一区二区| 男人操女人的视频在线观看欧美| 日韩经典中文字幕一区| 午夜精品久久久久久不卡8050| 一区二区高清视频在线观看| 亚洲欧美日韩一区二区 | 日韩视频免费观看高清完整版在线观看 | 亚洲精品乱码久久久久久日本蜜臀| 国产欧美日韩不卡| 中文字幕的久久| 日韩码欧中文字| 亚洲制服欧美中文字幕中文字幕| 亚洲国产综合在线| 日韩成人免费电影| 国产乱码精品一区二区三区忘忧草 | 日韩成人精品在线观看| 日韩国产在线观看一区| 婷婷成人激情在线网| 久久精品国产亚洲a| 国产91富婆露脸刺激对白| 99久久免费视频.com| 欧美视频你懂的| 欧美精品一区二区三区高清aⅴ | 免费成人av在线| 国精产品一区一区三区mba桃花| 国产精品一级在线| 色先锋资源久久综合| 欧美高清视频不卡网| 久久先锋资源网| 日韩美女视频一区二区| 天天av天天翘天天综合网| 国产综合久久久久久久久久久久| 成人黄色小视频| 欧美另类变人与禽xxxxx| 26uuu色噜噜精品一区二区| 国产精品国产a| 无码av免费一区二区三区试看| 美女网站在线免费欧美精品| a美女胸又www黄视频久久| 欧美妇女性影城| 国产精品素人一区二区| 亚洲一二三四久久| 国产在线精品一区二区夜色| 色婷婷亚洲一区二区三区| 日韩欧美视频一区| 亚洲视频一区在线| 国产一区视频网站| 欧美日韩五月天| 国产精品卡一卡二卡三| 日本免费新一区视频| 粉嫩av一区二区三区| 欧美日韩在线不卡| 亚洲私人黄色宅男| 久草这里只有精品视频| 欧美吻胸吃奶大尺度电影| 国产欧美日韩精品在线| 美女脱光内衣内裤视频久久影院| 色老综合老女人久久久| 中文字幕二三区不卡| 蜜桃视频在线观看一区| 欧美日韩一区二区电影| 国产精品久久久久9999吃药| 老色鬼精品视频在线观看播放| 91久久精品一区二区二区| 国产欧美一区二区精品性色超碰| 日韩精品成人一区二区三区| 欧洲精品在线观看| 国产精品国产三级国产普通话蜜臀 | 卡一卡二国产精品| 日韩色视频在线观看| 一区二区三区**美女毛片| 不卡电影一区二区三区| 久久综合狠狠综合久久综合88| 日韩国产欧美在线观看| 欧美日韩黄色一区二区| 亚洲精品视频在线| 91免费版在线| 亚洲欧美综合另类在线卡通| 国产精品中文字幕欧美| 精品粉嫩超白一线天av| 国产一区二区三区四区五区入口| 欧美一区二区日韩一区二区| 婷婷一区二区三区| 6080日韩午夜伦伦午夜伦| 日韩电影在线免费看|