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

正文內(nèi)容

畢業(yè)設計論文_基于單片機的數(shù)字溫度計設計-資料下載頁

2024-08-30 19:44本頁面

【導讀】本課題的研究方法是利用單片機和數(shù)字溫度傳感器DS18B20設計一臺數(shù)字溫度計。上下限報警功能,實現(xiàn)報警提示。本設計將利用DS18B20智能溫度傳感器和單片機小系統(tǒng),設計一個數(shù)字溫度采集系統(tǒng)。系統(tǒng)的總體設計方案框圖如圖所示。的測溫電路、外接鍵盤、顯示電路、報警電路、復位電路和晶振電路。以4位數(shù)碼管為顯示器件,利用單片機的P0口和電阻排來驅(qū)動。復位電路有上電自動復位和按鍵手動復位兩種方式。蕩器構(gòu)成一個穩(wěn)定的自激振蕩器,這就是單片機的晶振電路。這種方式稱之為內(nèi)部的時鐘源。在80C51系列中電容的大小30皮法。另外,振蕩器的頻率只要由石英晶振的頻率來決定本次。當再次按下K1鍵時,進入溫度報警下線調(diào)節(jié),此時顯示軟件。設置的溫度報警下線,按K2或K3分別對報警溫度進行加一或減一。顯示數(shù)據(jù)刷新子程序和按鍵掃描處理子程序等。主程序的主要功能是負責溫度的實時顯示、讀出并處理DS18B20的測量的當前溫度值,

  

【正文】 個字節(jié) { 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)。 } read_temp() //讀出溫度函數(shù) { ow_reset()。 //總線復位 delay(200)。 write_byte(0xcc)。 //發(fā)命令 write_byte(0x44)。 //發(fā)轉(zhuǎn)換命令 畢業(yè)設計論文 _基于單片機的數(shù)字溫度計設計 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é)合成一個整型變量。 return temp。 //返回溫度值 } work_temp(uint tem) //溫度數(shù)據(jù)處理函數(shù) //二進制高字節(jié)的低半字節(jié)和低字節(jié)的高半字節(jié)組成一字節(jié) ,這個字節(jié)的二進制轉(zhuǎn)換為十進制后 ,就是溫度值的百、十、個位值 ,而剩下的低字節(jié)的低半字節(jié)轉(zhuǎn)化成十進制后 ,就是溫度值的小數(shù)部分 { uchar n=0。 if(tem6348) // 溫度值正負判斷 {tem=65536tem。n=1。} // 負溫度求補碼 ,標志位置 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。 //個位 數(shù)據(jù) r=display[1]+display[2]*10+display[3]*100。 if(!display[3])//符號位顯示判斷 { display[3]=0x0a。 //最高位為 0 時不顯示 if(!display[2]) { display[2]=0x0a。 //次高位為 0 時不顯示 } 畢業(yè)設計論文 _基于單片機的數(shù)字溫度計設計 } if(n){display[3]=0x0b。} //負溫度時最高位顯示 } void xianshi(int horl) //設置溫度顯示轉(zhuǎn)換 { 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 時不顯示 if(!display[2]) { display[2]=0x0a。 //次高位為 0 時不顯示 } } if(n) { display[3]=0x0b。 //負溫度時最高位顯示 } } void keyscan() //按鍵查詢程序 { int temp1。 //最高溫度和最低溫度標志位 畢業(yè)設計論文 _基于單片機的數(shù)字溫度計設計 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) { 畢業(yè)設計論文 _基于單片機的數(shù)字溫度計設計 while(!add) scan()。 low+=1。 } if(dec==0) { while(!dec) scan()。 low=1。 } scan()。 } if(temp1=3) { temp1=0。 break。 } } } } void BEEP() { if(r=high||rlow) { beep=!beep。 } else { beep=0。 } } void main() //主函數(shù) { 畢業(yè)設計論文 _基于單片機的數(shù)字溫度計設計 dm=0x00。 //初始化端口 L4=0。 L3=0。 L2=0。 L1=0。 for(h=0。h4。h++) //開機顯示 0000 { display[h]=0。 } ow_reset()。 //開機先轉(zhuǎn)換一次 write_byte(0xcc)。 //Skip ROM write_byte(0x44)。 //發(fā)轉(zhuǎn)換命令 for(h=0。h100。h++) //開機顯示 0000 { scan()。 } while(1) { if (temp1==0) { work_temp(read_temp())。 //處理溫度數(shù)據(jù) BEEP()。 scan()。 //顯示溫度值 keyscan()。 } else keyscan()。 } } 畢業(yè)設計論文 _基于單片機的數(shù)字溫度計設計 《單片機原理及應用》 課程設計 設計題目: 基于單片機的數(shù)字溫度計設計 專業(yè)班級: 電子信息工程 1002班 學生姓名: 李青 學生學號: 0414100214 指導教師: 包長春 張云 完成日期: 機電工程學院、電子信息工程專業(yè)
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1