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

正文內(nèi)容

基于labview的溫度控制系統(tǒng)設(shè)計(jì)畢業(yè)論文-資料下載頁

2025-06-22 01:02本頁面
  

【正文】 and application of microcontroller[M].beijing:Higher Education Press,2004.[22] Family of Single Chip Microputer User’s Manual,1990.附 錄附錄一 電路原理圖附錄二 PCB圖附錄三 元器件清單名稱型號(hào)備注數(shù)量在原理圖上的標(biāo)號(hào)AVR單片機(jī)Atmega161固態(tài)繼電器GTJ242A1溫度傳感器DS18B201晶體振蕩器1瓷片電容30pF2電解電容25V/10uF4排插2x52排插底座2x51插針底座1x31排線1x31插針1x21音頻頭1接線柱1x22銅柱8排線1排6根1串口頭DB9公頭1水泥電阻8W2K23銅板萬用板1附錄四 相關(guān)程序下位機(jī)程序主程序include /*包含相關(guān)頭文件*/include include include include include include define OCR OCR1A//全局變量聲明unsigned char Temp_H,Temp_L。 //溫度高位,低位,復(fù)位成功標(biāo)志//主函數(shù)void main(void){ float temp,a,b,c=0。 int middle,j,k,l。 unsigned char f_to_p。 unsigned int i。 //用于暫存讀回的16位溫度值 unsigned char t[6]。 //用于存溫度數(shù)值及單位 unsigned char *p。 unsigned char tmp=0。 Temp_H = 0。 Temp_L = 0。 port_init()。 //端口初始化 pwm_init()。 //pwm初始化 OCR=0。port_1820()。 //DS18B20對(duì)應(yīng)單片機(jī)端口初始化 Uart_Init()。 //波特率9600 初始化串口 while (1) { for(k=0。k=9。k++) { ds1820_reset()。 //復(fù)位D18B20 ds1820_start()。 //啟動(dòng)一次轉(zhuǎn)換 longdelay()。 //等待轉(zhuǎn)換結(jié)束 longdelay()。 i = ds1820_read_temp()。 //讀取溫度數(shù)值,讀得的溫度值為16位 //用于調(diào)試的原始溫度數(shù)據(jù) //i=0x07d0。 //當(dāng)溫度為125oC時(shí)的i值 //i=0xff5e。 // //i=0xfebe。 // //i=0x0191。 // //i=0x0550。 //正85度 if(iamp。0x8000) //判斷溫度正負(fù) { /溫度為負(fù)時(shí) //一個(gè)字長的溫度值轉(zhuǎn)換成兩個(gè)字節(jié),分別放在Temp_L,Temp_H中 Temp_L=(char)(iamp。0x00ff)。 //取i中的低8位 Temp_H=(char)((iamp。0xff00)8)。 //取i中的高8位 Temp_H = ~Temp_H。 //負(fù)溫度。取反加1 Temp_L = ~Temp_L。 asm(clc)。 //清零進(jìn)位位標(biāo)志 Temp_L++。 //溫度低字節(jié)加1 if((SREGamp。0x01)!=0x01) //有進(jìn)位嗎? { Temp_H++。 //有進(jìn)位,則溫度高字節(jié)加1 } i=Temp_H。 //高8位放回i中 i=(i8)|Temp_L。 //低8位放回i中 temp=(float)(i*)。 middle=(int)(temp*100)。 //取整數(shù)帶小數(shù)點(diǎn)后兩位 t[0]=middle/10000+0x30。 t[1]=(middle%10000)/1000+0x30。 t[2]=(middle%1000)/100+0x30。 t[3]=0x2e。 //value_1[3]為小數(shù)點(diǎn)存放單元 t[4]=(middle%100)/10+0x30。 t[5]=(middle%10)+0x30。 Uart_Transmit(0x2d)。 for(j=0。j=5。j++) { Uart_Transmit(t[j])。 } Uart_Transmit(0x0d)。 } else { //溫度為正 temp=(float)(i*)。 middle=(int)(temp*100)。 //取整數(shù)帶小數(shù)點(diǎn)后兩位 t[0]=middle/10000+0x30。 t[1]=(middle%10000)/1000+0x30。 t[2]=(middle%1000)/100+0x30。 t[3]=0x2e。 //value_1[3]為小數(shù)點(diǎn)存放單元 t[4]=(middle%100)/10+0x30。 t[5]=(middle%10)+0x30。 Uart_Transmit(0x2b)。 for(j=0。j=5。j++) { Uart_Transmit(t[j])。 } Uart_Transmit(0x0d)。 } } Uart_Transmit(0x24)。 //和上位機(jī)握手 for(l=0。l=4。l++) { Uart_Receive()。 a=UDR0x30。 b=a*pow(10,l2)。 c+=b。 } OCR=(20*c)。 //根據(jù)PID輸出的控制調(diào)節(jié)占空比 } }DS18B20函數(shù)include include define DQ_IN DDRA amp。= ~(1 PA7) /*設(shè)置輸入*/define DQ_OUT DDRA |= (1 PA7) /*設(shè)置輸出*/define DQ_CLR PORTA amp。= ~(1 PA7) /*置低電平*/define DQ_SET PORTA |= (1 PA7) /*置高電平*/define DQ_R PINA amp。 (1 PA7) /*讀了電平*/unsigned char flag。 /*中斷標(biāo)志緩存*//*DS18B20復(fù)位函數(shù)*/unsigned char ds1820_reset(void) { unsigned char i。 flag = SREG。 /*中斷保護(hù)*/ CLI()。 /*關(guān)中斷*/ DQ_OUT。 DQ_CLR。 delayUs(255)。 /*延時(shí)500uS(480960)*/ delayUs(255)。 delayUs(128)。 DQ_SET。 DQ_IN。 delayUs(100)。 /*延時(shí)80uS*/ i = DQ_R。 delayUs(255)。 /*延時(shí)500uS(保持480uS)*/ delayUs(255)。 delayUs(128)。 if (flag amp。 0x80) { /*恢復(fù)中斷狀態(tài)*/ SEI()。 } if (i) { return 0x00。 } else { return 0x01。 }}/*DS18B20字節(jié)讀取函數(shù)*/unsigned char ds1820_read_byte(void) { unsigned char i。 unsigned char value = 0。 flag = SREG。 /*中斷保護(hù)*/ CLI()。 /*關(guān)中斷*/ for (i = 8。 i != 0。 i) { value = 1。 DQ_OUT。 DQ_CLR。 delayUs(2)。 /*延時(shí)4uS*/ NOP()。 NOP()。 NOP()。 NOP()。 NOP()。 DQ_SET。 DQ_IN。 delayUs(4)。 /*延時(shí)10uS*/ delayUs(4)。 if (DQ_R) { value|=0x80。 } delayUs(35)。 /*延時(shí)60uS*/ delayUs(35)。 } if (flag amp。 0x80) { /*恢復(fù)中斷狀態(tài)*/ SEI()。 } return(value)。}/*DS18B20字節(jié)寫入函數(shù)*/void ds1820_write_byte(unsigned char value) { unsigned char i。 flag = SREG。 /*中斷保護(hù)*/ CLI()。 /*關(guān)中斷*/ for (i = 8。 i != 0。 i) { DQ_OUT。 DQ_CLR。 delayUs(2)。 /*延時(shí)4uS*/ NOP()。 NOP()。 NOP()。 NOP()。 NOP()。 if (value amp。 0x01) { DQ_SET。 } delayUs(100)。 /*延時(shí)80uS*/ DQ_SET。 /*位結(jié)束*/ value = 1。 } if (flag amp。 0x80) { /*恢復(fù)中斷狀態(tài)*/ SEI()。 }}/*啟動(dòng)ds1820轉(zhuǎn)換*/void ds1820_start(void) { ds1820_reset()。 ds1820_write_byte(0xCC)。 /*勿略地址*/ ds1820_write_byte(0x44)。 /*啟動(dòng)轉(zhuǎn)換*/}/*DS8B20讀取溫度信息*/unsigned int ds1820_read_temp(void) { unsigned int i。 unsigned char buf[9]。 ds1820_reset()。 ds1820_w
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1