freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)太陽(yáng)能電池?cái)?shù)據(jù)采集系統(tǒng)設(shè)計(jì)-資料下載頁(yè)

2025-06-22 02:05本頁(yè)面
  

【正文】 //定義DS18B20D口方向寄存器 define DQ_HIGH() DQ_DIR =1 //設(shè)置數(shù)據(jù)口為輸入 define DQ_LOW() DQ = 0。 DQ_DIR=0 //設(shè)置數(shù)據(jù)口為輸出uchar TLV=0 。 //采集到的溫度高8位uchar THV=0。 //采集到的溫度低8位uchar TZ=0。 //轉(zhuǎn)換后的溫度值整數(shù)部分uchar TX=0。 //轉(zhuǎn)換后的溫度值小數(shù)部分//復(fù)位DS18B20函數(shù)void reset(void){ uchar presence=1。 while(presence) { DQ_LOW() 。 //主機(jī)拉至低電平 delayus(503)。 //延時(shí)503us DQ_HIGH()。 //釋放總線等電阻拉高總線,delayus(70)。 //延時(shí)70usif(DQ) presence=1。 //沒(méi)有接收到應(yīng)答信號(hào),繼續(xù)復(fù)位 else presence=0。 //接收到應(yīng)答信號(hào) delayus(430)。 //延時(shí)430us } }//寫(xiě)DS18B20寫(xiě)字節(jié)函數(shù)void write_byte(uchar val){uchar i。uchar temp。for(i=8。i0。i) { temp=val amp。 0x01。 //最低位移出 DQ_LOW()。 ASM(“NOP”)。 ASM(“NOP”)。 ASM(“NOP”)。 ASM(“NOP”)。 ASM(“NOP”)。 //從高拉至低電平,產(chǎn)生寫(xiě)時(shí)間隙 if(temp==1) DQ_HIGH()。 //如果寫(xiě)1,拉高電平 delayus(63)。 //延時(shí)63us DQ_HIGH()。 ASM(“NOP”)。 ASM(“NOP”)。 val=val1。 //右移一位 }}//DS18B20讀字節(jié)函數(shù)uchar read_byte(void){uchar i。uchar value=0。 //讀出溫度f(wàn)or(i=8。i0。i) { value=1。 DQ_LOW()。 delayus(6)。 //6us DQ_HIGH()。 //拉至高電平 delayus(4)。 /4us if(DQ) value|=0x80。delayus(63)。 //63us } return(value)。}//啟動(dòng)溫度轉(zhuǎn)換函數(shù)void wendu(){ uint i。reset()。PORTA=0X02。 //復(fù)位等待從機(jī)應(yīng)答 write_byte(0XCC)。 //忽略ROM匹配 write_byte(0X44)。 //發(fā)送溫度轉(zhuǎn)化命令reset()。 //再次復(fù)位,等待從機(jī)應(yīng)答 write_byte(0XCC)。 //忽略ROM匹配 write_byte(0XBE)。 //發(fā)送讀溫度命令 TLV=read_byte。 //讀出溫度低8 THV=read_byte 。 //讀出溫度高8位 PORTA=0X02。 //釋放總線 TZ=(TLV4)|(THV4)amp。0X3f。 //溫度整數(shù)部分TX=TLV4。 //溫度小數(shù)部分temp=TZ+TX。}附錄二 //步進(jìn)電機(jī)控制函數(shù)Const uchar table1[]=0xfe,0xfb,0xfd,0xf7。 //正轉(zhuǎn)Const uchar table2[]=0xf7,0xfd,0xfb,0xfe。 //反轉(zhuǎn)uint i=0。void zheng(uint c) //正轉(zhuǎn){ PORTC=table1[i%4]。}void fan(uint c) //反轉(zhuǎn){for(i=0。ic。i++) PORTC=table2[i%4]。{viod bujin(){uint n; if(in) { PORTC=table1[i%4]。 i++。 } Else { PORTC=table2[i%4]。 i++。 }}//A/D轉(zhuǎn)換函數(shù)viod adc(){gq()。 dianya()。void main(){ while(1) { csh()。 //初始化函數(shù) wendu()。 //溫度采集函數(shù) adc()。 //A/D轉(zhuǎn)換函數(shù),包括電壓、電流、光強(qiáng)的采集 xianshi()。 //函數(shù) bujin()。}}附錄三 監(jiān)控顯示MATCOM介紹VC++ ENGINE、利用MEX程序和利用MATCOM等幾種。前兩種方式編寫(xiě)的程序在運(yùn)行時(shí)都不能脫離MATLAB環(huán)境,而利用M的方式則可以開(kāi)發(fā)出能夠脫離MATLAB環(huán)境而獨(dú)立運(yùn)行的程序。因此本設(shè)計(jì)采用MATCOM的方式來(lái)實(shí)現(xiàn)VC++。利用MATCOM實(shí)現(xiàn)VC++,一種是將用MATLAB語(yǔ)言編寫(xiě)的M文件通過(guò)MATCOM (MIDEVA)轉(zhuǎn)換成同等功能的C++源代碼或C++形式的動(dòng)態(tài)鏈接庫(kù):另一種是按照MATCOM的語(yǔ)法,利用MATCOM提供的庫(kù)函數(shù),在VC++。本文中采用后一種方式,直接用MATCOM庫(kù)函數(shù)在VC++。在VC++. lib加入到VC工程當(dāng)中,同時(shí),需要在VC源程序中開(kāi)始插入MATCOM語(yǔ)句的地方用initM (MATCOM_VERSION)語(yǔ)句對(duì)MATCOM函數(shù)庫(kù)進(jìn)行初始化,在編寫(xiě)完MATCOM程序后用exi tld()語(yǔ)句退出MATCOM函數(shù)庫(kù)。致謝從拿到一個(gè)陌生的設(shè)計(jì)題目到逐漸熟悉題目的設(shè)計(jì)任務(wù)及工作步驟,都給自己留下了很深的印象。在這段時(shí)間里,通過(guò)不斷查資料與和老師同學(xué)請(qǐng)教,學(xué)到了許多新的知識(shí),這對(duì)我們以后的學(xué)習(xí)和生活都很有幫助。在這次畢業(yè)設(shè)計(jì)中,對(duì)自己的方案不斷修改,不斷完善,但是在這過(guò)程中遇到過(guò)許多迷惑和困難,多虧指導(dǎo)老師在此期間不斷的輔導(dǎo),同時(shí)提供了許多寶貴的意見(jiàn)和經(jīng)驗(yàn),讓我收獲不小。這次畢業(yè)設(shè)計(jì)之所以能夠完成,和指導(dǎo)老師的輔導(dǎo)密切相關(guān)。在此對(duì)張利娜老師的精心指導(dǎo)和耐心的教育表示衷心的感謝!也對(duì)在畢業(yè)設(shè)計(jì)中給予我?guī)椭睦蠋熀屯瑢W(xué)表示誠(chéng)摯的感謝。
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1