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

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

?? main.c

?? ds18b20在stc89c58rd+下使用C語言調(diào)試通過
?? C
字號(hào):
#include <P8XC5X2.H>
 #include <intrins.H>
#include "sja_bcanconf.h"
#include "X5045.h"
sbit io=P2^6;
/*CAN通信定義*/
volatile unsigned char bdata flag_init; 	//保存中斷寄存器值
sbit rcv_flag=flag_init^0; 		//接收中斷標(biāo)志
sbit err_flag=flag_init^2; 		//錯(cuò)誤中斷標(biāo)志
unsigned char SendBuf[6];	   	//CAN發(fā)送緩沖區(qū)
unsigned char SampleHVal[8],SampleLVal[8];  //模擬量采集結(jié)果
#define		BaseID			0
#define		RTR				0
#define		DLC				4

#define V_T1s		255		//1秒
#define V_T1m		20
#define V_T50ms		10		//100ms
#define V_TH0   	0xEA  	/*10ms ,!notice: crystal 24MHz */
#define V_TL0   	0x00

#define TERMINAL	0x00		//主機(jī)命令CAN通信標(biāo)識(shí)兼功能碼 

volatile unsigned char CanID;			      //當(dāng)前CAN節(jié)點(diǎn)的標(biāo)識(shí)
void LedTest()
{
	static char led=1;
	led=!led;
	io=led;	
}
void InitWtd()
{
	wren_dog();				//看門狗寫使能
	wrsr_dog(0x03);			//看門狗周期1.4秒
	wrdi_dog();				//看門狗寫禁止	
}
void FeedDog()
{
	 rest_dog();	
} 
void delayUs()
{
    _nop_();
}

void delayMs(unsigned char a)
{
    unsigned char i, j;
    for(i = a; i > 0; i--)
        for(j = 100; j > 0; j--);
}

/**//*****************************DS18B20*******************************/
sbit ds = P1^0;
//初始化DS18B20
//讓DS18B20一段相對長時(shí)間低電平, 然后一段相對非常短時(shí)間高電平, 即可啟動(dòng)
void dsInit()
{
    //對于11.0592MHz時(shí)鐘, unsigned int型的i, 作一個(gè)i++操作的時(shí)間大于為8us
    unsigned char i;  
    ds = 0;
    i = 100;   //拉低約800us, 符合協(xié)議要求的480us以上
    while(i>0) i--;
    ds = 1;    //產(chǎn)生一個(gè)上升沿, 進(jìn)入等待應(yīng)答狀態(tài)
    i = 5;
    while(i>0) i--;
}

void dsWait()
{
      unsigned char i;
      while(ds)FeedDog(); 
      while(~ds)FeedDog();  //檢測到應(yīng)答脈沖
	  //LedTest();
	  i = 4;
      while(i > 0) i--;
}

//向DS18B20讀取一位數(shù)據(jù)
//讀一位, 讓DS18B20一小周期低電平, 然后兩小周期高電平, 
//之后DS18B20則會(huì)輸出持續(xù)一段時(shí)間的一位數(shù)據(jù)
bit readBit()
{
    unsigned char i;
    bit b;
    ds = 0;
    i++;   //延時(shí)約8us, 符合協(xié)議要求至少保持1us
    ds = 1; 
    i++; i++; //延時(shí)約16us, 符合協(xié)議要求的至少延時(shí)15us以上
    b = ds;
    i = 10; 
    while(i>0) i--;  //延時(shí)約64us, 符合讀時(shí)隙不低于60us要求
    return b;
}

//讀取一字節(jié)數(shù)據(jù), 通過調(diào)用readBit()來實(shí)現(xiàn)
unsigned char readByte()
{
    unsigned char i;
    unsigned char j, dat;
    dat = 0;
    for(i=0; i<8; i++)
    {
        j = readBit();
        //最先讀出的是最低位數(shù)據(jù)
        dat = (j << 7) | (dat >> 1);
    }
    return dat;
}

//向DS18B20寫入一字節(jié)數(shù)據(jù)
void writeByte(unsigned char dat)
{
    unsigned char i;
    unsigned char j;
    bit b;
    for(j = 0; j < 8; j++)
    {
        b = dat & 0x01;
        dat >>= 1;
        //寫"1", 將DQ拉低15us后, 在15us~60us內(nèi)將DQ拉高, 即完成寫1
        if(b)   
        {
            ds = 0;
            i++; i++; i++; //拉低約16us, 符號(hào)要求15~60us內(nèi)
            ds = 1;    
            i = 10; while(i>0) i--;  //延時(shí)約64us, 符合寫時(shí)隙不低于60us要求
        }
        else  //寫"0", 將DQ拉低60us~120us
        {
            ds = 0;
            i = 10; while(i>0) i--;  //拉低約64us, 符號(hào)要求
            ds = 1;
            i++; i++;  //整個(gè)寫0時(shí)隙過程已經(jīng)超過60us, 這里就不用像寫1那樣, 再延時(shí)64us了
        }
    }
}

//向DS18B20發(fā)送溫度轉(zhuǎn)換命令
void sendChangeCmd()
{
    dsInit();   //初始化DS18B20, 無論什么命令, 首先都要發(fā)起初始化
    dsWait();   //等待DS18B20應(yīng)答
    delayMs(1); //延時(shí)1ms, 因?yàn)镈S18B20會(huì)拉低DQ 60~240us作為應(yīng)答信號(hào)
    writeByte(0xcc); //寫入跳過序列號(hào)命令字 Skip Rom
    writeByte(0x44); //寫入溫度轉(zhuǎn)換命令字 Convert T
}

//向DS18B20發(fā)送讀取數(shù)據(jù)命令
void sendReadCmd()
{
    dsInit();
    dsWait();
    delayMs(1);
    writeByte(0xcc); //寫入跳過序列號(hào)命令字 Skip Rom
    writeByte(0xbe); //寫入讀取數(shù)據(jù)令字 Read Scratchpad
}

//獲取當(dāng)前溫度值
void getTmpValue()
{
    sendReadCmd();
    //連續(xù)讀取兩個(gè)字節(jié)數(shù)據(jù) 
    SampleLVal[0] = readByte(); 
    SampleHVal[0] = readByte();
	//if(SampleHVal[0]==0xFF)LedTest();
}
/**//*****************************DS18B20*******************************/
void InitCPU()
{
	EX0	=1;
	PX0	=1;
}
void CheckCan()
{
	if(rcv_flag)                                //if there is receive charerrupt
    {					
	}			
	if(err_flag)
	{
		 EA=0;
		 err_flag=0;                            //錯(cuò)誤標(biāo)志位清零
         Config_SJA();                        	//初始化SJA
		 EA=1;		
	}	
}
void SendByCan()
{
	SendBuf[0]=TERMINAL;		//主機(jī)標(biāo)識(shí)
	SendBuf[1]=0x00|DLC;		//標(biāo)識(shí)低3位和RTR以及請求數(shù)據(jù)位數(shù)
	SendBuf[2]=CanID;			//本地CAN標(biāo)識(shí)
	SendBuf[3]=0;				//第i路遙測值
	SendBuf[4]=SampleLVal[0];	//遙測低字節(jié)值
	SendBuf[5]=SampleHVal[0];	//遙測高字節(jié)值
	BCAN_DATA_WRITE(SendBuf);
	BCAN_CMD_PRG(TR_CMD);			
}
void InitCanID()
{
	//讀入P2口狀態(tài),其中0~3為跳線設(shè)置
	CanID=~P2;
	CanID&=0x0f;
	CanID|=0x80;
}

void main()
{
	InitCanID();			//計(jì)算當(dāng)前節(jié)點(diǎn)的CAN標(biāo)識(shí)
	Config_SJA();		   	//CAN初始化,SJA1000配置
	InitCPU();				//CPU初始化	
	P3_4=0;
	P1=0;
	InitWtd();				//看門狗電路初始化
	sendChangeCmd();
    while(1)
    {
		CheckCan();
        delayMs(255); //溫度轉(zhuǎn)換時(shí)間需要750ms以上
		FeedDog();
		delayMs(255);
		delayMs(255);
		FeedDog();
		delayMs(255);
		delayMs(255);
		FeedDog();
		delayMs(255);
		delayMs(255);
        getTmpValue();
		SendByCan();
		//LedTest();
        sendChangeCmd();
		FeedDog();
    }
}
void SJA_INTR() interrupt 0 using 1
{
	SJA_BCANAdr=REG_INTERRUPT; 					//指針指向中斷寄存器
	flag_init=*SJA_BCANAdr; 					//保持中斷寄存器值
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲人成小说网站色在线 | 91激情五月电影| 国产清纯美女被跳蛋高潮一区二区久久w | 精品国内二区三区| 风间由美一区二区av101| 成人欧美一区二区三区黑人麻豆| 在线免费观看视频一区| 免费观看在线综合色| 日本一区二区不卡视频| 欧美三级电影网| 国产精品69久久久久水密桃| 亚洲国产精品精华液网站| 2020国产精品久久精品美国| 欧美日韩精品一区二区三区| 不卡在线观看av| 91玉足脚交白嫩脚丫在线播放| 日本最新不卡在线| 亚洲三级在线免费| 久久久久99精品国产片| 欧美一区二区三区系列电影| 色噜噜狠狠成人网p站| 高清不卡一二三区| 韩国午夜理伦三级不卡影院| 天天做天天摸天天爽国产一区 | 国产精品久久久久久久久晋中 | 久久综合视频网| 日本高清不卡在线观看| 粉嫩嫩av羞羞动漫久久久 | 在线观看日产精品| 国产 欧美在线| 免费在线视频一区| 亚洲综合免费观看高清完整版 | 欧美国产精品专区| 精品理论电影在线观看| 777久久久精品| 欧美在线观看一区二区| 91视视频在线直接观看在线看网页在线看| 国产一区二区在线观看免费 | 狠狠v欧美v日韩v亚洲ⅴ| 蜜臀a∨国产成人精品| 午夜精品久久久久久久久| 午夜在线电影亚洲一区| 亚洲影视在线播放| 亚洲综合视频网| 亚洲午夜久久久久久久久电影网| 中文字幕一区二区三区在线不卡| 国产精品久久久久久久久免费丝袜 | 一区二区三区色| 日本午夜精品视频在线观看| 亚洲h动漫在线| 五月婷婷综合网| 三级一区在线视频先锋 | 久久综合久久综合久久| 久久蜜桃一区二区| 国产精品传媒入口麻豆| 亚洲色欲色欲www| 一区二区三区久久久| 亚洲综合清纯丝袜自拍| 日本网站在线观看一区二区三区| 捆绑调教一区二区三区| 国产精品18久久久久| 成人小视频免费观看| 91视频观看免费| 欧美熟乱第一页| 欧美大片一区二区三区| 国产色综合一区| 亚洲女厕所小便bbb| 亚洲一区二区在线观看视频| 日韩成人dvd| 国产经典欧美精品| 91首页免费视频| 制服丝袜在线91| 国产婷婷色一区二区三区在线| 国产精品的网站| 日韩一区精品字幕| 国产一本一道久久香蕉| 91浏览器入口在线观看| 制服.丝袜.亚洲.中文.综合| 久久日韩粉嫩一区二区三区| 亚洲精品欧美专区| 国产一区啦啦啦在线观看| 色一区在线观看| 欧美大片日本大片免费观看| 日韩美女视频19| 麻豆91在线播放免费| www.av亚洲| 欧美一区二区视频在线观看| 国产欧美视频在线观看| 五月天一区二区| 国产福利不卡视频| 欧美探花视频资源| 国产无遮挡一区二区三区毛片日本| 亚洲精品免费视频| 国模无码大尺度一区二区三区| 成人午夜视频网站| 6080国产精品一区二区| 国产精品久久夜| 日本不卡在线视频| 不卡免费追剧大全电视剧网站| 91精品国产91久久久久久一区二区 | 日韩欧美国产小视频| 国产精品欧美综合在线| 日本中文字幕一区二区视频 | 亚洲午夜免费视频| 国产成a人亚洲| 666欧美在线视频| 亚洲精品免费看| 国产电影精品久久禁18| 欧美一级一级性生活免费录像| 亚洲欧美福利一区二区| 国产一区二区三区久久悠悠色av| 欧美日韩成人在线一区| 亚洲欧洲精品天堂一级| 国产剧情在线观看一区二区| 欧美巨大另类极品videosbest| 国产精品毛片久久久久久久| 国模套图日韩精品一区二区 | 7777精品伊人久久久大香线蕉经典版下载| 亚洲国产高清在线观看视频| 激情六月婷婷久久| 日韩欧美一区在线观看| 午夜久久久久久电影| 色偷偷成人一区二区三区91 | 偷拍亚洲欧洲综合| 欧洲av在线精品| 亚洲女与黑人做爰| 成人看片黄a免费看在线| 国产视频911| 国产 欧美在线| 国产欧美日韩另类一区| 国产综合成人久久大片91| 日韩欧美自拍偷拍| 久久成人免费网| 欧美电影免费提供在线观看| 麻豆91小视频| 精品国产乱码久久久久久老虎| 蜜桃免费网站一区二区三区| 日韩丝袜美女视频| 美女视频第一区二区三区免费观看网站 | 丰满亚洲少妇av| 中文字幕第一区二区| 国产69精品久久99不卡| 亚洲国产精品ⅴa在线观看| 成人午夜精品在线| 国产亚洲精品7777| 粉嫩欧美一区二区三区高清影视| 欧美韩日一区二区三区| 99久久免费国产| 亚洲精品第1页| 欧美日韩一区二区三区四区| 日本大胆欧美人术艺术动态| 精品国产一区二区三区不卡| 国产一区二区三区观看| 国产欧美精品在线观看| 成人精品国产免费网站| 亚洲男人天堂av网| 欧美日韩视频在线观看一区二区三区 | 国产精品美女视频| 色综合色狠狠天天综合色| 亚洲3atv精品一区二区三区| 欧美日韩激情一区| 蜜桃视频免费观看一区| 欧美激情资源网| 91网站最新地址| 亚洲国产成人av| 欧美不卡激情三级在线观看| 国产91精品一区二区麻豆网站 | 亚洲精品日日夜夜| 在线成人小视频| 国产乱码字幕精品高清av | 亚洲最快最全在线视频| 3atv一区二区三区| 国产成人综合亚洲网站| 亚洲人被黑人高潮完整版| 欧美精品久久久久久久久老牛影院| 久久精品国产在热久久| 国产精品黄色在线观看| 欧美日韩视频专区在线播放| 国产精品一区久久久久| 亚洲一卡二卡三卡四卡| 2020国产精品久久精品美国| 色综合一区二区| 经典三级视频一区| 亚洲免费色视频| 欧美草草影院在线视频| 色88888久久久久久影院按摩 | 一区二区三区日韩欧美| 精品久久国产老人久久综合| 色综合天天视频在线观看| 久久99精品国产麻豆不卡| 亚洲欧美日韩在线播放| 精品日韩av一区二区| 欧美亚洲愉拍一区二区| 国产乱码精品一区二区三| 亚洲777理论| 日韩美女视频一区| 国产亚洲制服色| 制服丝袜在线91| 在线免费不卡视频| 粉嫩嫩av羞羞动漫久久久|