版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 最近天氣熱了,想要是做個能顯示溫度的小設(shè)備就好了,于是想到DIY個電子溫度計,網(wǎng)上找了很多資料,結(jié)合自己的材料,設(shè)計了這個用單片機控制的實時電子溫度計。作為單片機小蝦的我做這個用了2天時間,當(dāng)然是下班后,做工不行見諒了。 主要元件用到了單片機STC89C54RD+,DB18B20溫度傳感器,4為共陽數(shù)碼管,PNPS8550三極管等。 先上原理圖: 洞洞板布局圖:然后就是實物圖了:附上源程序:程序是別人寫的,我只是自己修改了下,先謝謝原程序者的無私奉獻。#include"reg52.h"#define uchar unsigned char #define uint uns
2、igned int sbit DQ=P34; /溫度數(shù)據(jù)口sbit wx1=P20; /位選1sbit wx2=P21; /位選2sbit wx3=P22; /位選3sbit wx4=P23; /位選4 unsigned int temp, temp1,temp2, xs;uchar code table=0xc0,0xf9,0xa4,0xb0,0x99, /共陽數(shù)碼管 0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6; /*延時程序*/ void delay1(unsigned int m) unsigned int i,j; for(i=m;i>0;i-
3、) for(j=110;j>0;j-); void delay(unsigned int m) /溫度延時程序 while(m-); void Init_DS18B20() unsigned char x=0;DQ = 1; /DQ復(fù)位 ds18b20通信端口 delay(8); /稍做延時DQ = 0; /單片機將DQ拉低delay(80); /精確延時 大于 480usDQ = 1; /拉高總線 delay(4);x=DQ; /稍做延時后 如果x=0則初始化成功 x=1則初始化失敗delay(20); /*ds18b20讀一個字節(jié)*/uchar ReadOneChar()unsign
4、ed char i=0;unsigned char dat = 0;for (i=8;i>0;i-) DQ = 0; / 高電平拉成低電平時讀周期開始 dat>>=1; DQ = 1; / 給脈沖信號 if(DQ) dat|=0x80; / delay(4); return(dat); /*ds18b20寫一個字節(jié)*/void WriteOneChar(unsigned char dat) unsigned char i=0; for (i=8; i>0; i-) DQ = 0; /從高電平拉至低電平時,寫周期的開始 DQ = dat&0x01; /數(shù)據(jù)的最低位
5、先寫入 delay(5); /60us到120us延時 DQ = 1; dat>>=1; /從最低位到最高位傳入/*讀取ds18b20當(dāng)前溫度*/void ReadTemperature() unsigned char a=0; unsigned b=0; unsigned t=0; Init_DS18B20(); WriteOneChar(0xCC); / 跳過讀序號列號的操作/ WriteOneChar(0x44); / 啟動溫度轉(zhuǎn)換 delay(5); / this message is wery important Init_DS18B20(); WriteOneChar(
6、0xCC); /跳過讀序號列號的操作 WriteOneChar(0xBE); /讀取溫度寄存器等(共可讀9個寄存器) 前兩個就是溫度/ delay(5); a=ReadOneChar(); /讀取溫度值低位 / b=ReadOneChar(); /讀取溫度值高位 / temp1=b<<4; /高8位中后三位數(shù)的值 temp1+=(a&0xf0)>>4; /低8位中的高4位值加上高8位中后三位數(shù)的值 temp1室溫整數(shù)值 temp2=a&0x0f; /小數(shù)的值 temp=(b*256+a)>>4); /當(dāng)前采集溫度值除16得 實際溫度值 zhenshu xs=temp2*0.0625*10; /小數(shù)位,若為0.5則算為5來顯示 xs小數(shù) xiaoshu void wenduxianshi() wx1=0; P0=tabletemp/10; /顯示百位 delay1(5); wx1=1; wx2=0; P0=tabletemp%10+0x80; /顯示十位 加上0x80就顯示小數(shù)點了。 delay1(5); wx2=1; wx3=0; P0=tablexs%10; /顯示個位 delay1(5); wx
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 石河子大學(xué)《食品機械與設(shè)備》2023-2024學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《教育影視賞析》2021-2022學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《家畜育種學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《飯店管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《商業(yè)品牌整體策劃》2023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《建筑設(shè)計》2022-2023學(xué)年第一學(xué)期期末試卷
- 2018年四川內(nèi)江中考滿分作文《我心中的英雄》8
- 沈陽理工大學(xué)《化工安全與環(huán)?!?022-2023學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《電力變壓器設(shè)計》2023-2024學(xué)年期末試卷
- 沈陽理工大學(xué)《產(chǎn)品仿生學(xué)應(yīng)用設(shè)計》2021-2022學(xué)年第一學(xué)期期末試卷
- 軍隊文職聘用合同管理規(guī)定
- 2024年貴州省安順市西秀區(qū)小升初語文試卷
- 2024-2029年中國兒童牙冠行業(yè)市場現(xiàn)狀分析及競爭格局與投資發(fā)展研究報告
- 新時代鐵路發(fā)展面對面全文內(nèi)容
- 人工智能與語文閱讀理解教學(xué)
- 科學(xué)素養(yǎng)培育及提升-知到答案、智慧樹答案
- 快遞主管崗位職責(zé)
- 醫(yī)療差錯、糾紛、事故登記表
- 七年級第一次期中家長會課件
- 2024下半年四川省廣元市直屬事業(yè)單位招聘104人歷年公開引進高層次人才和急需緊缺人才筆試參考題庫(共500題)答案詳解版
- 市政道路施工工程重難點分析及對策
評論
0/150
提交評論