• 大小: 72KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: 其他
  • 标签:

资源简介

多点温度采集系统 有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

评论

共有 条评论