資源簡介
多點溫度采集系統 有8個采集點 DS18B20 51C實現,課程設計

代碼片段和文件信息
#include?
#include?
#define DATA P1??????//1602驅動端口
//ROM操作命令
#define?????????????????READ_ROM??????????????? 0x33????????????????????//讀ROM?
#define?????????????????SKIP_ROM??????????????? 0xCC????????????????????//跳過ROM?
#define?????????????????MATCH_ROM???????????????0x55????????????????????//匹配ROM?
#define?????????????????SEARCH_ROM??????????????0xF0????????????????????//搜索ROM?
#define?????????????????ALARM_SEARCH????????????0xEC????????????????????//告警搜索
//存儲器操作命令
#define?????????????????ANEW_MOVE????????????? 0xB8????????????????????//重新調出E^2數據
#define?????????????????READ_POWER??????????????0xB4????????????????????//讀電源
#define?????????????????TEMP_SWITCH?????????????0x44????????????????????//啟動溫度變換?
#define?????????????????READ_MEMORY?????????????0xBE????????????????????//讀暫存存儲器
#define?????????????????COPY_MEMORY?????????????0x48????????????????????//復制暫存存儲器
#define?????????????????WRITE_MEMORY????????????0x4E????????????????????//寫暫存存儲器
//數據存儲結構
typedef?struct?tagTempData
{
unsigned?char? btThird; //百位數據
unsigned?char? btSecond; //十位數據
unsigned?char? btFirst; //個位數據
unsigned?char? btDecimal; //小數點后一位數據
unsigned?char btNegative; //是否為負數
}TEMPDATA;
TEMPDATA?m_TempData;
//引腳定義
sbit? DQ?=?P2^7; //數據線端口
sbit? RS= P2^0;
sbit? RW= P2^1;
sbit? E= P2^2;
//DS18B20序列號通過調用GetROMSequence()函數在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;
}
//寫指令程序
void?WriteCommand(unsigned?char?btCommand)
{
Busy();
RS?=?0;
RW?=?0;
E?=?1;
DATA?=?btCommand;
E?=?0;
}
//寫數據程序
void?WriteData(unsigned?char?btData)
{
Busy();
RS?=?1;
RW?=?0;
E?=?1;
DATA?=?btData;
E?=?0;
}
//清屏顯示
void?Clear()
{
WriteCommand(1);
}
//初始化
void?Init()
{
WriteCommand(0x0c); //開顯示無光標顯示
WriteCommand(0x06); //文字不動,光標自動右移
WriteCommand(0x38); //設置顯示模式:8位2行5x7點陣
}
//顯示單個字符
void?DisplayOne(bit?bRow?unsigned?char?btColumn?unsigned?char?btData?bit?bIsNumber)
{
if?(bRow)? WriteCommand(0xc0?+?btColumn);
else?????? WriteCommand(0x80?+?btColumn);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-08-27?10:51??應用實例10??多點溫度采集系統\
?????文件???????96258??2012-03-09?20:08??應用實例10??多點溫度采集系統\Last?Loaded?多點溫度采集系統.DBK
?????文件????????7602??2012-03-09?19:53??應用實例10??多點溫度采集系統\MCU.c
?????文件???????13920??2012-03-09?20:08??應用實例10??多點溫度采集系統\MCU.LST
?????文件???????17799??2012-03-09?20:08??應用實例10??多點溫度采集系統\MCU.OBJ
?????文件????????6376??2005-03-22?15:22??應用實例10??多點溫度采集系統\STARTUP.A51
?????文件???????14048??2012-03-09?20:08??應用實例10??多點溫度采集系統\STARTUP.LST
?????文件?????????749??2012-03-09?20:08??應用實例10??多點溫度采集系統\STARTUP.OBJ
?????文件????????3816??2012-03-09?19:54??應用實例10??多點溫度采集系統\多點溫度測量.hex
?????文件???????16010??2012-03-09?20:08??應用實例10??多點溫度采集系統\多點溫度采集系統
?????文件???????96258??2012-03-10?14:01??應用實例10??多點溫度采集系統\多點溫度采集系統.DSN
?????文件????????3816??2012-03-09?20:08??應用實例10??多點溫度采集系統\多點溫度采集系統.hex
?????文件??????????67??2012-03-09?20:08??應用實例10??多點溫度采集系統\多點溫度采集系統.lnp
?????文件???????19920??2012-03-09?20:08??應用實例10??多點溫度采集系統\多點溫度采集系統.M51
?????文件????????1020??2012-03-10?15:54??應用實例10??多點溫度采集系統\多點溫度采集系統.Opt
?????文件?????????248??2012-03-10?16:08??應用實例10??多點溫度采集系統\多點溫度采集系統.plg
?????文件????????3030??2012-03-10?15:54??應用實例10??多點溫度采集系統\多點溫度采集系統.PWI
?????文件????????2155??2012-03-09?20:47??應用實例10??多點溫度采集系統\多點溫度采集系統.Uv2
?????文件????????1014??2012-03-09?20:47??應用實例10??多點溫度采集系統\多點溫度采集系統_Opt.Bak
?????文件???????????0??2012-03-09?19:50??應用實例10??多點溫度采集系統\多點溫度采集系統_Uv2.Bak
- 上一篇:UML建模課程設計
- 下一篇:APK加固及簽名工具綠色版
評論
共有 條評論