豆搜网 文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > 工程科技 > 信息与通信 > DS18B20程序
侵权投诉

DS18B20程序

#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long

#define DELAY_CLOSEDIS 5 //没按键,延时5秒关背光
#define DELAY_INPUT 5 //没按键,延时5秒返回显示温度
#define KEYCODE_UP 0x1 //加温度
#define KEYCODE_DOWN 0x2 //减温度
#define KEYCODE_FAN 0x4 //设置风速
#define KEYCODE_ONOFF 0x8 //开关风机
#define KEYCODE_TIME 0x6 //设置时间
#define KEYCODE_PWM 0xc //设置PWM
#define WAIT_cCurrTemp 0
#define MAX_TEMP 32
#define MIN_TEMP 15

sbit bDQ = P1^0; // DS1820数据线
sbit bLED_light = P1^1; // LED 背光驱动,低有效
sbit bKey1 = P1^2; // 键盘扫描线1,高有效
sbit bKey2 = P1^3; // 键盘扫描线2,高有效
sbit bKey3 = P1^4; // 键盘输入线1,低有效
sbit bKey4 = P1^5; // 键盘输入线2,低有效
sbit bFAN = P0^5; // 开风机PWM, 低有效
sbit bAC_Zero = P3^2; // 过零脉冲输入口
//uchar ucCount1; // 记录过零脉冲宽度
uchar ucCount; // 可控占空比0-95%宽度=10mS-ucCount1
uchar ucPWM; // 输出占空比
uchar bdata ucLED;
sbit bFAN_AUTO = ucLED^3;
sbit bFAN_LOW = ucLED^2;
sbit bFAN_MIN = ucLED^1;
sbit bFAN_HIGH = ucLED^0;
bit bPowerON = 0; // 开机状态=1
uchar ucTimer;
/**************** LED显示相关变量 ********************/
// 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, C, 度
const uchar code aucLEDNUMCODE[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x7,0x7F,0x6F,0x39,0x63};
const uchar code aucLEDcs[]={0x17,0x1b,0x1d,0x1e,0x0f}; /* LED位选 */
uchar ucScanIndex; /* 数码管位选控制 */
//uchar ucLEDData[4]; /* 临时显示缓冲数组 */
uchar ucLEDFlash[5]; /* 显示缓冲数组 */
bit bNeg; /* 负号标志 */
uchar ucFlashType;
bit bFlash;
uchar ucCurrSec;
uchar ucSystemStatus;
uchar ucDelaySec; //切换延时秒数
uchar ucCloseDelaySec; //关背光延时秒数
uchar aucCurrTime[2];
uchar aucTmpValue[2];
uchar ucFanSpeed;
char cCurrTemp;
char cSetTemp;
/**********************************************************************/
uchar ucLongDelay; //长按键
uchar ucDelayKey;
uint nDelay100uS;
char cKEYCode;
bit bStill;
bit bUpdateDisOK;

/****************************** 函数声明 ******************************/
void DisplayValue(char *Value);
void SetFanStatus(void);
void DisposeKey(void);
void ScanLED(void);
uchar SCANKEY(void);
void DisplayTemp(char Temp);
void Key(uchar k);
void DisposeCurrTime(void);
void DisposeDelay(uchar LType);
void UpdateDis(uchar status);

/**********************************************************************/
bit Init_DS18B20(void)
{
bit sysOK = 0;
bDQ = 0; // 单片机将DQ拉低
nDelay100uS = 6;
while(nDelay100uS != 0); // 精确延时 大于 500us
bDQ = 1; // 拉高总线
nDelay100uS = 4;
while(bDQ && nDelay100uS); // 稍做延时后 如果bDQ=0则初始化成功 bDQ=1则初

第1页

热门文档

相关文档

  • ds18b20详解及程序

    ds18b20详解及程序_专业资料。ds18b20的详细资料和程序最近都在学习和写单片机的程序, 今天有空又模仿 DS18B20 温度测量显示实验写了一个 与 DS18B20 基于单...

  • ds18b20程序详解

    ds18b20程序详解_信息与通信_工程科技_专业资料 暂无评价0人阅读0次下载举报文档 ds18b20程序详解_信息与通信_工程科技_专业资料。DS18B20很详细的中文资料和...

  • DS18B20程序

    ds18b20程序 6页 1下载券 DS18B20_C程序 3页 1下载券 ds18b20程序详解 4页 免费 ds18b20的子程序 5页 免费 DS18B20程序1 2页 免费 DS18B20+课设程序...

  • DS18B20源程序

    DS18B20源程序_信息与通信_工程科技_专业资料。程序 16.3.1 使用 TX-1C 实验板上的 DS18B20 温度传感器设计温控系统 C 语言源代码 (part4.3 P349) #...

  • DS18B20程序-超详细注释

    DS18B20程序-超详细注释_电子/电路_工程科技_专业资料。#include <reg52.h> #include <intrins.h> #define uchar unsigned char #define uint unsigned int ...

  • 基于AVR的DS18b20程序

    [0]=tempval/100; tempval=temh;e[1]=(tempval/10)%10; tempval=temh;e[2]=tempval%10; tempval=teml;e[3]=tempval;*/ } //再在主程序中调用一下 ...

  • 51单片机与ds18b20程序

    51单片机与ds18b20程序_信息与通信_工程科技_专业资料。DS18B20程序#include <reg52.h> #include <intrins.h> #define uchar unsigned char #define uint ...

  • 单片机c语言ds18b20程序

    单片机c语言ds18b20程序_信息与通信_工程科技_专业资料。单片机c语言ds18b20程序#include<reg51.h> #define uchar unsigned char #define uint unsigned int ...

  • DS18B20(驱动程序)

    #include "DS18B20.h" #include "OCM12864.h" //extern uchar temp_value; uchar temp_value0; /***ds18b20程序***/ /***ds18b20延迟子函数(晶振12M...

  • DS18B20与单片机的程序

    DS18B20与单片机的程序_信息与通信_工程科技_专业资料。DS18B20与单片机的程序功能:实现对 DS18B20 的温度读取,蜂鸣器提示,数码管显示,同时将温度数据发送到计 ...

站点地图 | 文档上传 | 侵权投诉 | 手机版
新浪认证  诚信网站  绿色网站  可信网站   非经营性网站备案
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.docsou.com All Rights Reserved.  闽ICP备15022310号-9  闽公网安备 35021102001881号  email
返回顶部