• 方案介紹
    • 1.? 簡介
    • 2.? 主要功能
    • 3.? 源程序(Keil5)
    • 4.? 仿真proteus8.6
    • 5.? 設(shè)計(jì)報(bào)告
    • 6.? 資料清單
    • 7.? 資料獲取鏈接
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

基于51單片機(jī)的多路溫度檢測(cè)報(bào)警系統(tǒng)設(shè)計(jì)(一)!!!

04/09 08:51
836
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

單片機(jī)仿真設(shè)計(jì)合集資料獲取.pdf

共1個(gè)文件

資料清單:C程序+仿真+設(shè)計(jì)報(bào)告+使用說明+元件清單+操作視頻

仿真版本:Proteus8.6及以上版本

程序編譯:Keil5 C51

編程語言:C語言

設(shè)計(jì)編號(hào):【E04】

1.? 簡介

? 本文提出了一種基于51單片機(jī)的多路溫度檢測(cè)報(bào)警系統(tǒng)。該設(shè)計(jì)采用數(shù)字溫度傳感器DS18B20,此傳感器讀取被測(cè)量溫度值并進(jìn)行轉(zhuǎn)換。將轉(zhuǎn)換后的多路數(shù)據(jù)送到單片機(jī)處理,再通過LCD1602顯示出來。同時(shí),可手動(dòng)設(shè)置溫度的上下限值,當(dāng)實(shí)時(shí)溫度超出時(shí),對(duì)應(yīng)的工作指示燈亮,蜂鳴器報(bào)警。

2.? 主要功能

a.通過LCD1602顯示當(dāng)前溫度值,溫度測(cè)量范圍:0-99攝氏度。

b.通過獨(dú)立按鍵設(shè)置多路溫度上下限值,第一次按下設(shè)置鍵設(shè)置溫度下限值,第二次按下設(shè)置鍵設(shè)置溫度上限值,再按加減鍵就可以修改溫度值。

c.當(dāng)溫度低于下限或高于上限溫度時(shí),蜂鳴器和LED燈同時(shí)報(bào)警。

d.可通過報(bào)警開關(guān)按鍵關(guān)閉蜂鳴器報(bào)警。

3.? 源程序(Keil5)

本設(shè)計(jì)采用keil5 C51軟件(內(nèi)附安裝包)實(shí)現(xiàn)程序設(shè)計(jì)。如需用keil4打開程序,可自行通過.c和.h文件新建工程即可。

#include"stc89c51.h"
#include"ds18b20.h"
sbit SetKey = P3^0;
sbit UpKey  = P3^1;
sbit DnKey  = P3^2;
sbit AlarmK = P3^3;
sbit BEEP   = P2^4;

sbit LED1   = P1^0;
sbit LED2   = P1^1;
sbit LED3   = P1^2;
sbit LED4   = P1^3;
sbit LED5   = P1^4;
sbit LED6   = P1^5;
sbit LED7   = P1^6;
sbit LED8   = P1^7;

extern void StartDs18b20(uchar * ROMCODE);				
extern void ReadDs18b20(uchar * ROMCODE);
extern  uchar  TZ;                           //轉(zhuǎn)換后的溫度值整數(shù)部分	  
extern  uchar  TD;                           //轉(zhuǎn)換后的溫度值整數(shù)部分	
//extern void init_lcd (void);
//extern void LcdWrData(uchar content);
//extern  void LcdWrCommand(uchar content)	;
extern uchar FindDevices(uchar CodeROM[][8]);
data uchar Ds18b20Rom[4][8];
//************************************************************************************************************************
extern uchar   LastDiscrap	;
extern  unsigned char tflag;
unsigned char AlarmTempLow=20,AlarmTempTop=30,Set=0;
unsigned char fAlarm=0xff;
unsigned char TP1=0xff,TP2=0xff,TP3=0xff,TP4=0xff;
unsigned char Alarm1=0,Alarm2=0,Alarm3=0,Alarm4=0;	
unsigned char tf1=0,tf2=0,tf3=0,tf4=0;	

void delayms(uint ms)		 //延時(shí)xx毫秒
{
 	uchar i;
	while(ms--)
	{
	 	for(i=0;i<120;i++);
	}
}
sbit RS=P2^5;
sbit RW=P2^6;
sbit EN=P2^7;
#define LCD_BUS P0
void command(unsigned int com)	 //LCD寫指令
{
   RS=0;				  //RS為0
   LCD_BUS=com;	  //裝載指令
   delayms(5);		 //延時(shí)5ms
   EN=1;				 //LCD使能
   delayms(5);		//延時(shí)5ms
   EN=0;				//LCD不使能
}
void write_dat(unsigned char dat)	  //LCD寫數(shù)據(jù)
{
   RS=1;					//RS為1
   LCD_BUS=dat;		//裝載數(shù)據(jù)
   delayms(5);			 //延時(shí)5ms
   EN=1;					 //LCD使能
   delayms(5);			 //延時(shí)5ms
   EN=0;					 //LCD不使能
}
void writestring(unsigned char x,unsigned char y,unsigned char *s) //LCD 寫字符串
{     
	if (y == 0)  command(0x80 + x);     //表示第一行
 	else 	command(0xC0 + x);      //表示第二行
       
 	while (*s) 			//判斷是否字符串的結(jié)尾
 	{     
     write_dat( *s);    //顯示當(dāng)前字符 
 		s ++;     			//字符串地址加1
 	}
}
void writeChar(unsigned char x,unsigned char y,unsigned char s) //LCD 寫字符串
{     
	if (y == 0)  command(0x80 + x);     //表示第一行
 	else 	command(0xC0 + x);      //表示第二行
       
 	{     
     write_dat( s);    //顯示當(dāng)前字符 
 	}
}
void LCD_Initial(void)		//LCD初始化
{
   EN=0;				  //LCD不使能
   RW=0;				  //RW為0
   command(0x38);		//發(fā)送初始化指令
   command(0x0c);		//發(fā)送初始化指令
   command(0x06);	  //發(fā)送初始化指令
   command(0x01);	  //發(fā)送初始化指令
   command(0x80+0x02);	//發(fā)送LCD初始位置
}

4.? 仿真proteus8.6

本設(shè)計(jì)采用proteus8.6軟件(內(nèi)附安裝包)實(shí)現(xiàn)仿真設(shè)計(jì),如下圖所示。proteus軟件一般存在高低版本兼容問題,該仿真是通過proteus8.6導(dǎo)出的,所以請(qǐng)盡量使用proteus8.6打開文件,低于proteus8.6的版本不能夠正常使用,高于proteus8.6的版本除了proteus8.8/8.9理論上可以正常使用。

當(dāng)前溫度:

設(shè)置溫度下限:

設(shè)置溫度上限:

當(dāng)溫度高于上限時(shí),蜂鳴器和LED燈報(bào)警:

當(dāng)溫度低于下限時(shí),蜂鳴器和LED燈報(bào)警:

5.? 設(shè)計(jì)報(bào)告

設(shè)計(jì)報(bào)告主要包括硬件電路、軟件設(shè)計(jì)、仿真調(diào)試等等,僅供參考。

6.? 資料清單

設(shè)計(jì)資料主要包括C程序+仿真+設(shè)計(jì)報(bào)告+使用說明+元件清單+操作視頻等。

7.? 資料獲取鏈接

百度網(wǎng)盤下載鏈接:【E04】百度網(wǎng)盤下載鏈接

更多單片機(jī)仿真設(shè)計(jì)合集:單片機(jī)仿真設(shè)計(jì)合集

  • 單片機(jī)仿真設(shè)計(jì)合集資料獲取.pdf
    下載

相關(guān)推薦

方案定制

去合作
方案開發(fā)定制化,2000+方案商即時(shí)響應(yīng)!