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

正文內容

基于單片機多路溫度巡回檢測儀設計畢業(yè)設計-閱讀頁

2025-03-18 11:28本頁面
  

【正文】 據,如果為負數還要進行求補。其流程圖如下: 圖 MAX7219顯示子程序 程序 按鍵程序功能:通過外部按鍵作用,單片機根據程序作出相應的處理,改變各項參數。開發(fā)操作步驟: 1 新建項目;在 Project中選擇 New Project。 3 編輯 /修改程序; 4 編譯與連接;若有錯誤會顯示 Error( s), arning( s)。 整個電路包括控制單 元、測量單元、顯示電源、 報警電路、 按鍵部分。所以要認真仔細焊接。調試過程中需要用到萬用表、直流電源、數字示波器等 先檢查最小系統(tǒng)的晶振是否起振,方法:用 萬用表測量晶振兩端的電壓是否為 (電源電壓位 5V),因為晶振起振后,其占空比為 50%,所以兩端電壓為 。若符合以上兩者之一,說明晶振電路正常能工作。 void delayms(unsigned int ms) {unsigned int i,j。ims。j110。 } void main() { Q=0。delayms(500) 。 檢查顯示電路能否正常工作,可以編寫一簡單顯示程序寫入單片機加電源觀測如果顯示正確則沒有問題。若沒有問題,用示波器檢測 MAX7219與單片機的三根連線的波形,有波形則單片機運行正常,在檢測 MAX7219的輸出,看是否為正確波形。再查閱資料看連接的配件參數是否有問題。原因: MAX7219通過 V+ 和 IEST 之間所接的外部電阻 21 (Rest)來控制亮度。在多數產品中,最初 Rest取 10K電阻,當采用 RC復位電路時,顯示正常;而采用 MAX813L監(jiān)控復位電路時,在 LED各段均亮時復位有效,從而使單片機系統(tǒng)無法工作。換為 30K以上電阻后,顯示電路可正常工作。改為 47K后正常工作。如能顯示環(huán)境溫度則正常否則存在問題。如果二者均正常則是 DS18B20的連線出現問題或程序存在問題。 我在該部分的問題是焊接電路時出現了短路連接,修改后正常。注意按鍵的消抖問題,可以采用硬件消抖,也可采用軟鍵消抖,我采用的是軟件延時消抖。所以溫度的檢測至關重要,對于大多數生產和種植,都不止一處要用到溫度檢測,大都要有多個監(jiān)測點,那多路溫度檢測的重要性和簡捷性就體現出來了。本次設計的成果: ( 1) 了解了多個應用芯片,懂得了其原理并且能運用用于實際。 ( 4) 經過多次故障排除及程序調試,最終基于單片機的多路溫度巡回檢測儀的設計制作完成,其測量范圍為 9— 99176。 西南石油大學本科生畢業(yè)設計(論文) 22 任何的儀器都需要不斷地改進。隨著技術的發(fā)展和各種設備的加強,我相信該設計會不斷地有改進。 回顧四年時光里,老師同學對我提供了太多的無私幫助和熱情,幫助我能順利地完成大學學業(yè),讓我的知識見識都得到了很大的增長,讓我積累了很多的寶貴經驗,為今后的學習工作打下了堅實的基礎。首先感謝我的指導老師 —— 張培志老師。在我遇到問題時,張老師認真幫助我分析解決。同時,感謝實驗室的同學們,他們也為我提供了大量的幫助,他們不斷 地鼓勵我關心我,讓我堅持不懈的學習研究,最終完成畢業(yè)設計。 sbit set=P0^7。 sbit BDEC=P0^4。 sbit LD=P2^1。 sbit DIN=P2^2。 sbit H=P0^5。 sbit DQ=P1^0。 sbit DQ2=P1^2。 sbit DQ4=P1^4。 sbit DQ6=P1^6。 //*********定義全局變量 ***********// int temp,i=2,n=1。low=7,D=0。 uchar b。 uchar data temp_data[2]={0x00,0x00}。 /*****************延時函數 *************************/ void delay(uint t) { for (。t)。 for(i=0。i++) for(j=0。j++)。 while(presence) { while(presence) { DQ=1。_nop_()。 delay(50)。 delay(6)。 //presence=0 復位成功 ,繼續(xù)下一步 } delay(45)。 } DQ=1。 for(j=8。j) { DQ=1。_nop_()。_nop_()。_nop_()。 //5 us DQ=valamp。 //最低位移出 delay(6)。 //右移 1 位 } DQ=1。 } /****************DS18B20 00 讀 1字節(jié)函數 ************************/ //從總線上取 1 個字節(jié) uchar read_byte() { uchar j。 for(j=8。j) { 西南石油大學本科生畢業(yè)設計(論文) 28 DQ=1。_nop_()。 DQ=0。_nop_()。_nop_()。_nop_()。_nop_()。 //4 us if(DQ)value|=0x80。 //66 us } DQ=1。 } /*****************00 讀出溫度函數 ************************/ read_temp() { ow_reset()。 write_byte(0xcc)。 //發(fā)轉換命令 delayms(800)。 delay(1)。 //發(fā)命令 write_byte(0xbe)。 //讀溫度值的第字節(jié) temp_data[1]=read_byte()。 temp=temp_data[1]。 temp=temp|temp_data[0]。 return temp。 while(presence) { while(presence) { DQ1=1。_nop_()。 delay(50)。 delay(6)。 //presence=0 復位成功 ,繼續(xù)下一步 29 } delay(45)。 } DQ1=1。 for(j=8。j) { DQ1=1。_nop_()。_nop_()。_nop_()。 //5 us DQ1=valamp。 //最低位移出 delay(6)。 //右移 1 位 } DQ1=1。 } /****************DS18B20 01 讀 1字節(jié)函數 ************************/ //從總線上取 1 個字節(jié) uchar read_byte1() { uchar j。 for(j=8。j) { DQ1=1。_nop_()。 DQ1=0。_nop_()。_nop_()。_nop_()。_nop_()。 //4 us if(DQ1)value|=0x80。 //66 us } DQ1=1。 } /*****************01 讀出溫度函數 ************************/ read_temp1() { ow_reset1()。 write_byte1(0xcc)。 //發(fā)轉換命令 delayms(800)。 delay(1)。 //發(fā)命令 write_byte1(0xbe)。 //讀溫度值的第字節(jié) temp_data[1]=read_byte1()。 temp=temp_data[1]。 temp=temp|temp_data[0]。 return temp。 while(presence) { while(presence) { DQ2=1。_nop_()。 delay(50)。 delay(6)。 //presence=0 復位成功 ,繼續(xù)下一步 } delay(45)。 } DQ2=1。 for(j=8。j) { DQ2=1。_nop_()。_nop_()。_nop_()。 //5 us DQ2=valamp。 //最低位移出 delay(6)。 //右移 1 位 } DQ=1。 } /****************DS18B20 02 讀 1字節(jié)函數 ************************/ //從總線上取 1 個字節(jié) uchar read_byte2() { uchar j。 for(j=8。j) { DQ2=1。_nop_()。 DQ2=0。_nop_()。_nop_()。_nop_()。_nop_()。 //4 us if(DQ2)value|=0x80。 //66 us } DQ2=1。 } /*****************02 讀出溫度函數 ************************/ read_temp2() { ow_reset2()。 write_byte2(0xcc)。 //發(fā)轉換命令 ow_reset2()。 write_byte2(0xcc)。 temp_data[0]=read_byte2()。 //讀溫度值的高字節(jié) display[0]=temp_data[1]。 temp=8。 // 兩字節(jié)合成一個整型變量。 //返回溫度值 西南石油大學本科生畢業(yè)設計(論文) 32 }//***************DS18B20 03 復位函數 ************************/ ow_reset3() { char presence=1。_nop_()。//從高拉倒低 DQ3=0。 //550 us DQ3=1。 //66 us presence=DQ3。 //延時 500 us presence=~DQ3。 //拉高電平 } /****************DS18B20 03 寫命令函數 ************************/ //向 1WIRE 總線上寫 1 個字節(jié) void write_byte3(uchar val) { uchar j。j0。_nop_()。 //從高拉倒低 DQ3=0。_nop_()。_nop_()。0x01。 //66 us val=val/2。 delay(1)。 uchar value=0。j0。_nop_()。 value=1。_nop_()。_nop_()。 //4 us DQ3=1。_nop_()。_nop_()。 delay(6)。 return(value)。 //總線復位 delay(200)。 //發(fā)命令 write_byte3(0x44)。 ow_reset3()。 write_byte3(0xcc)。 temp_data[0]=read_byte3()。 //讀溫度值的高字節(jié) display[0]=temp_data[1]。 temp=8。 // 兩字節(jié)合成一個整型變量。 //返回溫度值 } //***************DS18B20 04 復位函數 ************************/ ow_reset4() { char presence=1。_nop_()。//從高拉倒低 DQ4=0。 //550 us DQ4=1。 //66 us presence=DQ4。 //延時 500 us presence=~DQ4。 //拉高電平 } /****************DS18B20 04 寫命令函數 ************************/ //向 1WIRE 總線上寫 1 個字節(jié) void write_byte4(uchar val) { uchar j。j0。_nop_()。 //從高拉倒低 DQ4=0。_nop_()。_nop_()。0x01。 //66 us val=val/2。 delay(1)。 uchar value=0。j0。_nop_()。 value=1。_nop_()。_nop_()。 //4 us DQ4=1。_nop_()。_nop_()。 delay(6)。 return(value)。 //總線復位 35 delay(200)。 //發(fā)命令 write_byte4(0x44)。 ow_reset4()。 write_byte4(0xcc)。 temp_data[0]=read_byte4()。 //讀溫度值的高字節(jié) display[0]=temp_data[1]。 temp=8。 // 兩字節(jié)合成一個整型變量。 //返回溫度值 } //***************DS18B20 05 復位函數 ************************/ ow_reset5() { char presence=1。_nop_()。//從高拉倒低 DQ5=0。 //550 us DQ5=1。 //66 us presence=DQ5。 //延時 500 us presence=~DQ5。 //拉高電平 } /****************DS18B20 05 寫命令 函數 ************************/ //向 1WIRE 總線上寫 1 個字節(jié) void write_byte5(uchar val) { uchar
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1