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

正文內(nèi)容

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

2025-06-27 19:25本頁面
  

【正文】 table_dm[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40}。//共陰LED 段碼表0 1 2 3 4 5 6 7 8 9 不亮 //uchar code table_dm2[1]={0x39}。uchar table_dm1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}。 //個(gè)位帶小數(shù)點(diǎn)的斷碼表uchar data temp_data[2]={0x00,0x00}。 //讀出溫度暫放uchar data display[5]={0x00,0x00,0x00,0x00,0x00}。 //顯示單元數(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。j5。j++){switch (j){delay(50)。case 0: P0=0x39。P2=4。delay(100)。case 1: P0=table_dm[display[0]]。P2=3。delay(100)。//xiaoshucase 2: P0=table_dm1[display[1]]。P2=2。delay(100)。//geweicase 3: P0=table_dm[display[2]]。P2=1。delay(100)。//shiweicase 4: P0=table_dm[display[3]]。P2=0。delay(100)。//baiwei}}}//***************DS18B20 復(fù)位函數(shù)************************/ow_reset(void){char presence=1。while(presence){while(presence){DQ=1。_nop_()。_nop_()。//從高拉倒低DQ=0。delay(50)。 //550 usDQ=1。delay(6)。 //66 uspresence=DQ。 //presence=0 復(fù)位成功,繼續(xù)下一步}delay(45)。 //延時(shí)500 uspresence=~DQ。}DQ=1。 //拉高電平}/****************DS18B20 寫命令函數(shù)************************///向1WIRE 總線上寫1 個(gè)字節(jié)void write_byte(uchar val){uchar i。for(i=8。i0。i){DQ=1。_nop_()。_nop_()。 //從高拉倒低DQ=0。_nop_()。_nop_()。_nop_()。_nop_()。 //5 usDQ=valamp。0x01。 //最低位移出delay(6)。 //66 usval=val/2。 //右移1 位}DQ=1。delay(1)。}/****************DS18B20 讀1 字節(jié)函數(shù)************************///從總線上取1 個(gè)字節(jié)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 usDQ=1。_nop_()。_nop_()。_nop_()。_nop_()。 //4 usif(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ù)************************//********************************************************/work_temp(uint tem){uchar n=0。if(tem6348) // 溫度值正負(fù)判斷{tem=65536tem。n=1。} // 負(fù)溫度求補(bǔ)碼,標(biāo)志位置1display[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(n){display[3]=0x0b。} //負(fù)溫度時(shí)最高位顯示}void BEEP(){if(r=highamp。amp。r129)//||rlow){beep=!beep。RELAY=1。led=~led。delay(300)。}else{beep=0。RELAY=0。led=1。}if(rlow){beep=!beep。RELAY=1。led1=~led1。delay(300)。}else{beep=0。RELAY=0。led1=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(){P0=0x00。 //初始化端口for(h=0。h4。h++) //開機(jī)顯示0000{display[h]=0。}ow_reset()。 //開機(jī)先轉(zhuǎn)換一次write_byte(0xcc)。 //Skip ROMwrite_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()。}elsekeyscan()。}}參考文獻(xiàn)[1]《51單片機(jī)課程設(shè)計(jì)》周向紅/主編—— 武漢:[2]《單片機(jī)原理與應(yīng)用》李精華/主編 李興富/副主編—— 北京:高等教育出版社,[3]《數(shù)字電子技術(shù)基礎(chǔ)》劉守義 鐘蘇/主編 ——北京:清華大學(xué)出版社,[4]《C語言程序設(shè)計(jì)》譚浩強(qiáng)/主編,——北京:華夏出版社,[5]《DS18B20 數(shù)字式溫度傳感器的特性與應(yīng)用電子技術(shù)》江太輝,鄧展威/主編 . 2003年第12 期[6]《單片機(jī)的 C 語言應(yīng)用程序設(shè)計(jì)》馬忠梅/主編——北京:北京航空航天大學(xué)出版社,2003[7]《Protel 99 SE原理圖與PCB設(shè)計(jì)教程》及力/主編——北京:電子工業(yè)出版社
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1