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

正文內(nèi)容

畢業(yè)設(shè)計論文_基于單片機的數(shù)字溫度計設(shè)計(留存版)

2024-10-27 10:37上一頁面

下一頁面
  

【正文】 //發(fā)命令 write_byte(0x44)。0x0f。0x0f。 high=1。 for(h=0。 //顯示溫度值 keyscan()。 //初始化端口 L4=0。 scan()。 if(horl128) { horl=256horl。 //返回溫度值 } work_temp(uint tem) //溫度數(shù)據(jù)處理函數(shù) //二進制高字節(jié)的低半字節(jié)和低字節(jié)的高半字節(jié)組成一字節(jié) ,這個字節(jié)的二進制轉(zhuǎn)換為十進制后 ,就是溫度值的百、十、個位值 ,而剩下的低字節(jié)的低半字節(jié)轉(zhuǎn)化成十進制后 ,就是溫度值的小數(shù)部分 { uchar n=0。 return(value)。 _nop_()。 //從高拉倒低 DQ=0。 //從高拉倒低 _nop_()。delay(50)。 uchar code table_dm[12]={0x3f,0x06,0x5b,0x4f, //小數(shù)斷碼表 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x00,0x40}。 //數(shù)碼管 2 sbit L3=P2^2。溫度傳感器的仿真效果圖如圖 所示,此圖驗證了傳感器的溫度與數(shù)碼管顯示的數(shù)字一致。 主程序流程圖 主程序的主要功能是負責(zé)溫度的實時顯示、讀出并處理 DS18B20 的測量的當(dāng)前溫度值,溫度測量每 1s 進行一次。 表 31 DS18B20 引腳定義: 序號 名稱 引腳功能描述 1 GND 地信號 2 DQ 數(shù)據(jù)輸入 /輸出引腳。并設(shè)計一個人機接口電路:鍵盤采用獨立按鍵(功能自定義),顯示器采用共陰極 4 位 LED 顯示。 在單片機的 TXAL TXAL1之間跨接晶體振蕩器和微調(diào)電容,可以和單片機內(nèi)部的振蕩器構(gòu)成一個穩(wěn)定的自激振蕩器,這就是單片機的晶振電路。當(dāng)再次按下 K1 鍵時,進入溫度報警下線調(diào)節(jié),此時顯示軟件設(shè)置的溫度報警下線,按 K2或 K3分別對報警溫度進行加一或減一。當(dāng)再次按下 K1 鍵時,進入溫度報警下線調(diào)節(jié),此時顯示軟件設(shè)置的溫度報警下線,按 K2 或 K3 分別對報警溫度進行加一或減一。 本次設(shè)計還存在許多不完善的方面。 uchar r。j4。L1=1。 } DQ=1。 //右移 1 位 } DQ=1。 _nop_()。 temp_data[0]=read_byte()。 // 取后兩位數(shù)據(jù)暫存 display[2]=display[1]/10。 //最高位為 0 時不顯示 if(!display[2]) { display[2]=0x0a。 low=1。 //Skip ROM write_byte(0x44)。h100。 } if(temp1=3) { temp1=0。 //負溫度時最高位顯示 } } void keyscan() //按鍵查詢程序 { int temp1。 //個位 數(shù)據(jù) r=display[1]+display[2]*10+display[3]*100。 //讀溫度值的高字節(jié) temp=temp_data[1]。 _nop_()。 畢業(yè)設(shè)計論文 _基于單片機的數(shù)字溫度計設(shè)計 } uchar read_byte(void) //DS18B20 讀 1 字節(jié)函數(shù) //從總線上取 1 個字節(jié) { uchar i。 for(i=8。w3=0。L4=0。 uchar sign。 盡管本次設(shè)計還不是很完善,但這為我以后的設(shè)計之路積累了寶貴的經(jīng)驗。顯示當(dāng)前溫度。顯示當(dāng)前溫度。電容 C1 和 C2 的主要作用是幫助振蕩器起振,且振蕩器大小對振蕩頻率有微調(diào)作用,在 80C51 系列中電容的大小 30 皮法。單片機作為主控制器,數(shù)字溫度傳感器 DS18B20 作為測溫元件,傳感器 DS18B20 可以讀取被測量溫度值,進行轉(zhuǎn)換,從而用 4 位共陽極 LED 數(shù)碼管來顯示轉(zhuǎn)換后的溫度值,可以設(shè)定溫度的上下限報警功能, 實現(xiàn)報警提示。 DS18B20 外形及管腳排列如圖 和表 33所示 [5]。四位數(shù)碼管的顯 示電路如圖 所示,從左到右依次是百位,十位,個位,十分位。 采用 protues 軟件對電路仿真,可以得到預(yù)期效果。 //溫度輸入口 sbit L1=P2^0。 uchar scale。//小數(shù) case 1: dm=table_dm1[display[1]]。} } } } ow_reset(void) //DS18B20 復(fù)位函數(shù) { char presence=1。_nop_()。i0。 delay(6)。 // 兩字節(jié)合成一個整型變量。 //次高位為 0 時不顯示 } 畢業(yè)設(shè)計論文 _基于單片機的數(shù)字溫度計設(shè)計 } if(n){display[3]=0x0b。 while(!set) scan()。 } else { beep=0。 //處理溫度數(shù)據(jù) BEEP()。h++) //開機顯示 0000 { display[h]=0。 if(add==0) { 畢業(yè)設(shè)計論文 _基于單片機的數(shù)字溫度計設(shè)計 while(!add) scan()。 display[1]=horl%10。 // 存入小數(shù)部分顯示值 display[4]=tem4。 delay(1)。 _nop_()。0x01。 //6 us presence=DQ。//十位 case 3: dm=table_dm[display[3]]。t)。 //溫度減 int temp1=0。整個系統(tǒng)的軟件編程就是通過 C語言對 AT89C52實現(xiàn)其控制功能。程序流程圖如圖 所示。另外需要一個與門實現(xiàn)與中斷端口的連接。其中,按鍵電平復(fù)位是通過使復(fù)位端經(jīng)電阻與 VCC電源接通而實現(xiàn)的,而按鍵脈沖復(fù)位則是利用 RC微分電路產(chǎn)生的正脈沖來實現(xiàn)的。以 4位數(shù)碼管為顯示器件,利用單片機的 P0 口和電阻排來驅(qū)動4 位數(shù)碼管的顯示;利用單片機的 來驅(qū)動溫度傳感器 DS18B20 測溫;報警電路利用三極管放大作用驅(qū)動報警器報警;按鍵是利用單片機的 P1口和上拉 電阻來驅(qū)動工作 復(fù)位電路設(shè)計 復(fù)位電路有上電自動復(fù)位和按鍵手動復(fù)位兩種方式。 3 VDD 可選擇的 VDD 引腳。其程序流程圖如圖 示: 發(fā) DS18B20 復(fù)位命令 9 字節(jié)完 結(jié)束 移入溫度暫存器 讀取操作、 CRC 校驗 發(fā)讀取溫度命令 CRC 校驗正 Y Y Y N N 畢業(yè)設(shè)計論文 _基于單片機的數(shù)字溫度計設(shè)計 圖 讀出溫度子程序流程圖 溫度轉(zhuǎn)換命令子程序 溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當(dāng)采用 12 位分辨率時轉(zhuǎn)換時間約為750ms,在本程序設(shè)計中采用 1s 顯示程序延時法等待轉(zhuǎn)換的完成。 圖 初始置零仿真 6. 結(jié)果分析與心得體會 經(jīng)過系統(tǒng)的整體調(diào)試,本設(shè)計達到了規(guī)定的設(shè)計要求:能用數(shù)碼管直接顯示、能自由設(shè)定溫度上下限報警值和實現(xiàn)報警。 //蜂鳴器 sbit set=P1^4。 //讀出溫度暫放 uchar data display[5]={0x00,0x00,0x00,
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1