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

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

?? zpoint_yj.c

?? 無線收發芯片nRF2401三個發送節點
?? C
字號:
#include <c8051f310.h>
#include <intrins.h>

sbit LCD_RS=P1^5;
sbit LCD_RW=P1^6;
sbit LCD_E=P1^7;
sbit D1=P3^1;
sbit D2=P3^2;
sbit PWR_UP=P1^0;
sbit CE=P1^1;
sbit CS=P1^2;
unsigned char i,count=0,buf[4]={0};
xdata unsigned char Show_Buf[4][16]={{0xA1,0xA0,0xA1,0xA0,0xA1,0xA0,0xCE,0xDE,0xCF,0xDF,0xA1,0xA0,0xA1,0xA0,0xA1,0xA0},
                                    {0xB6,0xE0,0xB2,0xCE,0xCA,0xFD,0xCB,0xAE,0xD6,0xCA,0xBC,0xE0,0xB2,0xE2,0xD2,0xC7},
                                    {0xD1,0xCE,0xA1,0xA0,0xB6,0xC8,0xA1,0xC3,0x20,0x20,0x20,0x20,0x20,0x20,0xA1,0xEB},
									{0xCE,0xC2,0xA1,0xA0,0xB6,0xC8,0xA1,0xC3,0x20,0x20,0x20,0x20,0x20,0x20,0xA1,0xE6}}; 

void  PORT_Init(void)
{   
 	P0MDOUT |=0x12;             //txd輸出
	P0MDOUT &=~0x20;            //rxd輸入
	P1MDOUT|=0xe7;              //P1.0 P1.1 P1.2 P1.5 P1.6 P1.7推挽輸出
	P2MDOUT=0xff;               //推挽輸出
	P3MDOUT|=0x06;              //P3.1 P3.2推挽輸出
	P0MDIN &=0xf3;              //P0.2 P0.3為模擬輸入,晶振
	P0SKIP|=0x0C;                //跳過晶體引腳
	XBR0=0x03;                  //UART的TX0 RX0連到端口引腳P0.4、P0.5,SPI連到端口引腳
	XBR1=0x41;                  //使能弱上拉,交叉開關啟用,外部中斷CEX0連到端口引腳
	P2=0xff;
}


void External_Crystal(void)
{
	unsigned char i;
	OSCXCN=0x67;                 //外部晶振,11.0592MHz
	for(i=0;i<254;i++);
	while (!(OSCXCN&0x80));      //等待外部晶振穩定
	CLKSEL=0x01;                //系統時鐘取自外部振蕩器
}


void INT0_Init(void)
{
	IT01CF=0x0f;              //INT0輸入為高電平有效,分配的端口為P0.7
	IT0=0;  	               //INT0為邊沿觸發
	EX0=1;  	               //允許INT0引腳的中斷
	EA=1;                      //總中斷開
}

void UART0_Init(void)
{
	SCON0=0x10;                  //模式1,8位UART,啟用RX
	TMOD|=0x20;                  //定時器1工作在模式2,8位自動裝載
	TH1=0xD0;
	TL1=0xD0;                    //波特率9600
	TR1=1;                       //啟動定時器1
	ES0=0;                       //禁止UART0中斷
}

void SPI0_Init(void)
{
	SPIF=0;                   //清中斷標志
	SPI0CFG=0x43;             //配置SPI0為主方式;空閑時為低電平;在SCK周期的第1個邊沿采樣
	SPI0CN=0x01;              //采用三線主從方式,使能SPI
	SPI0CKR=0x1a;             //設定SCK輸出頻率為200k
	ESPI0=0;                  //禁止SPI0中斷
}

unsigned char spi_read_write(unsigned char byte)
{
	SPI0DAT=byte;    //SPI0發送一字節數據
	while(!SPIF);              //等待發送完
	SPIF=0;
	return SPI0DAT;     	
}

void SendCh(unsigned char c)      //串口發送一個字節
{
	TI0=0;                        //清發送中斷標志
	SBUF0=c;                      //發送
	while(!TI0);                  //等待發送完
	TI0=0;
}

void Delay(void)
{
	unsigned int i;
	for(i=200;i--;i>0)_nop_();
}

void nRF2401_powerup_config_1(void)   //接收節點1的數據,頻率為2.402GHZ
{
	unsigned char i=0;
	unsigned char config_data[15]={0};
	D1=0;
	D2=0;                          //兩個指示燈全亮
	config_data[0]=0x50;
	config_data[1]=0x08;            //通道1數據長度8位
	config_data[2]=0x00;
	config_data[3]=0xd0;
	config_data[4]=0xdd;
	config_data[5]=0xdd;
	config_data[6]=0xdd;
	config_data[7]=0x00;
	config_data[8]=0xaa;
	config_data[9]=0xbb;
	config_data[10]=0x11;
	config_data[11]=0x22;
	config_data[12]=0x83;
	config_data[13]=0x6f;
	config_data[14]=0x05;         //配置狀態字,接收狀態
	PWR_UP=1;
	CE=0;
	CS=1;                         //配置方式
	Delay();
	for(i=0;i<15;i++)
	{
		spi_read_write(config_data[i]);
    }	
	CE=1;              //進入激活狀態
	CS=0;
	Delay();         //等待200us后,2401準備接收數據
	D1=1;
	D2=1;              //兩個指示燈全滅
}
void nRF2401_powerup_config_2(void)   //接收節點2的數據,頻率為2.404GHZ
{
	unsigned char i=0;
	unsigned char config_data[15]={0};
	D1=0;
	D2=0;                          //兩個指示燈全亮
	config_data[0]=0x50;
	config_data[1]=0x08;            //通道1數據長度8位
	config_data[2]=0x00;
	config_data[3]=0xd0;
	config_data[4]=0xdd;
	config_data[5]=0xdd;
	config_data[6]=0xdd;
	config_data[7]=0x00;
	config_data[8]=0xaa;
	config_data[9]=0xbb;
	config_data[10]=0x22;
	config_data[11]=0x33;
	config_data[12]=0x83;
	config_data[13]=0x6f;
	config_data[14]=0x08;         //配置狀態字,接收狀態
	PWR_UP=1;
	CE=0;
	CS=1;                         //配置方式
	Delay();
	for(i=0;i<15;i++)
	{
		spi_read_write(config_data[i]);
    }	
	CE=1;              //進入激活狀態
	CS=0;
	Delay();         //等待200us后,2401準備接收數據
	D1=1;
	D2=1;              //兩個指示燈全滅
}
void nRF2401_powerup_config_3(void)    //接收節點3的數據,頻率為2.402GHZ
{
	unsigned char i=0;
	unsigned char config_data[15]={0};
	D1=0;
	D2=0;                          //兩個指示燈全亮
	config_data[0]=0x50;
	config_data[1]=0x08;            //通道1數據長度8位
	config_data[2]=0x00;
	config_data[3]=0xd0;
	config_data[4]=0xdd;
	config_data[5]=0xdd;
	config_data[6]=0xdd;
	config_data[7]=0x00;
	config_data[8]=0xaa;
	config_data[9]=0xbb;
	config_data[10]=0x33;
	config_data[11]=0x44;
	config_data[12]=0x83;
	config_data[13]=0x6f;
	config_data[14]=0x0c;         //配置狀態字,接收狀態
	PWR_UP=1;
	CE=0;
	CS=1;                         //配置方式
	Delay();
	for(i=0;i<15;i++)
	{
		spi_read_write(config_data[i]);
    }	
	CE=1;              //進入激活狀態
	CS=0;
	Delay();         //等待200us后,2401準備接收數據
	D1=1;
	D2=1;              //兩個指示燈全滅
}

//寫指令子程序
void WriteCom(unsigned char CData)
{
	LCD_RS=0;			//RS=0  選擇數據寄存器 寫指令
	_nop_();_nop_();_nop_();_nop_();
	LCD_RW=0;			//RW=0  寫
	_nop_();_nop_();_nop_();P2=CData;
	_nop_();
	LCD_E=1;			//E=1
	_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
	LCD_E=0;			//E=0
	_nop_();_nop_();_nop_();_nop_();
	//P2=0xff;
	Delay();
}

//寫數據子程序
void WriteData(unsigned char DData)
{
	LCD_RS=1;		                 	//RS=1  選擇數據寄存器  寫數據
	_nop_();_nop_();_nop_();_nop_();
	LCD_RW=0;			                //RW=0  寫
	_nop_();_nop_();_nop_();P2=DData;_nop_();
	LCD_E=1;			                //E=1
	_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
	LCD_E=0;			                //E=0
	_nop_();_nop_();_nop_();_nop_();
	//P2=0xff;
	Delay();
}

//液晶初始化
void initLCD(void)
{
    LCD_RS=0;
	LCD_RW=0;
	LCD_E=0;
	WriteCom(0x30);Delay();//功能設定 DL=1 RE=0 8位控制界面	
	WriteCom(0x01);         //清除顯示
	Delay();Delay();Delay();Delay();
	WriteCom(0x06);Delay();//進入點設定 I/D=1 光標右移,S=0 整體顯示不移動;
	WriteCom(0x0c);Delay();//顯示狀態開/關 D=1 整體顯示ON 
	WriteCom(0x80);Delay();//設定DDRAM 設定DDRAM位址到位址計數器AC;
	
}

void INT0_ISR(void) interrupt 0
{
	unsigned char s=0;
	EA=0;
	D1=0;                      //接收到有效的數據,D1燈亮
	s=spi_read_write(0x00);
	SendCh(s);
	buf[count]=s;
	count++;
	CE=1;                      //CE保持高電平,2401準備接收新的數據
	EA=1;	
	D1=1;
}

unsigned int saltprocess(unsigned int Sin )
{
	double s,s1,s2,s3;
	s=(Sin*3.3)/1024;
	s1=s*s;
	s2=s*s1;
	s3=80.1458*s2-69.3107*s1+43.0198*s+0.0844;
	return((int)(s3*1000));

}

unsigned int tempprocess(unsigned int Tin )
{
	double t,t1;
	t=(Tin*3300L)>>10;
	t1=43.2642*t+1408.6;
	return((int)t1);

}
void deal_with(unsigned char x_buf[4])
{   
     unsigned char j,sc3,sc2,sc1,sc0,st3,st2,st1,st0;
     unsigned int saltadc,tempadc,salt,temp;
            count=0;               //計數器復位
			saltadc=((unsigned int)x_buf[0]<<8)+x_buf[1];
			salt=saltprocess(saltadc);
			tempadc=((unsigned int)x_buf[2]<<8)+x_buf[3];
			temp=tempprocess(tempadc);
			sc3=salt/10000;
			sc2=(salt%10000)/1000;
			sc1=(salt%1000)/100;
			sc0=salt%10;
			Show_Buf[2][9]=0x30+sc3;
			Show_Buf[2][10]=0x30+sc2;
			Show_Buf[2][11]=0x2E;
			Show_Buf[2][12]=0x30+sc1;
			Show_Buf[2][13]=0x30+sc0;	
			WriteCom(0x8C);				
			for(j=9;j<14;j++)
			{WriteData(Show_Buf[2][j]);} 

			st3=temp/10000;
			st2=(temp%10000)/1000;
			st1=(temp%1000)/100;
			st0=temp%10;
			Show_Buf[3][9]=0x30+st3;
			Show_Buf[3][10]=0x30+st2;
			Show_Buf[3][11]=0x2E;
			Show_Buf[3][12]=0x30+st1;
			Show_Buf[3][13]=0x30+st0;	
			WriteCom(0x9C);				
			for(j=9;j<14;j++)
			{WriteData(Show_Buf[3][j]);} 
	WriteCom(0x01);         //清除顯示
}

//主程序
void main(void)
{
	
	PCA0MD&=~0x40;           //關閉看門狗
	PORT_Init();
	External_Crystal();
	INT0_Init();
	UART0_Init();
	SPI0_Init();
	
	initLCD();
	WriteCom(0x80);			//指定第1行的起始地址
	for(i=0;i<16;i++)
	{WriteData(Show_Buf[0][i]);}
	WriteCom(0x90);			//指定第2行的起始地址
	for(i=0;i<16;i++)
	{WriteData(Show_Buf[1][i]);}
	 WriteCom(0x88);			//指定第3行的起始地址
	for(i=0;i<16;i++)
	{WriteData(Show_Buf[2][i]);}
	WriteCom(0x98);			//指定第4行的起始地址
	for(i=0;i<16;i++)
	{WriteData(Show_Buf[3][i]);}
	D2=0;
	while(1)
	{
         nRF2401_powerup_config_1();
         while(count==4)
         {deal_with(&buf);}
         Delay();
         nRF2401_powerup_config_2();
         while(count==4)
         {deal_with(&buf);}
         Delay();
         nRF2401_powerup_config_1();
         while(count==4)
         {deal_with(&buf);}
         Delay();
    }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲最大成人网4388xx| 国产麻豆成人精品| 久久久久久夜精品精品免费| 欧美另类videos死尸| 欧美性猛交xxxx乱大交退制版| 成人av资源在线观看| 粗大黑人巨茎大战欧美成人| 成人黄色一级视频| 91网站在线播放| 色综合久久天天| 欧美无人高清视频在线观看| 欧美色爱综合网| 欧美久久久久久久久| 欧美成人三级电影在线| 337p粉嫩大胆噜噜噜噜噜91av| 欧美va在线播放| 亚洲国产激情av| 一区二区免费在线播放| 日韩精品1区2区3区| 九九**精品视频免费播放| 国产美女视频91| 91最新地址在线播放| 欧美精选一区二区| 久久九九久久九九| 亚洲精品va在线观看| 天天影视色香欲综合网老头| 国产精品一级二级三级| 99国产欧美另类久久久精品| 欧美日产在线观看| 国产午夜一区二区三区| 亚洲色图20p| 美国十次了思思久久精品导航| 国产成人精品亚洲日本在线桃色| 日本电影欧美片| 久久男人中文字幕资源站| 亚洲人123区| 国产一区91精品张津瑜| 在线观看亚洲a| 久久色视频免费观看| 亚洲一区二区免费视频| 国产乱码字幕精品高清av| 欧美在线free| 亚洲国产高清aⅴ视频| 日韩va亚洲va欧美va久久| av影院午夜一区| 欧美大片一区二区| 亚洲专区一二三| 成人一区二区三区中文字幕| 91精品国产91久久久久久一区二区| 国产精品私人影院| 蜜桃视频在线观看一区二区| 色94色欧美sute亚洲线路二| 久久网这里都是精品| 日韩av不卡在线观看| 欧亚洲嫩模精品一区三区| 欧美极品少妇xxxxⅹ高跟鞋| 精品一区二区三区的国产在线播放 | 久久99日本精品| 在线观看免费成人| 国产精品进线69影院| 精品影视av免费| 这里是久久伊人| 亚洲成人中文在线| 欧洲一区二区av| 一区二区三区在线视频免费| 成人av片在线观看| 国产人伦精品一区二区| 国产美女精品人人做人人爽| 欧美一级午夜免费电影| 亚洲va韩国va欧美va精品| 欧美性一级生活| 一区二区三区国产豹纹内裤在线| 成人国产在线观看| 国产精品三级av| av中文字幕一区| 亚洲欧美一区二区不卡| 93久久精品日日躁夜夜躁欧美| 中文字幕一区二区日韩精品绯色| 国产成人av电影在线观看| 国产亚洲人成网站| 风间由美一区二区三区在线观看| 国产欧美日韩综合| 不卡的av网站| 亚洲人一二三区| 在线亚洲欧美专区二区| 一区二区免费在线| 国产成人欧美日韩在线电影| 国产精品久久久久久久久果冻传媒| 成人免费观看av| 综合久久久久综合| 欧美综合亚洲图片综合区| 亚洲图片自拍偷拍| 精品国偷自产国产一区| 国产91高潮流白浆在线麻豆| 国产精品欧美一区喷水| 欧美性色黄大片| 久久精品久久综合| 国产日韩欧美a| 91国偷自产一区二区使用方法| 五月婷婷久久丁香| 国产三级三级三级精品8ⅰ区| av高清久久久| 日韩av不卡在线观看| 国产视频视频一区| 色域天天综合网| 久久国产精品区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 欧美在线观看一二区| 精品制服美女久久| 亚洲女同一区二区| 日韩精品一区二区三区在线播放| 国产一区二区美女诱惑| 亚洲男人天堂av| 2023国产精品| 欧美乱妇23p| 不卡的av在线| 美女在线观看视频一区二区| 中文字幕亚洲区| 精品国产免费人成在线观看| 91丨porny丨蝌蚪视频| 蜜桃av一区二区| 亚洲黄色小说网站| 中文字幕成人在线观看| 欧美精品一二三| 色网站国产精品| 国产精品亚洲а∨天堂免在线| 亚洲成av人综合在线观看| 国产女人18毛片水真多成人如厕 | 国产99一区视频免费| 亚洲成人av福利| 国产精品成人网| ww久久中文字幕| 欧美一级高清片| 欧美日韩高清在线播放| 99精品视频在线观看| 国产乱国产乱300精品| 日韩电影网1区2区| 亚洲高清免费一级二级三级| 专区另类欧美日韩| 欧美国产精品v| 国产亚洲精品资源在线26u| 在线不卡中文字幕播放| 在线观看亚洲精品视频| 色综合久久天天| 91社区在线播放| 99久久精品免费精品国产| 成人精品视频网站| 国产白丝网站精品污在线入口| 精品中文字幕一区二区| 美女在线视频一区| 美女任你摸久久| 久久99九九99精品| 激情综合色播激情啊| 六月丁香婷婷色狠狠久久| 蜜臀久久99精品久久久画质超高清| 午夜精品爽啪视频| 石原莉奈在线亚洲三区| 丝袜美腿亚洲色图| 奇米色一区二区| 美女国产一区二区三区| 国产在线国偷精品免费看| 狠狠色丁香久久婷婷综合_中| 精一区二区三区| 成人午夜av影视| 一本久道久久综合中文字幕| 欧美色网一区二区| 欧美精品久久99| 日韩精品一区二区在线| 久久久久99精品一区| 国产精品少妇自拍| 一区二区三区在线免费观看 | 欧美一级日韩免费不卡| 欧美一二三区在线观看| 国产亚洲精品精华液| 国产精品久久久久桃色tv| 亚洲欧美一区二区三区久本道91 | 欧美精品在线一区二区| 亚洲精品在线一区二区| 中文一区二区在线观看| 午夜伦欧美伦电影理论片| 久久不见久久见免费视频7| 国产99一区视频免费| 日本久久电影网| 精品国产91亚洲一区二区三区婷婷| 国产女人18水真多18精品一级做| 一区二区三区在线观看欧美| 日本免费在线视频不卡一不卡二 | 一级日本不卡的影视| 天天色天天爱天天射综合| 国产乱妇无码大片在线观看| 在线免费不卡电影| 久久蜜桃av一区精品变态类天堂| 亚洲精选视频在线| 蜜桃在线一区二区三区| 99精品热视频| 久久婷婷国产综合精品青草| 性久久久久久久久| 成人av免费网站| 国产亚洲精品精华液| 日产国产欧美视频一区精品|