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

正文內(nèi)容

柴油發(fā)動(dòng)機(jī)冷卻水溫控制系統(tǒng)的硬件設(shè)計(jì)-畢業(yè)設(shè)計(jì)__論文-資料下載頁

2024-08-27 10:07本頁面

【導(dǎo)讀】本人聲明,所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立完成的研究成果。人已用于其他學(xué)位申請(qǐng)的論文或成果。對(duì)本文的研究成果作出重要貢獻(xiàn)的個(gè)人和集體,均已在。文中以明確方式表明。本人完全意識(shí)到本聲明的法律后果由本人承擔(dān)。關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán)南昌航空大學(xué)科。等復(fù)制手段保存和匯編本學(xué)位論文。溫的研究得到了越來越多科研機(jī)構(gòu)的重視。的動(dòng)力性、減少?gòu)U氣的產(chǎn)生、還可以減少燃料消耗量、增強(qiáng)發(fā)動(dòng)機(jī)工作平穩(wěn)性。過比較數(shù)據(jù)分析得出最佳溫度范圍。進(jìn)行這些發(fā)動(dòng)機(jī)性能測(cè)試實(shí)驗(yàn)的必備條件是有。制裝置就是本課題的研究目的。量水溫,繼電器控制風(fēng)扇的方式,達(dá)到降低冷卻水溫的目的??刂破髡娴?個(gè)按。鍵可以進(jìn)行溫度范圍的設(shè)定,4位數(shù)碼管顯示溫度值。

  

【正文】 /******************************************/ /*File Name: /*Date : */ /* 基于 51 單片機(jī)溫度計(jì)燈設(shè)計(jì) */ /******************************************/ include include //_nop_()。延時(shí)函數(shù)用 define uchar unsigned char define uint unsigned int define dm P0 //段碼輸出口 sbit DQ=P3^7。 //溫度輸入口 sbit w0=P2^3。 //數(shù)碼管 4 sbit w1=P2^6。 //數(shù)碼管 3 sbit w2=P2^1。 //數(shù)碼管 2 sbit w3=P2^0。 //數(shù)碼管 1 sbit beep=P2^7。 //蜂鳴器 sbit LED=P3^5。 //和指示燈 sbit set=P3^1。 //溫度設(shè)置切換鍵 sbit add=P3^2。 //溫度加 sbit dec=P3^3。 //溫度減 int temp1=0。 //顯示當(dāng)前溫度和設(shè)置溫度的標(biāo)志位為 0 時(shí)顯示當(dāng)前溫度 uchar high=90,low=20。 uint h。 uint temp。 uchar r,k。 uchar sign。 uchar q=0。 uchar tt=0。 uchar scale。 //**************溫度小數(shù)部分用查表法 ***********// uchar code ditab[16]={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09}。 uchar code table_dm[12]={ 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff,0xbf}。 uchar table_dm1[]={0x40,0x79,0x24,0x30,0x19, 0x12,0x02,0x78,0x00,0x10}。 //個(gè)位帶小數(shù)點(diǎn)的斷碼表 uchar data temp_data[2]={0xff,0xff}。 //讀出溫度暫放 uchar data display[5]={0xff,0xff,0xff,0xff,0xff}。 //顯示單元數(shù)據(jù) , 共 4 個(gè)數(shù)據(jù)和一個(gè)運(yùn)算暫用 /*****************11us 延時(shí)函數(shù) *************************/ void delay(uint t) { for (。t0。t)。 } void scan() { int j。 for(j=0。j4。j++) { switch (j) { case 0: dm=table_dm[display[0]]。w0=0。delay(50)。w0=1。//xiaoshu case 1: dm=table_dm1[display[1]]。w1=0。delay(50)。w1=1。//gewei case 2: dm=table_dm[display[2]]。w2=0。delay(50)。w2=1。//shiwei case 3: dm=table_dm[display[3]]。w3=0。delay(50)。w3=1。//baiwei } } } /*****************18b20 操作函數(shù) *************************/ //DS18B20 復(fù)位函數(shù) void ow_reset(void) { char presence=1。 while(presence) { while(presence) { DQ=1。_nop_()。_nop_()。//從高拉倒低 DQ=0。 delay(50)。 //550 us DQ=1。 delay(6)。 //66 us presence=DQ。 //presence=0 復(fù)位成功 ,繼續(xù)下一步 } delay(45)。 //延時(shí) 500 us presence=~DQ。 } DQ=1。 //拉高電平 } //DS18B20 寫命令函數(shù) void write_byte(uchar val) { uchar i。 for(i=8。i0。i) { DQ=1。_nop_()。_nop_()。 //從高拉倒低 DQ=0。_nop_()。_nop_()。_nop_()。_nop_()。 //5 us DQ=valamp。0x01。 //最低位移出 delay(6)。 //66 us val=val/2。 //右移 1 位 } DQ=1。 delay(1)。 } ///DS18B20 讀 1 字節(jié)函數(shù) uchar read_byte(void) { uchar i。 uchar value=0。 for(i=8。i0。i) { DQ=1。_nop_()。_nop_()。 value=1。 DQ=0。_nop_()。_nop_()。_nop_()。_nop_()。 //4 us DQ=1。_nop_()。_nop_()。_nop_()。_nop_()。 //4 us if(DQ)value|=0x80。 delay(6)。 //66 us } DQ=1。 return(value)。 } /*****************讀出溫度函數(shù) ************************/ read_temp() { ow_reset()。 //總線復(fù)位 delay(200)。 write_byte(0xcc)。 //發(fā)命令 write_byte(0x44)。 //發(fā)轉(zhuǎn)換命令 ow_reset()。 delay(1)。 write_byte(0xcc)。 //發(fā)命令 write_byte(0xbe)。 temp_data[0]=read_byte()。 //讀溫度值的第字節(jié) temp_data[1]=read_byte()。 //讀溫度值的高字節(jié) temp=temp_data[1]。 temp=8。 temp=temp|temp_data[0]。 // 兩字節(jié)合成一個(gè)整型變量。 return temp。 //返回溫度值 } /****************溫度數(shù)據(jù)處理函數(shù) ************************/ //二進(jìn)制高字節(jié)的低半字節(jié)和低字節(jié)的高半字節(jié)組成一字節(jié) ,這個(gè) //字節(jié)的二進(jìn)制轉(zhuǎn)換為十進(jìn)制后 ,就是溫度值的百、十、個(gè)位值 ,而剩 //下的低字節(jié)的低半字節(jié)轉(zhuǎn)化成十進(jìn)制后 ,就是溫度值的小數(shù)部分 /********************************************************/ void work_temp(uint tem) { k=0。 if(tem6348) // 溫度值正負(fù)判斷 { tem=65536tem。k=1。} // 負(fù)溫度求補(bǔ)碼 ,標(biāo)志 位置 1 display[4]=temamp。0x0f。 // 取小數(shù)部分的值 display[0]=ditab[display[4]]。 // 存入小數(shù)部分顯示值 display[4]=tem4。 // 取中間八位 ,即整數(shù)部分的值 display[3]=display[4]/100。 // 取百位數(shù)據(jù)暫存 display[1]=display[4]%100。 // 取后兩位數(shù)據(jù)暫存 display[2]=display[1]/10。 // 取十位數(shù)據(jù)暫存 display[1]=display[1]%10。 //個(gè)位數(shù)據(jù) r=display[1]+display[2]*10+display[3]*100。 /////符號(hào)位顯示判斷 ///// if(!display[3]) { display[3]=0x0a。 //最高位為 0 時(shí)不顯示 if(!display[2]) { display[2]=0x0a。 //次高位為 0 時(shí)不顯示 } } if(k){display[3]=0x0b。} //負(fù)溫度時(shí)最高位顯示 } void BEEP() { if((r=highamp。amp。r129)||r=low) { beep=!beep。 LED=!LED。 delay(500)。 } else { beep=1。 LED=1。 } } //*********設(shè)置溫度顯示轉(zhuǎn)換 ************// void xianshi(int horl) { int n=0。 if(horl128) { horl=256horl。n=1。 } display[3]=horl/100。 display[3]=display[3]amp。0x0f。 display[2]=horl%100/10。 display[1]=horl%10。 display[0]=0。 if(!display[3]) { display[3]=0x0a。 //最高位為 0 時(shí)不顯示 if(!display[2]) { display[2]=0x0a。 //次高位為 0 時(shí)不顯示 } } if(n) { display[3]=0x0b。 //負(fù)溫度時(shí)最高位顯示 } } //*********按鍵查詢程序 **************// void keyscan() { int temp1。 //最高溫度和最低溫度標(biāo)志位 if(set==0) { while(1) { delay(500)。//消抖 if(set==0) { temp1++。 while(!set) scan()。 } if(temp1==1) { xianshi(high)。 scan()。 if(add==0) { while(!add) scan()。 high+=1。 } if(dec==0) { while(!dec) scan()。 high=1。 } } if(temp1==2) { xianshi(low)。 if(add==0) { while(!add) scan()。 low+=1。 } if(dec==0) { while(!dec) scan()。 low=1。 } scan()。 } if(temp1=3) { temp1=0。 break。 } } } } /****************主函數(shù) ************************/ void main() { dm=0x00。 //初始化端口 w0=1。 w1=1。 w2=1。 w3=1。 for(h=0。h4。h++) //開機(jī)顯示 0000 { display[h]=0。 } ow_reset()。 //開機(jī)先轉(zhuǎn)換一次 write_byte(0xcc)。 //Skip ROM write_byte(0x44)。 //發(fā)轉(zhuǎn)換命令 for(h=0。h100。h++) //開機(jī)顯示 0000 { scan()。 } while(1) { if (temp1==0) { work_temp(read_temp())。 //處理溫度數(shù)據(jù) BEEP()。 scan()。 //顯示溫度值 keyscan()。 } else keyscan()。 } }
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1