单片机热敏电阻测温度c语言,51单片机热敏电阻测温程序.doc
//本程序是通过热敏电阻测温度(30c-50c
#include
#include
#include
#define uchar unsigned char
#define uint unsigned int
uchar smg[]={0x88,0xeb,0x4c,0x49,0x2b,0x19,0x18,0xcb,0x08,0x09};
uchar b,d;
uint shuju;
int a,temp;
sbit start=P2^7;
sbit ale=P2^7;
sbit addc=P2^6;
sbit addb=P2^5;
sbit adda=P2^4;
sbit eoc=P2^3;
sbit oe=P2^2;
sbit clk=P3^2;//0809时钟脚
sbit dat=P3^0; //串行数码管数据端
sbit clock=P3^1; //串行数码管时钟端
sbit DQ=P2^0;
/******************delay**************************/
void delay(uint x)
{
while(x--);
}
void delay1(uint x)
{
uint i,j;
for(i=0;i
for(j=0;j<110;j++);
}
/*******************ds18b20***********************/
void Init_DS18B20(void)
{
unsigned char x=0;
DQ = 1; //DQ复位
delay(8); //稍做延时
DQ = 0; //单片机将DQ拉低
delay(80); //精确延时 大于 480us
DQ = 1; //拉高总线
delay(14);
x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败
delay(20);
}
/******************************从18B20中读一个字节****************************/
uchar Read_OneChar(void)
{
uchar i = 0;
uchar dat = 0;
for (i=8;i>0;i--)
{
DQ = 0; // 给脉冲信号
dat >>= 1;
DQ = 1; // 给脉冲信号
if(DQ)
dat |= 0x80;
delay(8);
}
return(dat);
}
/******************************向18B20中写一个字节****************************/
void Write_OneChar(uchar dat)
{
uchar i=0;
for (i=8; i>0; i--)
{
DQ = 0;
DQ = dat&0x01;
delay(10);
DQ = 1;
dat >>= 1;
}
delay(8);
}
/***********************************读取温度**********************************/
uchar Read_Temperature(void)
{
uchar i = 0,t = 0;
Init_DS18B20();
Write_OneChar(0xcc); // 跳过读序号列号的操作
Write_OneChar(0x44); // 启动温度转换
Init_DS18B20();
Write_OneChar(0xcc); //跳过读序号列号的操作
Write_OneChar(0xbe); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度
i = Read_OneChar(); //读取温度值低位
t = Read_OneChar(); //读取温度值高位
b = t;
d =0x88;
/*if(b&0x80==0x80) //显示负数
{
t = ~t;
//t += 1;
i = ~i;
i += 1;
d = 0xbf;
}*/
a = i & 0x0f;
i = i >> 4; //低位右移4位,舍弃小数部分
t = t << 4; //高位左移4位,
单片机热敏电阻测温度c语言,51单片机热敏电阻测温程序.doc相关推荐
- 单片机波特率不加倍c语言,51单片机硬件系统设计时,为什么用11.0592MHz的晶振而不用12MHz晶振的原因及串口波特率误...
在设计51系列的单片机系统时,一般选用11.0592MHz的晶振而不选用12MHz的晶振,为什么?12M的晶振,振荡频率明显高于11.0592M的,按理说12MHz的晶振可以提高单片机的性能,那么我们 ...
- 51单片机4位数乘法C语言,51单片机实现4位数以内的加减法
中南民族大学,电子信息工程学院,开设了一门课程,叫<嵌入式电路设计>,由舒老师带头,旨在引导低年级的学生入门嵌入式,其内容比较多,包括模电.数电.C语言.单片机.EDA技术等.最近有位师弟 ...
- 51单片机生日快乐歌c语言,51单片机实现生日快乐歌
for(j=0;j<115;j++); } //生日快乐歌的音符频率表,不同频率由不同的延时来决定 u8 code SONG_TONE[]={212,212,190,212,159,169,21 ...
- 51单片机生日快乐歌c语言,51单片机演奏音乐“祝你生日快乐”
原标题:51单片机演奏音乐"祝你生日快乐" ; ORG 0000H LJMP START ORG 000BH INC 20H ;中断服务,中断计数器加1 MOV TH0,#0bbH ...
- 单片机自动调光C语言,51单片机led灯渐变PWM调光(渐亮渐灭)C语言和汇编源程序
PWM控制led灯渐亮渐灭程序 适用ME500开发系统 短接JP41-2选用8个LED灯 PWM-PulseWidthModulation(脉冲宽度调制) PWM足?种周期?走而高低电平的rV空比可以 ...
- 单片机自动调光C语言,51单片机触控调光程序C语言
/********************************************************************************************* 程序名: ...
- 51单片机流水灯用c语言,51单片机之流水灯(C语言和汇编两个版本)
c语言 #include typedef unsigned char uint8; sbit ADDR0=P1^0; sbit ADDR1=P1^1; sbit ADDR2=P1^2; sbit EN ...
- 单片机控制lcd序c语言,51单片机驱动1602液晶的C程序
# include /***************************************** 电路连接 P1------DB0-DB7 P2.0------RS P2.1------RW ...
- 51单片机音乐播放器c语言,51单片机之简单的音乐播放器
/************************************************************* 音乐播放器: 按键 0 - 9 对应最多10首乐曲,当一首乐曲播放完毕后, ...
最新文章
- 如何备考上海市高等学校计算机一级,计算机一级考试备考攻略
- 中国芯片将靠此超车!RISC-V架构神在哪全解构【附下载】
- linux内核配置失败,petalinux配置内核出现下面错误
- 一种提高单片机i/o口驱动能力的方法
- python while一定要提供循环次数吗_Python语法之选择和循环(if、while)
- 关于I2C和SPI总线协议
- 差值平方和匹配_机器学习实战 | 简单目标识别与意图分析之模板匹配
- 大型油烟机清洗机器人_大型油烟机清洗机
- pywin32、win32api、win32gui、win32com、win32con 都是啥?
- 宏基4752g linux驱动下载,宏碁笔记本及应用程序驱动下载_硬件驱动下载
- Fastjson源码阅读:缺陷静态检查(上)
- 谷歌高级搜索技巧之高级语法查询指令
- opencv (五十四)ORB特征点
- 华南理工大学计算机科学与工程学院篡改,疑篡改研究生复试成绩!华工四人被停职接受调查...
- [学习]BES蓝牙芯片开发
- 极光推送REST API与Java后台对接
- 冯唐:职场人35岁后的成事心法,就这10个字
- java arraylist 复制_如何克隆ArrayList和复制其内容?
- 前端学习 HTML5和CSS3新特性 高级技巧 JavaScript基础语法
- 在高德地图使用: AMap is not defined
热门文章
- 正则匹配ip地址并替换
- [附源码]JSP+ssm计算机毕业设计无糖主义甜点店进销存系统382ys【源码、数据库、LW、部署】
- 《 Android物联网开发从入门到实战》国内第一本开发书籍!
- 千寻放弃rtd亚米级定位服务
- python升级3.9的艰辛历程
- EXCEL VBA连接不同版本的solidworks
- r76800h和i712700h性能差多少 锐龙r7 6800h和酷睿i7 12700h哪个好
- 模仿人类自动上色!爱奇艺提出动画上色AI模型,每张只需0.7秒 | WACV 2021
- weblogic Unable to obtain lock on
- Android花样loading进度条(四)-渐变色环形进度条