一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于單片機(jī)DS18B20溫度報(bào)警系統(tǒng) 無(wú)線藍(lán)牙顯示

bbxyliyang ? 來(lái)源:bbxyliyang ? 作者:bbxyliyang ? 2023-07-21 18:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群


一、系統(tǒng)方案
隨著科學(xué)技術(shù)的不斷發(fā)展帶動(dòng)著電子行業(yè)的地位越來(lái)越重,現(xiàn)在電子產(chǎn)品幾乎在社會(huì)的各個(gè)領(lǐng)域都可以見(jiàn)到。這些技術(shù)的發(fā)展有效的帶動(dòng)著社會(huì)生產(chǎn)力的發(fā)展和信息化的提高,同時(shí)電子產(chǎn)品也越來(lái)越智能。
本設(shè)計(jì)采用AT89C51單片機(jī)為主控芯片,采用數(shù)字型防水溫度傳感器DS18B20制作溫度檢測(cè)報(bào)警器,通過(guò)四位數(shù)碼管顯示溫度值,系統(tǒng)設(shè)立幾個(gè)按鍵,可以通過(guò)按鍵進(jìn)行設(shè)置溫度的上、下限值,當(dāng)所采集溫度超過(guò)設(shè)定值時(shí),系統(tǒng)會(huì)控制蜂鳴器和對(duì)應(yīng)LED發(fā)出聲光報(bào)警。這個(gè)設(shè)計(jì)簡(jiǎn)單、成本低、具有實(shí)用性。

wKgaomS6V8GAFRAIAAAbkScxwko851.png


二、硬件設(shè)計(jì)
原理圖如下:

wKgZomS6V8iAYsxdAABISBUIH3Y873.png

三、單片機(jī)軟件設(shè)計(jì)
1、首先是串口初始化:
void Uart_init()
{

TMOD=0x20;//定時(shí)器0工作方式1

EA=1;//開(kāi)總中斷


TH1=0xfd;
TL1=0xfd;
TR1=1;
ET1=0;
SM0=0;
SM1=1;
REN=1;
EA=1;
ES=1;
}

2、中斷服務(wù)程序
void Usart() interrupt 4
{
receiveData=SBUF;//出去接收到的數(shù)據(jù)
RI = 0;//清除接收中斷標(biāo)志位
ES=0;
SBUF=receiveData;//將接收到的數(shù)據(jù)放入到發(fā)送寄存器
while(!TI); //等待發(fā)送數(shù)據(jù)完成
TI=0; //清除發(fā)送完成標(biāo)志位
ES=1;
}
3、按鍵檢測(cè)程序
/*****外部中斷0服務(wù)程序*****/
void int0(void) interrupt 0
{
EX0=0; //關(guān)外部中斷0
if(DEC==0&&set_st==1)
{
BEEP=0;
Delay(2000);
BEEP=1;
do
{
Disp_alarm(shangxian);
}
while(DEC==0);
if(H_ZF==0&&L_ZF==0)
{
shangxian--;
if(shangxian<=xiaxian+1)
shangxian=xiaxian+1;
}
else if(H_ZF==0&&L_ZF==1)
{
shangxian--;
if(shangxian<0&&xiaxian==1)
{
shangxian=0;
H_ZF=0;
}
else if(shangxian<0&&xiaxian>1)
{
shangxian=1;
H_ZF=1;
}
}
else if(H_ZF==1)
{
shangxian++;
if(shangxian>=xiaxian-1)
shangxian=xiaxian-1;
}
}
else if(DEC==0&&set_st==2)
{
BEEP=0;
Delay(2000);
BEEP=1;
do
{
Disp_alarm(xiaxian);
}
while(DEC==0);
if(L_ZF==0)
{
xiaxian--;
if(xiaxian<0)
{
xiaxian=1;
L_ZF=1;
}
}
else if(L_ZF==1)
{
xiaxian++;
if(xiaxian>=55)
{
xiaxian=55;
}
}
}
}
/*****外部中斷1服務(wù)程序*****/
void int1(void) interrupt 2
{
EX1=0; //關(guān)外部中斷1
if(ADD==0&&set_st==1)
{
BEEP=0;
Delay(2000);
BEEP=1;
do
{
Disp_alarm(shangxian);
}
while(ADD==0);
if(H_ZF==0)
{
shangxian++;
if(shangxian>=125)shangxian=125;
}
else if(H_ZF==1)
{
shangxian--;
if(shangxian<=0)
{
shangxian=0;
H_ZF=0;
}
}
}
else if(ADD==0&&set_st==2)
{
BEEP=0;
Delay(2000);
BEEP=1;
do
{
Disp_alarm(xiaxian);
}
while(ADD==0);
if(L_ZF==0)
{
xiaxian++;
if(xiaxian>=shangxian-1)
xiaxian=shangxian-1;
}
else if(H_ZF==0&&L_ZF==1)
{
xiaxian--;
if(xiaxian<=0)
{
if(shangxian==0)
{
xiaxian=1;
L_ZF=1;
}
else
{
xiaxian=0;
L_ZF=0;
}
}
}
else if(H_ZF==1&&L_ZF==1)
{
xiaxian--;
if(xiaxian<=shangxian+1)
xiaxian=shangxian+1;
}
}
}
4、核心算法程序
/*****讀取溫度*****/
unsigned int ReadTemperature(void)
{
unsigned char a=0;
unsigned char b=0;
unsigned int t=0;
float tt=0;
Init_DS18B20();
WriteOneChar(0xCC); //跳過(guò)讀序號(hào)列號(hào)的操作
WriteOneChar(0x44); //啟動(dòng)溫度轉(zhuǎn)換
Init_DS18B20();
WriteOneChar(0xCC); //跳過(guò)讀序號(hào)列號(hào)的操作
WriteOneChar(0xBE); //讀取溫度寄存器
a=ReadOneChar(); //讀低8位
b=ReadOneChar(); //讀高8位
t=b;
t<<=8;
t=t|a;
if(t&0xf800)
{
t=~t+1;
fuhao=1;
}
else
fuhao=0;
tt=t*0.0625;
t= tt*10+0.5; //放大10倍輸出并四舍五入
return(t);
}
四、proteus仿真設(shè)計(jì)
Proteus軟件是一款應(yīng)用比較廣泛的工具,它可以在沒(méi)有硬件平臺(tái)的基礎(chǔ)上通過(guò)自身的軟件仿真出硬件平臺(tái)的運(yùn)行情況,這樣就可以通過(guò)軟件仿真來(lái)驗(yàn)證我們?cè)O(shè)計(jì)的方案有沒(méi)有問(wèn)題,如果有問(wèn)題,可以重新選擇器件,連接器件,直到達(dá)到我們?cè)O(shè)定的目的,避免我們搭建實(shí)物的時(shí)候,如果當(dāng)初選擇的方案有問(wèn)題,我們器件都已經(jīng)焊接好了,再去卸載下去,再去焊接新的方案的器件,測(cè)試,這樣會(huì)浪費(fèi)人力和物力,也給開(kāi)發(fā)者帶來(lái)一定困惑,Proteus仿真軟件就很好的解決這個(gè)問(wèn)題,我們?cè)谠O(shè)計(jì)之初,就使用該軟件進(jìn)行模擬仿真,測(cè)試,選擇滿足我們?cè)O(shè)計(jì)的最優(yōu)方案。最后根據(jù)測(cè)試沒(méi)問(wèn)題的仿真圖紙,焊接實(shí)物,調(diào)試,最終完成本設(shè)計(jì)的作品。

wKgaomS6V9KAfQCgAAEzy1a0TDw562.png

.
審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6067

    文章

    44973

    瀏覽量

    650071
  • 藍(lán)牙
    +關(guān)注

    關(guān)注

    116

    文章

    6074

    瀏覽量

    173927
  • 報(bào)警系統(tǒng)
    +關(guān)注

    關(guān)注

    5

    文章

    653

    瀏覽量

    75895
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    單片機(jī)實(shí)例項(xiàng)目:DS18B20溫度傳感器

    單片機(jī)實(shí)例項(xiàng)目:DS18B20溫度傳感器,推薦下載!
    發(fā)表于 06-03 20:59

    基于FPGA的DS18B20數(shù)字溫度傳感器測(cè)溫實(shí)例

    本文將使用三段式狀態(tài)機(jī)(Moore型)的寫(xiě)法來(lái)對(duì)DS18B20進(jìn)行測(cè)溫操作,以便了解DS18B20和熟悉三段式狀態(tài)機(jī)的寫(xiě)法。
    的頭像 發(fā)表于 03-17 11:06 ?1479次閱讀
    基于FPGA的<b class='flag-5'>DS18B20</b>數(shù)字<b class='flag-5'>溫度</b>傳感器測(cè)溫實(shí)例

    DS18B20實(shí)時(shí)溫度傳感器中文資料

    DS18B20 是一種單總線數(shù)字溫度傳感器,它被廣泛應(yīng)用于各種領(lǐng)域,例如氣象監(jiān)測(cè)、室內(nèi)溫度控制、工業(yè)自動(dòng)化等。DS18B20 采用了單總線接口(One-Wire Interface),
    發(fā)表于 02-28 17:02 ?5次下載

    基于FPGA的溫度傳感器(ds18b20)驅(qū)動(dòng)設(shè)計(jì)

    本篇主要討論基于FPGA的溫度傳感器(ds18b20)驅(qū)動(dòng)設(shè)計(jì)---第一版 設(shè)計(jì)實(shí)現(xiàn):利用FPGA驅(qū)動(dòng)DS18b20,讀取到溫度數(shù)值顯示到數(shù)
    的頭像 發(fā)表于 01-16 14:08 ?1263次閱讀
    基于FPGA的<b class='flag-5'>溫度</b>傳感器(<b class='flag-5'>ds18b20</b>)驅(qū)動(dòng)設(shè)計(jì)

    【正點(diǎn)原子STM32H7R3開(kāi)發(fā)套件試用體驗(yàn)】DS18B20、DHT11溫濕度采集

    錯(cuò)誤。 檢測(cè)到 DS18B20 后,開(kāi)始讀取溫度顯示在 LCD,每隔 100ms 讀取并顯示,串口發(fā)送溫度值。 LED0 閃爍,指示程序運(yùn)
    發(fā)表于 01-01 11:16

    《DNESP32S3使用指南-IDF版_V1.6》第二十九章 DS18B20實(shí)驗(yàn)

    封裝形式,從而使系統(tǒng)設(shè)置靈活、方便,設(shè)定分辨率以及用戶設(shè)定的報(bào)警溫度存儲(chǔ)在EEPROM中,掉電后依然保存。其內(nèi)部結(jié)構(gòu)如下圖所示。 圖29.1.1.1 DS18B20內(nèi)部結(jié)構(gòu)圖ROM中的
    發(fā)表于 12-25 09:43

    CW32模塊使用 DS18B20溫度傳感器

    DS18B20數(shù)字溫度傳感器提供9位至12位精度的溫度測(cè)量,并具有非易失性用戶可編程上下觸發(fā)點(diǎn)報(bào)警功能。DS18B20通過(guò)單總線通信,根據(jù)定
    的頭像 發(fā)表于 11-26 17:47 ?668次閱讀
    CW32模塊使用 <b class='flag-5'>DS18B20</b><b class='flag-5'>溫度</b>傳感器

    DS18B20溫度傳感器的工作原理和硬件設(shè)計(jì)

    通過(guò)本文可以了解DS18B20溫度傳感器工作原理、硬件設(shè)計(jì)、DS18B20單總線接口驅(qū)動(dòng)編寫(xiě)。
    的頭像 發(fā)表于 10-24 14:38 ?1.2w次閱讀
    <b class='flag-5'>DS18B20</b><b class='flag-5'>溫度</b>傳感器的工作原理和硬件設(shè)計(jì)

    基于51單片機(jī)的智能防火GSM上報(bào)仿真

    具體實(shí)現(xiàn)功能 (1)LCD1602顯示實(shí)時(shí)溫度DS18B20)值和煙霧(MQ-2)值,以及設(shè)定的溫度報(bào)警值和煙霧
    的頭像 發(fā)表于 10-21 11:48 ?692次閱讀
    基于51<b class='flag-5'>單片機(jī)</b>的智能防火GSM上報(bào)仿真

    ds18b20傳感器的使用方法

    DS18B20是一種廣泛使用的數(shù)字溫度傳感器,它基于1-Wire(單總線)通信協(xié)議。這種傳感器因其高精度、易用性和低成本而受到歡迎。 DS18B20傳感器簡(jiǎn)介 DS18B20是由Max
    的頭像 發(fā)表于 10-18 14:52 ?2826次閱讀

    ds18b20溫度傳感器怎么接線

    DS18B20是一種廣泛使用的數(shù)字溫度傳感器,它基于1-Wire(一線)通信協(xié)議工作。這種傳感器因其高精度、易用性和低成本而受到歡迎。 DS18B20傳感器引腳介紹 DS18B20有三
    的頭像 發(fā)表于 10-18 14:50 ?4498次閱讀

    ds18b20溫度傳感器如何使用

    DS18B20是一款廣泛使用的數(shù)字溫度傳感器,它具有高精度、低功耗和易于使用的特點(diǎn)。 DS18B20溫度傳感器簡(jiǎn)介 DS18B20是由Max
    的頭像 發(fā)表于 09-03 16:51 ?1642次閱讀

    ds18b20溫度傳感器是什么類(lèi)型

    特性使得DS18B20在需要節(jié)省引腳資源的應(yīng)用中非常受歡迎,比如在一些小型嵌入式系統(tǒng)、智能家居設(shè)備、環(huán)境監(jiān)控系統(tǒng)等場(chǎng)合。 DS18B20可以直接輸出數(shù)字
    的頭像 發(fā)表于 09-03 16:46 ?2115次閱讀

    ds18b20溫度傳感器和dht11的區(qū)別

    DS18B20和DHT11都是常用的溫度和濕度傳感器,它們?cè)谠S多項(xiàng)目和應(yīng)用中都有廣泛的應(yīng)用。 1. 工作原理 DS18B20 DS18B20是一種數(shù)字
    的頭像 發(fā)表于 09-03 16:44 ?5006次閱讀

    MY18E20、MY1820 與 DS18B20 性能對(duì)比表

    MY18E20、MY1820 與 DS18B20 最高測(cè)溫精度一樣,都是±0.5℃,M1820Z 最高測(cè)溫精度±0.1℃。芯片感溫原理基于 CMOS 半導(dǎo)體 PN節(jié)溫度與帶隙電壓的特性關(guān)系,經(jīng)過(guò)
    的頭像 發(fā)表于 07-29 18:22 ?1648次閱讀
    MY<b class='flag-5'>18E20</b>、MY1820 與 <b class='flag-5'>DS18B20</b> 性能對(duì)比表