• 方案介紹
    • 設計報告
  • 附件下載
  • 推薦器件
  • 相關推薦
申請入駐 產(chǎn)業(yè)圖譜

基于51單片機溫度監(jiān)控Proteus仿真設計_報警值可調(diào)(仿真+程序+報告+講解視頻)

2024/08/09
1232
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

設計資料獲取聯(lián)系方式.doc

共1個文件

仿真原版本:Proteus7.8

程序編譯器:keil 4/keil 5

編程語言:C語言

設計編號:S0012

功能說明

1、顯示溫度0-99,上電默認高溫報警35°,低溫報警10°

2、按鍵說明:

① 按一下KEY1查看高溫,調(diào)整高溫報警值指示燈亮,同時也可以按加減調(diào)高溫的值。

② 再按一下KEY1查看低溫,調(diào)整低溫報警值指示燈亮同時也可以按加減調(diào)低溫的值。

③ 程序默認低溫報警值要比高溫報警低5°再按一下KEY正常顯示。

3、溫度調(diào)整低于低溫報警或者高于高溫報警值,蜂鳴器響,指示燈閃爍。

仿真電路

三個按鍵
KEY1
按一下查看高溫設置值,再按一下查看低溫設置值,再按一下返回正常顯示
KEY2
設置狀態(tài)下,設置溫度+
KEY3
設置狀態(tài)下,設置溫度-
img

程序

img

主函數(shù)
/*****主函數(shù)*****/
void main(void)
{
	LED=0;			       	//默認關閉報警
	BEEP=0;					//默認關閉蜂鳴器
	LED_SET_HIGHT=0;//默認設置燈暗
	LED_SET_LOW=0;//默認設置燈暗
	check_wendu();
 	check_wendu();
 	for(z=0;z<300;z++)
 	{
  		Disp_init();        
  	}
  	while(1)
  	{

		if(display_mode==0){
			Disp_Temperature();//正常顯示
		}else if(display_mode==1){//設置高
			Disp_Temperature_Set_Hight();
		}else if(display_mode==2){//設置低
			Disp_Temperature_Set_Low();

		}
		
		KeyDriver();			  		//鍵盤驅動掃描
		KeyScan();
		if(key_sacn_cnt<20){//延時效果,不占用CPU,隔一段時間更新溫度
			key_sacn_cnt++;
		}else{
			check_wendu();
			key_sacn_cnt=0;
		}
		if(display_mode==0){//正常模式才報警,設置模式不報警
			if(m>=gaowen || m<=diwen){//如果m大于高溫值或者小于低溫值,開啟聲光報警
			 	led_sacn_cnt++;
				if(led_sacn_cnt>100){
				  LED=~LED;
			      BEEP=~BEEP; 
				  led_sacn_cnt=0;	 
				}

			}else{
		   		LED=0;
				BEEP=0;
				led_sacn_cnt=1; 
  
			}	
		}else{
			LED=0;
			BEEP=0;
		}
	
  	}
}
DS18B20溫度讀取
/*****讀取溫度*****/
unsigned int ReadTemperature(void)
{
	unsigned char a=0;
  	unsigned char b=0;
  	unsigned int t=0;
  	float tt=0;
  	Init_DS18B20();
  	WriteOneChar(0xCC);  //跳過讀序號列號的操作
  	WriteOneChar(0x44);  //啟動溫度轉換
  	Init_DS18B20();
  	WriteOneChar(0xCC);  //跳過讀序號列號的操作
  	WriteOneChar(0xBE);  //讀取溫度寄存器
  	a=ReadOneChar();     //讀低8位
  	b=ReadOneChar();	 //讀高8位
  	t=b;				 //高8位轉移到t
  	t<<=8;			     //t數(shù)據(jù)左移8位
  	t=t|a;			     //將t和a按位或,得到一個16位的數(shù)
  	tt=t*0.0625;		 //將t乘以0.0625得到實際溫度值
					     //(溫度傳感器設置12位精度,最小分辨率是0.0625)
  	t= tt*10+0.5;        //放大10倍(將小數(shù)點后一位顯示出來)輸出并四舍五入
  	return(t);		     //返回溫度值
}

設計報告

在這里插入圖片描述

資料清單&&下載鏈接

?. 常見使用問題及解決方法–必讀?。。?!

1. 源程序

2. proteus仿真

3. 功能說明

4. 開題報告

5. 設計報告

6. 講解視頻

Altium Designer 安裝破解

filename.bat

KEIL+proteus 單片機仿真設計教程

KEIL安裝破解

Proteus元器件查找

Proteus安裝

Proteus簡易使用教程

單片機學習資料

目錄清單.txt

相關數(shù)據(jù)手冊

答辯技巧

設計報告常用描述

鼠標雙擊打開查找嘉盛單片機51 STM32單片機課程畢業(yè)設計.url
在這里插入圖片描述

資料下載鏈接

  • 設計資料獲取聯(lián)系方式.doc
    下載

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
DS3231SN# 1 Maxim Integrated Products Real Time Clock, Non-Volatile, 1 Timer(s), CMOS, PDSO16, 0.300 INCH, SOIC-16
$11.21 查看
MK10DX64VLH7 1 Freescale Semiconductor Kinetis K 32-bit MCU, ARM Cortex-M4 core, 64KB Flash, 72MHz, QFP 64
$6.77 查看
SAK-XC164CS-16F40FBB 1 Infineon Technologies AG Microcontroller, 16-Bit, FLASH, 40MHz, CMOS, PQFP100, 0.50 MM PITCH, GREEN, PLASTIC, TQFP-100
暫無數(shù)據(jù) 查看

相關推薦