资源简介
连夜帮人做的毕业设计。
主要实现DS18B20分布式多点测温
主机只进行通道选择和显示(1602四线方式)
从机接收主机的控制信号并选择相应器件测温(共控制8个18b20)。
住从机之间通过232总线或485总线通信
参考了一个多点测温的例子,修改了显示部分,增加了总线通信,proteus仿真通过(7.4版本)
压缩包内容:
原始参考程序及仿真,232总线,485总线通信方式的程序及仿真。最终修改的程序(232总线)。
主要实现DS18B20分布式多点测温
主机只进行通道选择和显示(1602四线方式)
从机接收主机的控制信号并选择相应器件测温(共控制8个18b20)。
住从机之间通过232总线或485总线通信
参考了一个多点测温的例子,修改了显示部分,增加了总线通信,proteus仿真通过(7.4版本)
压缩包内容:
原始参考程序及仿真,232总线,485总线通信方式的程序及仿真。最终修改的程序(232总线)。
代码片段和文件信息
#include
#include “LCD1602.h“
unsigned int shu[]={0x300x310x320x330x340X350x360x370x380x39};
unsigned long t;
unsigned char kf=0;
sbit DS=P1^1; //18b20
void del( int count ) //延时程序
{while(count--)
;
}
void delay(unsigned int count)//延时程序
{int p;
while(count--)
for(p=0;p<125;p++);
}
void write(unsigned char date)//向DS18B20中写入数据
{ int i;
for(i=0;i<8;i++) //由于是单总线每次只能写一位,一个字节需循环8次
{DS=0; //主机在某一时刻将总线从高电平拉到低电平,产生写时间隙
DS=date&0x01; // 写入数据。
del(15); //写如数据要15usds18b20对数据采样需要15us~60us,共需35us~70us.
DS=1;
date>>=1;
}
}
///////////////////////////////////////////////////////删!
void init(unsigned int n)// RW=0RS=0;向指令寄存器中写入命令,即对1602初始化。
{ delay(10);
E=0;
RS=0;
RW=0;
E=1;
P0=n;
E=0;
}
void write_data(unsigned char n)//RS=1RW=0;向数据寄存器中写入数据,即显示的数符。
{delay(10);
E=0;
RS=1;
RW=0;
E=1;
P0=n;
E=0;
}
void flcd_1602() //当为负温度时,液晶显示可以高位为0屏蔽.
{ init(0x80);write_data(0x4e);//NO
init(0x81);write_data(0x4f);
init(0x82);write_data(0x80);
init(0x85);write_data(0x74);//temperature
init(0x86);write_data(0x65);
init(0x87);write_data(0x6d);
init(0x88);write_data(0x70);
init(0x89);write_data(0x65);
init(0x8a);write_data(0x72);
init(0x8b);write_data(0x61);
init(0x8c);write_data(0x74);
init(0x8d);write_data(0x75);
init(0x8e);write_data(0x72);
init(0x8f);write_data(0x65);
init(0xc0);write_data(0x80);
init(0xc1);write_data(0x80);
init(0xc2);write_data(0x69); //is:
init(0xc3);write_data(0x73);
init(0xc4);write_data(0x3a);
if((t/1000%10)!=0)
{init(0xc5);write_data(0x2d);
init(0xc6);write_data(shu[t/1000%10]);
init(0xc7);write_data(shu[t/100%10]);
}
else
{init(0xc5);write_data(0xfe);
init(0xc6);write_data(0x2d);
init(0xc7);write_data(shu[t/100%10]);
}
init(0xc8);write_data(0x2e);
init(0xc9);write_data(shu[(t%100)/10]);
init(0xca);write_data(shu[t%10]);
init(0xcb);write_data(0x27);
init(0xcc);write_data(0x43);
init(0xcd);write_data(0x80);
init(0xce);write_data(0x80);
init(0xcf);write_data(0x80);
}
void lcd_1602() //当为正温度时,液晶显示可以高位为0屏蔽.
{ init(0x80);write_data(0x4e);//NO
init(0x81);write_data(0x4f);
init(0x82);write_data(0x80);
init(0x84);write_data(0x80);
init(0x85);write_data(0x74); //temperature
init(0x86);write_data(0x65);
init(0x87);write_data(0x6d);
init(0x88);write_data(0x70);
init(0x89);write_data(0x65);
init(0x8a);write_data(0x72);
init(0x8b);write_data(0x61);
init(0x8c);write_data(0x74);
init(0x8d);write_data(0x75);
init(0x8e);write_data(0x72);
init(0x8f);write_data(0x65);
init(0xc0);write_data(0x80);
init(0xc1);write_data(0x80);
init(0xc2);write_data(0x69); //is:
init(0xc3);write_data(0x73);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 232847 2009-05-15 18:29 DS18B20子程序详细介绍.pdf
目录 0 2009-05-18 19:42 最终修改
文件 94337 2009-05-18 01:37 最终修改\Last Loaded 最终设计.DBK
文件 103703 2009-05-18 02:01 最终修改\最终设计.DSN
文件 3366 2009-05-18 19:44 最终修改\最终设计.PWI
目录 0 2009-05-18 19:42 最终修改\从机
文件 2054 2009-05-16 15:03 最终修改\从机\chuankou.h
文件 1760 2009-05-17 16:18 最终修改\从机\main.c
文件 3928 2009-05-17 16:18 最终修改\从机\main.LST
文件 15128 2009-05-17 16:18 最终修改\从机\main.OBJ
文件 3210 2009-05-17 15:59 最终修改\从机\xuanze.h
文件 13561 2009-05-17 16:18 最终修改\从机\从机
文件 3970 2009-05-17 16:18 最终修改\从机\从机.hex
文件 25 2009-05-17 16:18 最终修改\从机\从机.lnp
文件 17912 2009-05-17 16:18 最终修改\从机\从机.M51
....... 1342 2009-05-17 20:47 最终修改\从机\从机_Opt.Bak
文件 176 2009-05-18 19:48 最终修改\从机\从机.plg
....... 2087 2009-05-17 20:47 最终修改\从机\从机_Uv2.Bak
文件 2098 2009-05-18 19:48 最终修改\从机\从机.Uv2
文件 1342 2009-05-18 19:48 最终修改\从机\从机.Opt
目录 0 2009-05-18 19:42 最终修改\主机
文件 5933 2009-05-17 19:55 最终修改\主机\1602.h
文件 2176 2009-05-16 10:33 最终修改\主机\chuankou.h
文件 5755 2009-05-17 20:07 最终修改\主机\l1602.h
文件 4235 2009-05-18 01:17 最终修改\主机\LCD1602.h
文件 2979 2009-05-18 01:26 最终修改\主机\main.c
文件 7321 2009-05-18 01:26 最终修改\主机\main.LST
文件 24212 2009-05-18 01:26 最终修改\主机\main.OBJ
文件 3164 2009-05-16 19:52 最终修改\主机\xuanze.h
文件 21642 2009-05-18 01:26 最终修改\主机\主机
............此处省略115个文件信息
- 上一篇:clear3389.rar
- 下一篇:迈克尔逊干涉仪的调整与使用实验报告
相关资源
- 单片机 DS18B20 温度控制系统
- 课程设计蔬菜大棚自动控制系统,包
- 带时间温度显示的室内灯光控制系统
- IIC proteus仿真实验
- 关于proteus仿真arm7出现错误的问题
- STM32+1602液晶proteus仿真.zip
- AT89C51+ADC0808 PROTEUS仿真
- 单片机驱动4相步进电机proteus仿真
- ds18b20温度传感是什么传感器
- 微机原理 十字路口交通灯控制 prot
- 中央空调室内智能温控器设计论文、
- Proteus仿真的单片机控制步进电机及液
- 智能家居照明控制系统设计proteus仿真
- 郭天祥TX-1C版的Proteus仿真 三个版本
- 微机原理 8086 十字路口交通灯控制
- proteus仿真、keil4、DHT11、LCD1602
- DS18B20_Serial_println.ino
- 电子万年历的设计51单片机 Proteus仿真
- 实现按键控制设定温度值,控制继电
- ( 16×64LED点阵显示屏的设计(附
- 51单片机交通灯 源代码+proteus仿真图
- [单片机原理与应用设计C51编程+Prote
- 带字库LCD12864ST7920的Proteus仿真
- Proteus合集电路图、仿真程序仅供参考
- ds18b20测温例程tm4c123x
- STM32F103C8T6读取DS18B20串口显示程序.r
- DS18B20温度+DHT11湿度+LCD1602
- TM4C系列ds18b20温度传感器例程
- 读写ds18b20内部eeprom
- 基于FPGA的DS18B20单总线控制+数码管显
评论
共有 条评论