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

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

?? com.c

?? 這是一稱的項目原文件,包括T9漢字輸入,打印機,24C512,已經引用到產品上
?? C
字號:
/*******************************************************************************
*  標題:  藍海微芯LJD-SY-5100單片機開發系統演示程序                            *
*  文件:  com.c                                                              *
*  日期:  2006-7-22                                                           *
*  版本:  1.0                                                                  *
*  作者:  Pillar                                                             *
********************************************************************************
*  描述:                                                                       *
*             通信程序                                                        *     
*                                                                              *
********************************************************************************
* 【版權】 Copyright(C) belongs to 天宇藍翔科技有限公司     All Rights Reserved *          
* 【聲明】 此程序僅用于學習與參考,引用請注明版權和作者信息!                  *
*******************************************************************************/
/********************************EEPROM存儲分配********************************/
//第一個扇區

//要存儲的內容:
//1.發射機工作頻率:3位。1-8頻率
//2.零點:2個字節     int
//3.分度值:1個字節  char
//4.量程:兩個字節;一個字節數字,1個字節10冪次 int*10
//5.單位:1位,k,0=kg,1=t;
//6.斜率:兩個字節   int
//7.傳感器量程:兩個字節;一個字節數字,1個字節10冪次 int*10

//第二個扇區

//1.出廠編號:兩個字節
//2.出廠時間:兩個字節。年,月,日。
//3.接收機編號:兩個字節

//第三扇區

//1.用戶名:20個字節 
/**************保存參數寄存器***********************************************/
#include<com.h>


//常數區
	//內部數據Flash第一扇區地址
	#define FLASH_ADDRH	0x20
	#define FLASH_ADDRL	0x00    //52

	//內部數據Flash第2扇區地址
	#define FLASH_ADDRH1	0x22
	#define FLASH_ADDRL1	0x00    //52

	//內部數據Flash第3扇區地址
	#define FLASH_ADDRH2	0x24
	#define FLASH_ADDRL2	0x00    //52
	
	

	

void LoadInt(int cs);
unsigned char Data_XRL(char *buf,int begin,int end);
void Hex_To_Ascii(buf);  //把校驗數據轉換成ASCII
void Ascii_To_Hex(buf);  //設備地址
void Make_Error(unsigned char ch); // 發射** 接收數據不正確要求重發
void Make_Two_Byte(int sj,char *jg);

/**********發射數據********/
void r_chengshang_data(unsigned char ch)

//	IsBeginCom=1;          //要求發射數據的標志
{
	unsigned char buf[4];
	ComHand=4;
	
	ComBuf[0]=(unsigned char)(Para1.chuchang_bianhao&0x00ff);	  //出廠編號低位,設備地址	
	ComBuf[1]=(unsigned char)(Para1.chuchang_bianhao>>8);//出廠編號高位,設備地址	

	ComBuf[2]=0x30;	  //標志讀	
	ComBuf[3]=0x30;
 
	if(ch==1)//讀重量數據 4
	{
		LoadInt(ch);
		ComBuf[8]=0x30;	  //數據直接數							
		ComBuf[9]=0x38;	  
	}
	
	else if(ch==2)//發射機工作頻率	1
	{
		LoadInt(ch); //數據地址  4
		ComBuf[8]=0x30;	  //數據直接數							
		ComBuf[9]=0x38;	  
	}
	
	else if(ch==3)//零點 	2
	{
		LoadInt(ch); //數據地址
		ComBuf[8]=0x30;	  //數據直接數							
		ComBuf[9]=0x34;	  
	}
		
	else if(ch==4)//分度值	1
	{
		LoadInt(ch); //數據地址
		ComBuf[8]=0x30;	  //數據直接數							
		ComBuf[9]=0x32;	  
	}
	
	else if(ch==5)//量程	2
	{
		LoadInt(ch); //數據地址
		ComBuf[8]=0x30;	  //數據直接數							
		ComBuf[9]=0x34;	  
	}
	
	else if(ch==6)//單位	1		
	{
		LoadInt(ch); //數據地址
		ComBuf[8]=0x30;	  //數據直接數							
		ComBuf[9]=0x32;	  
	}
	
	else if(ch==7)//斜率	2
	{
		LoadInt(ch); //數據地址
		ComBuf[8]=0x30;	  //數據直接數							
		ComBuf[9]=0x34;	  
	}
	
	else if(ch==8)//傳感器量程	2
	{
		LoadInt(ch); //數據地址
		ComBuf[8]=0x30;	  //數據直接數							
		ComBuf[9]=0x34;	  
	}

	else if(ch==9)//出廠編號	2
	{
		LoadInt(ch); //數據地址
		ComBuf[8]=0x30;	  //數據直接數							
		ComBuf[9]=0x34;	  
	}

	else if(ch==10)//出廠時間	2
	{
		LoadInt(ch); //數據地址
		ComBuf[8]=0x30;	  //數據直接數							
		ComBuf[9]=0x34;	  
	}

	else if(ch==11)//接收機編號	2
	{
		LoadInt(ch); //數據地址
		ComBuf[8]=0x30;	  //數據直接數							
		ComBuf[9]=0x34;	  
	}

	else if(ch==12)//用戶名	20
	{
		LoadInt(ch); //數據地址
		ComBuf[8]=0x30;	  //數據直接數							
		ComBuf[9]=0x44;	  
	}

	else if(ch==13)//電池數據	4
	{
		LoadInt(ch); //數據地址
		ComBuf[8]=0x30;	  //數據直接數							
		ComBuf[9]=0x38;	  
	}

	buf[0]=Data_XRL(ComBuf,0,ComHand);
	Hex_To_Ascii(buf);                //把校驗數據轉換成ASCII
	ComBuf[ComHand]=buf[0];
	ComHand++;
	ComBuf[ComHand]=buf[1];
	ComHand++;
	ComBuf[ComHand]=0x0D;//發射數據尾

	SBUF=0x40;          //啟動發射數據
}

/***********寫數據到稱上*****/

void w_data_to_chengshang(unsigned char ch)//ch為數據地址
{   
	unsigned char j;
	unsigned char buf[4];

	IsBeginCom=1;          //要求發射數據的標志
	
    ComHand=4;

	//ComBuf[1]=ComBuf[0]; //設備地址
	//ComBuf[2]=ComBuf[1];
	ComBuf[0]=Para1.chuchang_bianhao&0x000f;	  //出廠編號低位,設備地址	
	ComBuf[1]=(Para1.chuchang_bianhao>>8);//出廠編號高位,設備地址

	ComBuf[2]=0x30;	  //標志寫	
	ComBuf[3]=0x31;
 

	 if(buf[0]==2) //發射機工作頻率
		{						
	 		ComBuf[ComHand]=0x32; //字節數為2
			ComHand++; 
 		    LoadInt(Para.fasheji_pinlv);		
							
		}
	else if(buf[0]==3) //零點
		{
			ComBuf[ComHand]=0x34; //字節數4
			ComHand++;
			LoadInt(Para.lingdian);
							
		}
	else if(buf[0]==4) //分度值
		{
			ComBuf[ComHand]=0x32; //字節數2
			ComHand++; 
			LoadInt(Para.fenduzhi);
		}
	else if(buf[0]==5) //量程
		{
    		ComBuf[ComHand]=0x34; //字節數4
			ComHand++; 
			LoadInt(Para.liangcheng);
		}

	else if(buf[0]==6) //單位
    	{
	    	ComBuf[ComHand]=0x32; //字節數2
			ComHand++; 
			LoadInt(Para.dianwei);	
		}
		

	else if(buf[0]==7) //斜率
		{
			ComBuf[ComHand]=0x34; //字節數4
			ComHand++; 
			LoadInt(Para.xielv_data);
		}

	else if(buf[0]==8) //傳感器量程
		{
			ComBuf[ComHand]=0x34; //字節數4
			ComHand++; 						
			LoadInt(Para.chuanganqi_liangcheng);
		}

	else if(buf[0]==9) //出廠編號
		{
			ComBuf[ComHand]=0x34; //字節數4
			ComHand++; 							
			LoadInt(Para1.chuchang_bianhao);
		}
	else if(buf[0]==10) //出廠時間
		{
			ComBuf[ComHand]=0x34; //字節數4
			ComHand++; 
			LoadInt(Para1.chuchang_time);
    	}
	else if(buf[0]==11) //接收機編號
		{
			ComBuf[ComHand]=0x34; //字節數4
			ComHand++;
   			LoadInt(Para1.jieshouji_bianhao);
		}
	
	else if(buf[0]==12) //用戶名
		{
		ComBuf[ComHand]=0x4f; //字節數20
		for(j=0;j<10,j++;)
 			{
				LoadInt(Para2.yonghuming[j]);
			}
		}   


//CRC校驗數據
		buf[0]=Data_XRL(ComBuf,1,ComHand);
		Hex_To_Ascii(buf);                //把校驗數據轉換成ASCII
		ComBuf[ComHand]=buf[0];
		ComHand++;
		ComBuf[ComHand]=buf[1];
		ComHand++;
		ComBuf[ComHand]=0x0D;
		ComHand++;
		IsBeginCom=1;          //要求發射數據的標志
    	//ComTime=5;

        SBUF=0x40;          //啟動發射數據
}


/*************************串行中斷程序**********************/

void ComInt() interrupt 4
{
	unsigned char ch,j;
	unsigned char buf[4];
	unsigned char str[2];
	long int i ;

	if(TI==1) //發中斷
	{
		TI=0;
		ComJs++;
		if(ComJs<ComHand) //未發完
		{
			SBUF=ComBuf[ComJs];
		}
		else //已發完
		{
			IsBeginCom=0;          //要求發射數據的標志
			//QH=0;
		}
	}
	else //收中斷
	{
		RI=0;
		ch=SBUF;
		if(!Is40H) //未收到數據頭
		{
			if(ch==0x40) //為數據頭
			{
				Is40H=1;
				ComHand=0;
			}
			return;
		}
		else //已收到數據頭
		{
			if(ch!=0x0D) //不為數據尾
			{
				ComBuf[ComHand]=ch;
				ComHand++;
				if(ComHand>=23) //接收超個數
				{
					Is40H=0;
				}
				return;
			}
			else //收到數據尾
			{
				Is40H=0;

				buf[0]=ComBuf[0]; //ComBuf的0,1字節為設備地址
				buf[1]=ComBuf[1];

				Ascii_To_Hex(buf); //設備地址
				
				if(Para1.chuchang_bianhao!=buf[0]) //不為本機
				{
					return;
				}
				//為本機
                //QH=1;
				buf[0]=ComBuf[ComHand-2];
				buf[1]=ComBuf[ComHand-1];
				Ascii_To_Hex(buf); //取異或

				ch=Data_XRL(ComBuf,0,ComHand-2); //計算異或

				if(ch!=buf[0]) //異或錯
				{
					Make_Error(0x2A); // 發射** 接收數據不正確要求重發
				}
				else //異或和正確  接收數據正確
				{
					
				   	buf[0]=ComBuf[6];
					buf[1]=ComBuf[7];
					Ascii_To_Hex(buf); //buf[0]中為數據地址

					ch=ComBuf[3]&0x01;

				if(ch==1) //寫
					{
//						IsSave=1;
						str[0]=ComBuf[10];
						str[1]=ComBuf[11];
						Ascii_To_Hex(str); //高字節
						ch=str[0];

						str[0]=ComBuf[12];
						str[1]=ComBuf[13];
						Ascii_To_Hex(str); //低字節
						i=(long int)ch*256+(long int)str[0];
						
						if(buf[0]==1)   //稱重數據
						{
						str[0]=ComBuf[14];
						str[1]=ComBuf[15];
						Ascii_To_Hex(str); //高字節
						ch=str[0];

						str[0]=ComBuf[16];
						str[1]=ComBuf[17];
						Ascii_To_Hex(str); //高字節
						
						zhongliang_data=(i<<16)+(long int)ch*256+(long int)str[0];		

						}

    					else if(buf[0]==2)         //發射機頻率
						{
							Para.fasheji_pinlv=i;	
						}
						else if(buf[0]==3) //零點
						{
							Para.lingdian=i;
						}
						else if(buf[0]==4) //分度值
						{
							Para.fenduzhi=i;
						}							

						else if(buf[0]==5) //量程
						{
							Para.liangcheng=i;
						}

					/*	else if(buf[0]==6) //單位
						{
							Para.danwei=ch;
						}
						*/
						else if(buf[0]==7) //斜率
						{
							Para.xielv_data=i;
						}

						else if(buf[0]==8) //傳感器量程
						{
							Para.chuanganqi_liangcheng=i;
						}

						else if(buf[0]==9) //出廠編號
						{
							Para1.chuchang_bianhao=i;
						}

						else if(buf[0]==10) //出廠時間
						{
							Para1.chuchang_time=i;
						}
						else if(buf[0]==11) //接收機編號
						{
							Para1.jieshouji_bianhao=i;
						}

						else if(buf[0]==12) //用戶名
						{
							for (j=0;j<20;j++)
							{
							 str[0]=ComBuf[j+10];
							 str[1]=ComBuf[j+11];
							 Ascii_To_Hex(str); 
							 Para2.yonghuming[j]=str[0];
						
							 }
						}
					}
				else return;
					
				}
			}
		}
	}
}



//向通信緩沖裝入int數據
void LoadInt(int cs)
{
	unsigned char buf[4];
	Make_Two_Byte(cs,buf);  //把一個數據轉化成兩個ASCII并裝入
	ComBuf[ComHand]=buf[0];
	ComHand++;
	ComBuf[ComHand]=buf[1];
	ComHand++;
	ComBuf[ComHand]=buf[2];
	ComHand++;
	ComBuf[ComHand]=buf[3];
	ComHand++;
}
	
//初始化串口
void Init_Com()
{
/*  TR2=0;
	T2CON=0x30; //定時器2作為波特率發生器

	TH2=Com24M[Para.Com*2];
	RCAP2H=TH2;
	TL2=Com24M[Para.Com*2+1];
	RCAP2L=TL2; //波特率

	SCON=0x50; //串口工作方式1+
	PCON=PCON&0x7F; //波特率不加倍
*/

/*定義T1為串口發生器*/
	TMOD=0x20;                                    //確定定時器1工作方式為方式2

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜桃一区二区三区在线观看| 亚洲欧洲日韩女同| 秋霞午夜鲁丝一区二区老狼| 欧美日韩精品欧美日韩精品| 亚洲不卡av一区二区三区| 欧美性猛片xxxx免费看久爱| 亚洲成人综合视频| 日韩一级片网址| 国模冰冰炮一区二区| 国产精品无圣光一区二区| 91碰在线视频| 天天操天天色综合| 久久久精品蜜桃| 色香蕉久久蜜桃| 五月天激情综合网| 久久久www免费人成精品| 成人国产电影网| 亚洲综合在线观看视频| 91麻豆精品国产综合久久久久久| 日本怡春院一区二区| 久久久亚洲精品石原莉奈| 波多野结衣91| 日韩成人午夜精品| 国产精品全国免费观看高清| 在线精品视频一区二区三四| 麻豆免费精品视频| 国产精品久久久久久福利一牛影视| 色先锋久久av资源部| 秋霞电影一区二区| 国产精品乱码一区二区三区软件| 欧美体内she精高潮| 激情久久久久久久久久久久久久久久| 国产欧美日韩视频在线观看| 色综合久久久久久久久| 久久福利视频一区二区| 亚洲精品日韩综合观看成人91| 日韩三级视频在线观看| 成人高清免费在线播放| 秋霞av亚洲一区二区三| 亚洲天堂网中文字| 久久人人超碰精品| 欧美乱妇一区二区三区不卡视频| 懂色av一区二区三区免费观看| 亚欧色一区w666天堂| 国产精品视频第一区| 欧美这里有精品| 床上的激情91.| 韩国欧美国产1区| 亚洲一区av在线| 1024成人网| 亚洲精品一线二线三线| 欧美日韩精品久久久| 91丝袜国产在线播放| 精品一区二区免费| 日日夜夜一区二区| 亚洲狼人国产精品| 国产精品免费久久久久| 欧美精品一区二区蜜臀亚洲| 欧美男生操女生| 欧美羞羞免费网站| 色视频成人在线观看免| 国产成人精品三级麻豆| 久久精品国产亚洲高清剧情介绍| 五月天国产精品| 亚洲国产aⅴ成人精品无吗| 综合欧美一区二区三区| 国产精品乱人伦中文| 欧美国产日韩一二三区| 国产午夜精品美女毛片视频| 欧美第一区第二区| 日韩女优制服丝袜电影| 欧美高清激情brazzers| 欧美视频精品在线观看| 欧美亚洲图片小说| 欧美亚洲国产一卡| 欧美色精品在线视频| 欧美系列亚洲系列| 欧美性极品少妇| 欧美丝袜丝交足nylons| 色婷婷狠狠综合| 欧美自拍偷拍午夜视频| 欧美性猛交xxxx黑人交| 欧美剧情电影在线观看完整版免费励志电影 | 色狠狠色狠狠综合| 色av成人天堂桃色av| 在线观看三级视频欧美| 欧美午夜免费电影| 欧美精品123区| 日韩欧美一区在线| 欧美精品一区二区在线播放| 欧美精品一区二区三区久久久| 久久免费美女视频| 中文字幕av在线一区二区三区| 中文字幕在线免费不卡| 一区二区三区四区中文字幕| 首页综合国产亚洲丝袜| 麻豆高清免费国产一区| 国产在线不卡视频| av爱爱亚洲一区| 欧美日韩综合一区| 日韩欧美一区二区免费| 久久精品免视看| 亚洲欧洲国产日本综合| 亚洲成人自拍网| 韩国av一区二区三区在线观看| 国产精品一区二区在线播放| 成人av资源下载| 欧美日韩在线播| 亚洲精品在线免费观看视频| 国产精品国产三级国产aⅴ入口 | 国产福利精品一区二区| 国产98色在线|日韩| 国产盗摄一区二区| 亚洲国产另类精品专区| 蜜臀久久久久久久| 波多野结衣视频一区| 欧美日韩大陆一区二区| 久久综合精品国产一区二区三区| 国产日韩欧美不卡在线| 亚洲一区影音先锋| 国产精品1区二区.| 欧美高清性hdvideosex| 亚洲国产精品精华液ab| 亚洲成a人片在线不卡一二三区| 久久成人免费网| 色婷婷综合五月| 国产日产欧美一区二区视频| 亚洲图片有声小说| 国产福利91精品| 欧美美女激情18p| 国产精品久久久久一区| 免费av成人在线| 色婷婷激情一区二区三区| 久久综合久久久久88| 亚欧色一区w666天堂| av高清不卡在线| 久久久久久免费| 日韩综合在线视频| 色婷婷狠狠综合| 国产视频一区二区在线观看| 爽好久久久欧美精品| 日本高清不卡aⅴ免费网站| 国产欧美视频一区二区三区| 日韩av在线播放中文字幕| 色婷婷激情综合| 国产精品久久久久一区二区三区共 | 亚洲不卡av一区二区三区| av在线不卡电影| 国产亚洲精品免费| 精品午夜久久福利影院| 欧美一二区视频| 五月婷婷色综合| 欧美午夜精品理论片a级按摩| 亚洲视频综合在线| 粉嫩av亚洲一区二区图片| 欧美精品一区二区三区蜜臀| 美女mm1313爽爽久久久蜜臀| 欧美日韩一区二区在线视频| 亚洲日本韩国一区| 成人v精品蜜桃久久一区| 久久精品亚洲一区二区三区浴池| 蜜臀av性久久久久蜜臀aⅴ流畅| 欧美日韩另类一区| 亚洲成国产人片在线观看| 欧美午夜宅男影院| 亚洲一区二区三区中文字幕| 91精彩视频在线观看| 一区二区三区在线视频免费| 91美女蜜桃在线| 一区二区三区高清| 色妞www精品视频| 亚洲精品久久7777| 色综合久久88色综合天天免费| 亚洲免费色视频| 色哟哟日韩精品| 亚洲成a天堂v人片| 欧美一级欧美三级| 久久99精品久久久久久 | 国产亚洲成av人在线观看导航| 麻豆精品视频在线观看视频| 欧美xxxxx裸体时装秀| 九色综合狠狠综合久久| 久久色成人在线| 国产成人午夜精品5599| 中文字幕乱码一区二区免费| 99综合影院在线| 亚洲国产成人av网| 欧美一级精品大片| 国产又黄又大久久| 中文一区在线播放| 色成人在线视频| 日韩成人午夜电影| 国产亚洲欧美日韩日本| 91同城在线观看| 婷婷六月综合亚洲| 久久久国产精华| 91一区二区在线观看| 亚洲大片免费看| 精品久久久久久久久久久院品网 | 国产欧美日产一区|