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

基于51單片機(jī)的多路溫度采集系統(tǒng)設(shè)計(jì)(一)!!!

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

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

共1個(gè)文件

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

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

程序編譯:Keil5 C51

編程語(yǔ)言:C語(yǔ)言

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

1.? 簡(jiǎn)介

? 本文提出了一種基于51單片機(jī)的多路溫度采集系統(tǒng)。該設(shè)計(jì)采用數(shù)字溫度傳感器DS18B20,此傳感器讀取被測(cè)量溫度值并進(jìn)行轉(zhuǎn)換。將轉(zhuǎn)換后的多路數(shù)據(jù)送到單片機(jī)處理,再通過(guò)LCD1602顯示出來(lái)。

2.? 主要功能

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

3.? 源程序(Keil5)

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

#include <AT89X52.h>
#include <Intrins.h>
#define		DATA	P0      //1602驅(qū)動(dòng)端口
//ROM操作命令
#define                 READ_ROM               	0x33                    //讀ROM 
#define                 SKIP_ROM               	0xCC                    //跳過(guò)ROM 
#define                 MATCH_ROM               0x55                    //匹配ROM 
#define                 SEARCH_ROM              0xF0                    //搜索ROM 
#define                 ALARM_SEARCH            0xEC                    //告警搜索
//存儲(chǔ)器操作命令
#define                 ANEW_MOVE             	0xB8                    //重新調(diào)出E^2數(shù)據(jù)
#define                 READ_POWER              0xB4                    //讀電源
#define                 TEMP_SWITCH             0x44                    //啟動(dòng)溫度變換 
#define                 READ_MEMORY             0xBE                    //讀暫存存儲(chǔ)器
#define                 COPY_MEMORY             0x48                    //復(fù)制暫存存儲(chǔ)器
#define                 WRITE_MEMORY            0x4E                    //寫(xiě)暫存存儲(chǔ)器
//數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)
typedef struct tagTempData
{
	unsigned char 					btThird;							//百位數(shù)據(jù)					
	unsigned char 					btSecond;							//十位數(shù)據(jù)
	unsigned char 					btFirst;							//個(gè)位數(shù)據(jù)
	unsigned char 					btDecimal;							//小數(shù)點(diǎn)后一位數(shù)據(jù)
	unsigned char					btNegative;							//是否為負(fù)數(shù)		
}TEMPDATA;
TEMPDATA m_TempData;
//引腳定義
sbit 							DQ = P2^7;							//數(shù)據(jù)線端口
sbit 		RS=		P2^0;
sbit 		RW=		P2^1;
sbit 		E=		P2^2;
//DS18B20序列號(hào),通過(guò)調(diào)用GetROMSequence()函數(shù)在P1口讀出(讀8次)
const unsigned char code ROMData1[8] = {0x28, 0x33, 0xC5, 0xB8, 0x00, 0x00, 0x00, 0xD7};	//U1
const unsigned char code ROMData2[8] = {0x28, 0x30, 0xC5, 0xB8, 0x00, 0x00, 0x00, 0x8E};	//U2
const unsigned char code ROMData3[8] = {0x28, 0x31, 0xC5, 0xB8, 0x00, 0x00, 0x00, 0xB9};	//U3
const unsigned char code ROMData4[8] = {0x28, 0x32, 0xC5, 0xB8, 0x00, 0x00, 0x00, 0xE0};	//U4
const unsigned char code ROMData5[8] = {0x28, 0x34, 0xC5, 0xB8, 0x00, 0x00, 0x00, 0x52};	//U5
const unsigned char code ROMData6[8] = {0x28, 0x35, 0xC5, 0xB8, 0x00, 0x00, 0x00, 0x65};	//U6
const unsigned char code ROMData7[8] = {0x28, 0x36, 0xC5, 0xB8, 0x00, 0x00, 0x00, 0x3C};	//U7
const unsigned char code ROMData8[8] = {0x28, 0x37, 0xC5, 0xB8, 0x00, 0x00, 0x00, 0x0B};	//U8

//判斷忙指令
void Busy()
{
	DATA = 0xff;
	RS = 0;
	RW = 1;
   	while(DATA & 0x80)
   	{
		E = 0;
   		E = 1;
   	}
   	E = 0;
}
//寫(xiě)指令程序
void WriteCommand(unsigned char btCommand)
{
	Busy();
	RS = 0;
	RW = 0;
	E = 1;
	DATA = btCommand;
	E = 0;
}
//寫(xiě)數(shù)據(jù)程序
void WriteData(unsigned char btData)
{
	Busy();
	RS = 1;
	RW = 0;
	E = 1;
	DATA = btData;
	E = 0;
}
//清屏顯示
void Clear()
{
	WriteCommand(1);
}
//初始化
void Init()
{
	WriteCommand(0x0c);	//開(kāi)顯示,無(wú)光標(biāo)顯示
	WriteCommand(0x06);	//文字不動(dòng),光標(biāo)自動(dòng)右移
	WriteCommand(0x38);	//設(shè)置顯示模式:8位2行5x7點(diǎn)陣
}

4.? 仿真proteus8.6

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

當(dāng)前溫度:

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

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

6.? 資料清單

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

7.? 資料獲取鏈接

百度網(wǎng)盤(pán)下載鏈接:【E03】百度網(wǎng)盤(pán)下載鏈接

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

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

相關(guān)推薦

方案定制

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