简单多点温度测量系统课程设计(4)
dsreset(); delay(1); match_rom(fp); tmpwritebyte(0xbe); a=tmpread(); //读低8位 b=tmpread(); //读高8位 temp=b;
temp<<=8; //two byte compose a int variable 两个字节组合为1个字 temp=temp|a;
tt=temp*0.0625; //温度在寄存器中是12位,分辨率是0.0625 temp=tt*10+0.5; //乘10表示小数点后只取1位,加0.5是四折五入 return temp; }
void display(uint temp) {
uchar A0,A1,A2,A2t,A3,ser; ser=temp/10; SBUF=ser; A0=temp/1000; A1=temp00/100; A2t=temp0; A2=A2t/10; A3=A2t; dula=1; P1=table[A0];
//显示千位
//显示程序
16
P3=0Xfe; dula=0; delay(1); dula=1;
P1=table[A1]; P3=0Xfd; dula=0; delay(1); dula=1;
P1=table1[A2]; P3=0xfb; dula=0; delay(1); dula=1;
P1=table[A3]; P3=0xf7; dula=0; delay(1); dula=1; }
void main() {
//显示百位
//显示十位 //显示个位 17
uchar fp=1; uint x=0; while(1) {
if(button1==0||(button1==1&&button2==1)) //按下一号键或者不按键时显示A的温度测量值
{delay(1); //延时去抖动 if(button1==0||(button1==1&&button2==1)) do{ fp=1; tmpchange(fp);
display(x); display(x); x=tmp(fp);
display(x);display(x);
}while(button2==1);
}
if(button2==0)
//按下二号键测量B的温度 {delay(1);
if(button2==0) do{ fp=0; tmpchange(fp);
display(x);display(x);
x=tmp(fp);
display(x);display(x); }while(button1==1);
}
} }
18
5.4
用来提取DS18B20的ROM-ID码子程序
物理电路公用上面的原理电路,但是提取ID码时每次只能接一个DS18B20在上面,
不然就没法提取了。程序如下:
#include
#define uchar unsigned char #define uint unsigned int sbit DS=P2^0; sbit dula=P2^6; uint temp; uchar
tab[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; uchar t1[8];
void delay_ms(uchar i) //延时(j*2+1+2)*i+5 个机器周期 { uchar j; do{j=248;
do{j--;}while(j); i--; }while(i); }
void DS_init(void) //18B20复位,初始化函数 {
uint i; DS=0;
i=103;while(i>0)i--; DS=1;
i=4;while(i>0)i--;
19
//12MHz时,延时 0.5*i ms
}
bit read_bit(void) //读1位数据函数 {
uint i; bit dat;
DS=0;i++; DS=1;i++;i++; dat=DS;
i=8;while(i>0)i--; return (dat); }
uchar read_byte(void) //读1字节函数 {
uchar i,j,dat; dat=0;
for(i=1;i<=8;i++) {
j=read_bit();
dat=(j<<7)|(dat>>1); //读出的数据最低位在最前面,这样刚好一个字节在DAT里 }
return(dat); }
void write_byte(uchar dat) //向1820写一个字节数据函数 {
uint i;
20
相关推荐:
- [综合文档]应答器设备技术规范(征求意见稿)A1
- [综合文档]教师 2012年高考政治试题按考点分类汇
- [综合文档]保险公司的总经理助理竞职演说
- [综合文档]卫生应急大练兵大比武活动考试--题库(
- [综合文档]徐州经济技术开发区总体规划环境影响报
- [综合文档]汉语拼音表(带声调)
- [综合文档]二年级 上 思维训练( 1~18)
- [综合文档]特色学校五年发展规划
- [综合文档]机床经常出现报警“X1轴定位监控”
- [综合文档]《电子技术基础》21.§5—2、3、4 习题
- [综合文档]浙江省深化普通高中课程改革
- [综合文档]CRISP原理 - 图文
- [综合文档]2017年电大社会调查研究与方法形考答案
- [综合文档]浅析建筑施工安全毕业论文
- [综合文档]《回忆我的母亲》名师教案
- [综合文档]装饰装修工程监理规划
- [综合文档]三下乡心得体会-文艺
- [综合文档]柱计算长度系数 - 图文
- [综合文档]全流程思考,提高燃电系统热电转换率--
- [综合文档]2018年嘉定区中考物理一模含答案
- 433M车库门滚动码遥控器
- 8、架空线路施工规范
- 大学四年声乐学习的体会
- 新北师大版五年级数学上册《轴对称再认
- 部编版五年级上册语文第六单元小结复习
- 小学六年级英语形容词用法
- 第2课 抗美援朝保家卫国 课件01(岳麓版
- 2015年天津大学运筹学基础考研真题,考
- 微机计算机控制技术课后于海生(第2版)
- 安全教育实践活动
- Delphi程序设计教程_第1章_Delphi概述
- 第八讲 工业革命与启蒙运动
- 《中华人民共和国药典》2005年版二部勘
- 科粤版九年级化学2.3构成物质的微粒(1)
- 西师大版数学三年级下册《长方形、正方
- ch6_冒泡排序演示
- 第4章 冲裁模具设计
- 浙江中小民营企业员工流失论文[终稿]
- 再议有线数字电视市场营运模式
- 昆明供水工程监理大纲




