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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? rs485.c

?? MODBUS通訊協(xié)定及RS485介面通訊程式,提供完整電路圖及范例程式
?? C
字號(hào):
#include "16f873.h"
#include "int16cxx.h"

#define ENABLE	1
#define DISABLE	0
#define TRUE	1
#define FAULT	0
#define RECEIVE_EN	0
#define TRANSFER_EN	1

#pragma bit IO1	@ PORTB.5
#pragma bit IO2	@ PORTB.6
#pragma bit IO3	@ PORTB.7
#pragma bit C_EN @ PORTC.2

#pragma	origin = 0x4

uns8 rc_temp,rxbuf[8],uchCRCHi,uchCRCLo,addr,txbuf[8],receive_count,dis_hz,dis_current;
uns8 set_hz,set_run;
uns16 dis_error,dis_running;
bit receive_ok,transfer_ok,_8ms_count_ok;

/* Table of CRC values for high-order byte */

const char auchCRCHi[] = {
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 
0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 
0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 
0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 
0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 
0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 
0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 
0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 
0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 
0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 
0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 
0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 
0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40
} ; 

/* Table of CRC values for low-order byte */

const char auchCRCLo[] = {
0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 
0x07, 0xC7, 0x05, 0xC5, 0xC4, 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 
0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, 
0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 
0x1E, 0xDE, 0xDF, 0x1F, 0xDD, 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 
0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, 
0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 
0xF2, 0x32, 0x36, 0xF6, 0xF7, 0x37, 0xF5, 0x35, 0x34, 0xF4, 
0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, 
0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 
0xEB, 0x2B, 0x2A, 0xEA, 0xEE, 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 
0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, 
0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 
0x61, 0xA1, 0x63, 0xA3, 0xA2, 0x62, 0x66, 0xA6, 0xA7, 0x67, 
0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, 
0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 
0x78, 0xB8, 0xB9, 0x79, 0xBB, 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 
0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, 
0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 
0x70, 0xB0, 0x50, 0x90, 0x91, 0x51, 0x93, 0x53, 0x52, 0x92, 
0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, 
0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 
0x99, 0x59, 0x58, 0x98, 0x88, 0x48, 0x49, 0x89, 0x4B, 0x8B, 
0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, 
0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 
0x43, 0x83, 0x41, 0x81, 0x80, 0x40
} ;

interrupt server(void)
{
	uns8 temp8;
	int_save_registers	// W, STATUS (and PCLATH)
	char sv_FSR=FSR;
	if(T0IF)
	{
		TMR0=100;	//8ms interrupt
		PS2=1;		//prescale value=1:256
		PS1=1;		//5000KHz/256=19.53125KHz,19.53125K/156=0.125KHz(8ms)
		PS0=1;
		_8ms_count_ok=ENABLE;
		T0IF=0;
	}
	if(INTF)
	{
		INTF=0;
	}
	if(TMR1IF)
	{
		TMR2IF=0;
	}
	if(RCIF)
	{
		rc_temp=RCREG;
		if(receive_ok==FAULT)
		{
			if(_8ms_count_ok)
				receive_count=0;
			if(receive_count<8)
				rxbuf[receive_count]=rc_temp;
			if(receive_count==7 && addr==rxbuf[0])
				receive_ok=TRUE;
			receive_count++;
		}
		
		_8ms_count_ok=DISABLE;
		TMR0=100;		//timer0 reset,count again
		
		RCIF=0;
	}
	if(SSPIF && SSPIE)
	{
		SSPIF=0;
	}
	FSR=sv_FSR;
	int_restore_registers
}

page1 uns16 crc16(uns8 *puchMsg,uns8 crc_count)
{
	uns8 uindex;
	uns16 temp16;
	uchCRCHi=0xff;
	uchCRCLo=0xff;
	while(crc_count)
	{
		uindex=uchCRCHi ^ *puchMsg;
		puchMsg++;
		uchCRCHi=uchCRCLo ^ auchCRCHi[uindex];
		uchCRCLo=auchCRCLo[uindex];
		crc_count--;
	}
	temp16=(uns16)uchCRCHi << 8;
	temp16=temp16 | uchCRCLo;
	return temp16;
}

page0 void main(void)
{
	uns8 i;
	uns16 temp16;
	TRISA=0b11111111;
	TRISB=0b00011111;	//RB7(IO3) RB6(IO2) RB5(IO1)->output
	TRISC=0b10111011;	//RC7(RX) RC6(TX) RC2(C_EN)->output
	IO1=0;
	IO2=0;
	IO3=0;
	addr=0x06;
	dis_hz=79;
	dis_current=80;
	dis_error=87;
	dis_running=85;		//bit2->0=stop,1=run
						//bit14->0=FR,1=RR
	_8ms_count_ok=DISABLE;
	receive_ok=FAULT;
	transfer_ok=TRUE;
	receive_count=0;
	C_EN=RECEIVE_EN;
	BRGH=1;
	SYNC=0;
	SPEN=1;
	TXIE=0;
	RCIE=1;
	TX9=0;	//8 data bit transfer
	SPBRG=64;	// baud rate=20M/16(64+1)=19230
	TXEN=1;
	CREN=1;		//receive enable
	
	T0CS=0;		//TIMER0 clock=Fosc/4=20MHz/4=5MHz
	TMR0=100;	//256-156
	PSA=0;		//use prescaler
	PS2=1;		//prescale value=1:256
	PS1=1;		//5000KHz/256=19.53125KHz,19.53125K/156=0.125KHz(8ms)
	PS0=1;
	T0IE=1;		//TIMER0 enable
	
	PEIE=1;
	GIE=1;
	rxbuf[0]=0x11;
	rxbuf[1]=0x03;
	rxbuf[2]=0x00;
	rxbuf[3]=0x6b;
	rxbuf[4]=0x00;
	rxbuf[5]=0x03;
	rxbuf[6]=0x01;
	rxbuf[7]=0x02;
	i=0;
	while(1)
	{
		if(receive_ok==TRUE)
		{
			temp16=crc16(rxbuf,6);
			if(rxbuf[6]==temp16.high8 && rxbuf[7]==temp16.low8)
			{
				switch(rxbuf[1])
				{
					case 0x03:
						txbuf[0]=rxbuf[0];
						txbuf[1]=rxbuf[1];
						txbuf[2]=2;		//byte count
						txbuf[3]=0;		//data high byte
						switch(rxbuf[3])
						{
							case 0:
								txbuf[4]=set_hz;	//set hz
								break;
							case 85:
								txbuf[4]=set_run;	//set run
								break;
							case 78:	//display Hz
								txbuf[4]=dis_hz;	//data low byte
								break;
							case 79:	//display current
								txbuf[4]=dis_current;	//data low byte
								break;
							case 84:	//display running state
								txbuf[3]=dis_running.high8;	//data high byte
								txbuf[4]=dis_running.low8;	//data low byte
								break;
							case 86:	//display error code
								txbuf[3]=dis_error.high8;	//data high byte
								txbuf[4]=dis_error.low8;	//data low byte
						}
						temp16=crc16(txbuf,5);
						txbuf[5]=temp16.high8;
						txbuf[6]=temp16.low8;
						transfer_ok=FAULT;
						break;
					case 0x06:
						txbuf[0]=rxbuf[0];
						txbuf[1]=rxbuf[1];
						txbuf[2]=rxbuf[2];
						txbuf[3]=rxbuf[3];
						txbuf[4]=rxbuf[4];
						txbuf[5]=rxbuf[5];
						txbuf[6]=rxbuf[6];
						txbuf[7]=rxbuf[7];
						switch(rxbuf[3])
						{
							case 0:		//set Hz
								set_hz=rxbuf[5];
								break;
							case 85:	//set run
								set_run=rxbuf[5];
							
						}
						transfer_ok=FAULT;
				}
			}
			receive_ok=FAULT;
		}
		if(TXIF && TRMT && transfer_ok==FAULT)
		{
			C_EN=TRANSFER_EN;
			TXREG=txbuf[i];
			i++;
			if(i==7 && txbuf[1]==3)
			{
				transfer_ok=TRUE;
				i=0;
			}
			if(i==8 && txbuf[1]==6)
			{
				transfer_ok=TRUE;
				i=0;
			}
		}
		if(TRMT)
			C_EN=RECEIVE_EN;
	}
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品乱人伦中文| 欧美一区二区播放| 最新成人av在线| 成人av免费观看| 国产精品电影院| 在线欧美日韩精品| 亚洲国产综合91精品麻豆| 欧美又粗又大又爽| 日本亚洲欧美天堂免费| 久久色在线观看| 99国内精品久久| 午夜精品久久一牛影视| 精品国产免费视频| 91年精品国产| 青娱乐精品视频| 中文乱码免费一区二区| 欧美日韩一区成人| 国内精品国产成人| 亚洲欧美国产高清| 欧美一区二区精品| 成人免费观看av| 婷婷一区二区三区| 久久精品夜色噜噜亚洲a∨| 99精品视频在线观看| 午夜欧美2019年伦理| 国产欧美久久久精品影院| 在线中文字幕一区二区| 看片的网站亚洲| 亚洲精品中文在线影院| 欧美大白屁股肥臀xxxxxx| 91蝌蚪国产九色| 国产主播一区二区三区| 一区二区国产盗摄色噜噜| 精品国产乱码久久久久久免费 | caoporn国产精品| 香蕉影视欧美成人| 国产精品久久久久永久免费观看 | 国产精品一区免费视频| 亚洲蜜臀av乱码久久精品| 欧美大片一区二区三区| 色婷婷综合久久久中文字幕| 麻豆免费看一区二区三区| 亚洲图片激情小说| 久久精品一级爱片| 日韩视频123| 欧美亚日韩国产aⅴ精品中极品| 国产做a爰片久久毛片| 性感美女极品91精品| 亚洲免费观看视频| 欧美韩日一区二区三区四区| 8v天堂国产在线一区二区| 日本高清无吗v一区| 国产成人高清在线| 久久精品二区亚洲w码| 亚洲一二三级电影| 亚洲人吸女人奶水| 中文在线免费一区三区高中清不卡| 欧美一区二区日韩一区二区| 欧美性猛交xxxxxx富婆| 本田岬高潮一区二区三区| 黑人精品欧美一区二区蜜桃| 日韩电影在线免费观看| 亚洲一区二三区| 亚洲精品免费视频| 亚洲欧美色一区| 国产精品嫩草影院com| 国产欧美精品日韩区二区麻豆天美| 日韩一级大片在线| 欧美一区二区三区视频在线观看 | 日本伊人色综合网| 日本伊人色综合网| 蜜桃久久久久久| 日本网站在线观看一区二区三区| 亚洲成人免费av| 亚洲成人一区在线| 男女男精品视频网| 麻豆免费精品视频| 精品亚洲国产成人av制服丝袜| 日日嗨av一区二区三区四区| 亚洲1区2区3区4区| 日韩国产欧美在线视频| 日本麻豆一区二区三区视频| 日本欧美大码aⅴ在线播放| 人禽交欧美网站| 美国三级日本三级久久99 | 国产精品久久久久aaaa樱花| 国产精品成人午夜| 一区二区三区在线视频观看58| 一区二区在线观看免费| 亚洲午夜免费视频| 日本成人在线一区| 国产乱理伦片在线观看夜一区| 懂色av一区二区三区免费观看| 99精品久久免费看蜜臀剧情介绍| 日本精品一级二级| 日韩午夜激情视频| 久久精品一区蜜桃臀影院| 日韩理论片一区二区| 婷婷丁香久久五月婷婷| 极品美女销魂一区二区三区| 国产成人在线影院| 一本一道久久a久久精品| 欧美日韩精品免费| 精品国产乱码久久久久久闺蜜| 国产日韩精品一区| 亚洲一区二区三区免费视频| 日日夜夜免费精品| 国产精品1区2区3区| 91黄色小视频| 26uuu欧美| 亚洲国产日韩一区二区| 黑人巨大精品欧美黑白配亚洲| 91丨porny丨在线| 欧美一级夜夜爽| 中文字幕一区二区在线播放| 亚洲午夜一区二区| 国产成人免费视频精品含羞草妖精| 色网综合在线观看| 久久日韩精品一区二区五区| 亚洲品质自拍视频网站| 免费人成黄页网站在线一区二区| 成人一区二区三区视频| 欧美丰满嫩嫩电影| 综合色中文字幕| 久久精品国产一区二区三 | 国产精品一区二区久久精品爱涩| 91片在线免费观看| 国产婷婷色一区二区三区| 亚洲一区二区三区视频在线播放| 国产乱理伦片在线观看夜一区| 精品视频资源站| 国产精品免费久久| 久久激情综合网| 精品视频1区2区| 国产精品久久久久aaaa| 国产一区二区三区av电影| 欧美日韩三级视频| 中文字幕一区视频| 国产老女人精品毛片久久| 欧美另类videos死尸| 亚洲女人****多毛耸耸8| 国产麻豆视频精品| 欧美精品久久一区| 亚洲伊人色欲综合网| 波多野结衣在线aⅴ中文字幕不卡| 91精品国产综合久久久久久久| 一区二区三区在线免费观看 | av成人免费在线观看| 久久一区二区视频| 美女在线观看视频一区二区| 欧美日韩中文字幕精品| 亚洲女人的天堂| av在线不卡电影| 国产精品理伦片| 成人晚上爱看视频| 久久久亚洲欧洲日产国码αv| 美女久久久精品| 欧美一区二区黄| 日本vs亚洲vs韩国一区三区| 欧美日韩亚洲综合在线| 亚洲影院免费观看| 欧美日韩一本到| 婷婷激情综合网| 日韩亚洲欧美成人一区| 美女mm1313爽爽久久久蜜臀| 日韩一区二区三区免费看| 免费高清在线视频一区·| 欧美理论电影在线| 蜜臀久久久久久久| 欧美成人vps| 国产一区二区三区| 欧美国产丝袜视频| 91欧美一区二区| 亚洲一区二区三区在线播放| 欧美性猛交一区二区三区精品| 午夜影视日本亚洲欧洲精品| 91精品婷婷国产综合久久性色 | 水野朝阳av一区二区三区| 欧美日韩aaa| 久久精品久久综合| 久久久五月婷婷| 成人福利在线看| 一区二区三区在线观看动漫| 精品婷婷伊人一区三区三| 免费看欧美女人艹b| 久久嫩草精品久久久精品| 成人中文字幕合集| 亚洲美女视频一区| 91麻豆精品国产| 国产 日韩 欧美大片| 最新中文字幕一区二区三区| 欧洲一区二区三区在线| 欧美aaaaa成人免费观看视频| 久久综合av免费| 99精品国产99久久久久久白柏| 天天av天天翘天天综合网色鬼国产 | 国产成人午夜精品5599| 亚洲色图视频网| 日韩一区二区在线看片| 粉嫩在线一区二区三区视频|