温度测量DSB1820 lcd1602液晶显示

发布者:fengting最新更新时间:2015-02-09 来源: 51hei关键字:温度测量  DSB1820  lcd1602  液晶显示 手机看文章 扫描二维码
随时随地手机看文章
程序中要用到LCD1602display.h头文件 可以在我的另一篇文章中取得: http://www.51hei.com/mcu/3292.html 为同一个文件
#include
#include
#include "LCD1602display.h"
sbit DQ=P2^0; //ds18b20
uint wendu=0;
uchar num,num1;
uint temperature=0;
uchar code range[]="===TEMPERTURE===";
uchar code ASCII[]="0123456789.";
uchar code table0[]="ROME TEMP:00.0C ";
uchar code table1[]=" ERRO !!! ";
uchar temp[3]={0,0,0};
//********************延时
void delay1ms(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=114;y>0;y--);
}
//*************************初始化
bit init_DS18B20()
{
bit flag; //储存DS18B20是否存在的标志,flag=0,表示存在;flag=1,表示不存在
DQ=1;
_nop_(); //先拉高
DQ=0;
for(num=0;num<200;num++); //要求保持480~960us
DQ=1; //释放数据线
for(num=0;num<10;num++); //等待DS18B20响应
flag=DQ; // 响应
for(num=0;num<200;num++); //延时足够长时间(此延时函数为了防止收不到信号而进入死胡同)
DQ=1; //释放数据线
return (flag); //返回检测成功标志
}
//*******************************写温度数据
void DS18B20_WR_CHAR(uchar byte) // 先写低位
{
for(num1=0;num1<8;num1++)
{
DQ=1;
_nop_();
DQ=0; //将数据线从高拉低时即启动写时序
for(num=0;num<5;num++);//等待15us
DQ=byte&0x01;
for(num=0;num<15;num++); //延时约45us,DS18B20在约15~45us期间从数据线上采样
byte>>=1;
for(num=0;num<1;num++);//延时3us,两个写时序间至少需要1us的恢复期
}
DQ=1;//释放数据线
}
//**********************************读出温度数据
uchar DS18B20_RD_CHAR() //先读低位
{
uchar byte=0;
for(num1=0;num1<8;num1++)
{
DQ=1;
_nop_();
DQ=0; //给个低脉冲
_nop_();
DQ=1;
for(num=0;num<5;num++); //延时约15us,使主机在15us内采样
byte>>=1;
if(DQ==1)
byte|=0x80;
else
byte|=0x00;
for(num=0;num<1;num++);//延时3us,两个读时序之间必须有大于1us的恢复期
}
return (byte);
}
//*********************************温度计算
void DS18B20_WENDU()
{
uchar temperaturel=0,temperatureh=0;
if(init_DS18B20()==0)
{
DS18B20_WR_CHAR(0xcc);
DS18B20_WR_CHAR(0x44);
delay1ms(1000);
if(init_DS18B20()==0)
{
DS18B20_WR_CHAR(0xcc);
DS18B20_WR_CHAR(0xBE);
_nop_();
temperaturel=DS18B20_RD_CHAR();
temperatureh=DS18B20_RD_CHAR();
temperature=(temperatureh*256+temperaturel)*0.625;
init_DS18B20();
}
//return (temperature);
}
}
//******************************温度显示
void display_DS18B20()
{
temp[2]=temperature/100%10;
temp[1]=temperature%100/10;
temp[0]=temperature%10;

DisplayListChar(0, 1, table0);
DisplayOneChar(10, 1, ASCII[ temp[2] ] );
DisplayOneChar(11, 1, ASCII[ temp[1] ] );
DisplayOneChar(12, 1, ASCII[10] );
DisplayOneChar(13, 1, ASCII[ temp[0] ] );
}
//*******************************主函数
main()
{
InitLCM();
DisplayListChar(0,0,range);
DisplayListChar(0,1,table0);
while(1)
{
if( init_DS18B20()==0)
{
DS18B20_WENDU();
display_DS18B20();
}
}
}
关键字:温度测量  DSB1820  lcd1602  液晶显示 引用地址:温度测量DSB1820 lcd1602液晶显示

上一篇:C51单片机串口通信
下一篇:数码语音温度计设计方案

推荐阅读最新更新时间:2024-03-16 13:53

DS1620实现高分辨率温度测量
DS1620是DALLAS半导体公司的温度传感器家庭成员之一,是新型数字式温度传感器。其测温范围宽(-55℃~+125℃),感应能力精确,不需A/D转换电路,直接将温度值转换成数字量。其外围电路简单,可以不需要PC机和单片机等的支持,独立进行工作。可广泛应用于温度控制,温度测量,工作系统及任何热敏感系统中。 DS1620为8引脚DIP或SOIC封装,其引脚符号及功能见表1。 表 1   引脚号 符  号 功  能 1 DQ 3线数据输入/输出端 2 CLK/CONV 3线时钟输入端/独立工作端 3 RST 3线箝位输入端(低电平复位)
[测试测量]
利用单片机的端口地址实现对液晶显示器的控制
在许多使用单片机控制的场合,为改善人机界面,经常要使用液晶显示器显示控制机构的工作状态及各种参数信息以供操作人员作出决策,由于液晶显示器是一个低速器件,加上它对接口的要求比较特殊,使得单片机对它的控制变得较为烦琐,从而占用了许多机器时间。在我们研制的数字录音机中使用了一块16×2的字符型液晶显示器,由于单片机不断地更新液晶显示器上的显示信息,同时又要处理语音数据,所以节约机器时间显得尤为重要,为此我们采用以端口地址来区分命令的方法,成倍地节约了单片机对液晶操作的时间。 1. 硬件接口原理   在笔者所设计的系统中使用的16×2字符型液晶显示器为南京国显电子公司生产,它与8031单片机的典型连接电路如图1所示,模块引脚功能如
[单片机]
利用单片机的端口地址实现对<font color='red'>液晶显示</font>器的控制
LM135温度传感器及其应用电路
LM135/LM235/LM335是美国国家半导体公司推出的精密温度传感器,它工作与齐纳二极管相似,其反向击穿电压随温度按+10mV/k的规律变化,可应用于精密的温度测量设备。它有三种封装形式适合于各类要求的仪器仪表要求,其主要功能特性如下: 直接在绝对温标校准 1℃的精确度 工作电流400uA—5mA 动态阻抗1Ω 便于校准 宽工作温度范围2001℃ 低成本 图2是LM135的内部原理图,V15和V16是感温元件,这两个三极管的物理结构有着特定的要求,V15的发射结面积是V16发射结面积的10倍。它们的集电极负载电阻完全一致,如果流过这两个电阻的电流不同,V15和V16的集电极电压也不同,通过V1—V8组成的差分放大器放大,
[测试测量]
LM135温度传感器及其应用电路
pt100测温程序-LCD1602
#include at89X52.h sbit LCD_RS =P2^0; sbit LCD_RW =P2^1; sbit LCD_E =P2^2; sbit ADC_CS =P2^3; sbit ADC_WR =P3^6; sbit ADC_RD =P3^7; #define LCD_DATA P0 unsigned char LcdBuf1 = ; unsigned char code Bmp001 = { {0x06,0x09,0x09,0x06,0x00,0x00,0x00,0x00}, {0x06,0x09,0x10,0x10,0x10,0x09,0x06,0x00}
[单片机]
pt100测温程序-<font color='red'>LCD1602</font>
PIC单片机LCD1602显示
P IC 单片机 LCD 1602显示本站网址和电话 ;************************************ PCL EQU 2H ;定义程序 存储器 低字节地址 STATUS EQU 3H ;定义状态寄存器地址 PORTD EQU 8H ;定义RD口数据寄存器地址 PORTC EQU 7H ;定义RC口数据寄存器地址 TRISD EQU 88H ;定义RD口方向控制寄存器地址 TRISC EQU 87H ;定义RC口方向控制寄存器地址 ADCON1 EQU 9FH ;定义ADC模块控制寄存器1的地址 ;******************** Z EQU 2 ;定义0状态位的位
[单片机]
基于DSP的液晶显示通用控制器设计
引言 电力电子装置在调试和研发的过程中,需要经常性地改动相关的控制参数,同时需要实时监测装置运行过程中的各关键点处的电量波形。现在的电力电子装置,其控制板的主控芯片通常采用 DSP(数字信号处理器),由于其硬件条件的限制,进行控制参数(如 PID的各控制系数)的修改时,往往需要不断地更改和烧写程序,很难实时地在线进行参数修改,同时也很难向装置发送复杂的控制指令;另外,现在装置的调试过程中,在需要监测相关点处的电量波形时,往往采用多通道隔离示波器进行。这一方面大大增加了装置的研发成本,同时由于示波器的通道数有限,不能随时增加和变更所监测的波形点,另外示波器的探头受到电磁兼容性的制约,长度有限,调试时使用起来也造成了很多不便。 笔者
[工业控制]
基于DSP的<font color='red'>液晶显示</font>通用控制器设计
基于MSP430单片机的彩色TFT液晶显示模块的应用
现代显示技术的基本特点是将各种非电置的信息,如声、光、热、力、数、气氛等的信息源通过一定的传感器、处理器进行感知和处理,传输给显示装置,再由显示装置进行处理、转换,最后经由显示器件转换为人类视觉可识别的信息。在显示的过程中,TFT彩色液晶显示模块可以提供更大的信息量。而触摸屏是一种使电子设备改头换面的设备,它赋予电子设备以崭新的面貌,是极富吸引力的全新多媒体交互设备。 总体设计 任何一种基于微控制器的系统设计都包含了硬件设计和软件设计两个大的方面。硬件设计主要根据系统的功能要求选择不同的器件和芯片完成电路的搭建:软件设计是根据硬件的设计编写驱动代码和控制代码来完成特定的功能。硬件设计与软件设计结合起来才是一个完整的系统设计
[单片机]
基于MSP430单片机的彩色TFT<font color='red'>液晶显示</font>模块的应用
明基否认将出售液晶显示器产品线 称非卖品
  新浪科技讯 4月13日早间,明基对外发表声明说,公司并没有出售液晶显示器生产线的计划。明基人士表示,这一业务为“非卖品”。以下为声明全文:   针对2006年4月11日部分媒体有关明基电通可能出售液晶显示器生产线的报道,明基电通特此发表声明如下:   第一、明基专注于策略经营事业,以求最佳化的经济规模,透过合并友达与广辉两大面板厂,间接对于视讯产品事业部上下游整合产生极大助益,也将使明基在显示器产业中的领导地位更加稳固。明基并无移转显示器产品线的计划,有关报道纯属误传。   第二、不论过去、现在或未来,明基电通秉持一贯精神,以制造最高品质的视讯产品,满足客户与消费者的需求。明基视讯产品2006年首季度业
[焦点新闻]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved