资源简介
PIC单片机 18B20温度传感器和六位数码管显示温度结果,其中整数部分2位,小数部分4位

代码片段和文件信息
//目的:熟悉DS18B20的使用
//六位数码管显示温度结果,其中整数部分2位,小数部分4位
//每次按下RB0键后进行一次温度转换。
//硬件要求:把DS18B20插在18B20插座上
// 拨码开关S10第1位置ON,其他位置OFF
// 拨码开关S5、S6全部置ON,其他拨码开关全部置OFF
#include
__CONFIG(0x1832);
//芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡
#define uch unsigned char //给unsigned char起别名 uch
# define DQ RA0 //定义18B20数据端口
# define DQ_DIR TRISA0 //定义18B20D口方向寄存器
# define DQ_HIGH() DQ_DIR =1 //设置数据口为输入
# define DQ_LOW() DQ = 0; DQ_DIR = 0 //设置数据口为输出
unsigned char TLV=0 ; //采集到的温度高8位
unsigned char THV=0; //采集到的温度低8位
unsigned char TZ=0; //转换后的温度值整数部分
unsigned char TX=0; //转换后的温度值小数部分
unsigned int wd; //转换后的温度值BCD码形式
unsigned char shi; //整数十位
unsigned char ge; //整数个位
unsigned char shifen; //十分位
unsigned char baifen; //百分位
unsigned char qianfen; //千分位
unsigned char wanfen; //万分位
unsigned char table[]={0xc00xf90xa40xb00x990x920x820xf80x800x90};
//0-9的显示代码
//------------------------------------------------
//延时函数
void delay(char xchar y)
{
char z;
do{
z=y;
do{;}while(--z);
}while(--x);
}
//其指令时间为:7+(3*(Y-1)+7)*(X-1)如果再加上函数调用的call 指令、页面设定、传递参数花掉的7 个指令。
//则是:14+(3*(Y-1)+7)*(X-1)。
//--------------------------------------------------
//结果显示函数
void display()
{
TRISA=0X00; //设置A口全为输出
PORTD=table[shi]; //显示整数十位
PORTA=0x3e;
delay(1070);
PORTD=table[ge]&0X7F; //显示整数个位,并点亮小数点
PORTA=0x3d;
delay(1070);
PORTD=table[shifen]; //显示小数十分位
PORTA=0x3b;
delay(1070);
PORTD=table[baifen]; //显示小数百分位
PORTA=0x37;
delay(1070);
PORTD=table[qianfen]; //显示小数千分位
PORTA=0x2f;
delay(1070);
PORTD=table[wanfen]; //显示小数万分位
PORTA=0x1f;
delay(1070);
}
//------------------------------------------------
//系统初始化函数
void init()
{
ADCON1=0X07; //设置A口为普通数字口
TRISA=0X00; //设置A口方向为输出
TRISD=0X00; //设置D口方向为输出
}
//-----------------------------------------------
//复位DS18B20函数
reset(void)
{
char presence=1;
while(presence)
{
DQ_LOW() ; //主机拉至低电平
delay(270); //延时503us
DQ_HIGH(); //释放总线等电阻拉高总线并保持15~60us
delay(28); //延时70us
if(DQ==1) presence=1; //没有接收到应答信号,继续复位
else presence=0; //接收到应答信号
delay(260);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6416 2008-11-03 20:58 ds18b20\ds18b20.c
文件 3205 2007-03-15 22:26 ds18b20\ds18b20.hex
..AD... 0 2008-10-25 22:40 ds18b20
----------- --------- ---------- ----- ----
9839 4
- 上一篇:wordpress网站微信\\QQ客服插件
- 下一篇:安全移除u盘小插件强烈推荐
相关资源
- PIC单片机完成的电子密码锁
- 基于PIC单片机的万年历的设计
- PIC单片机延时计算器
- PIC单片机人机接口模块4×4行列式
- PIC单片机人机接口模块4×4行列式
- 使用PIC单片机开发的简易数字电压表
- 基于PIC单片机的智能循迹小车设计
- 如何解决PIC单片机硬件死锁的问题
- PIC单片机学习之PIC
- 基于PIC单片机产生SPWM信号控制逆变桥
- TM4C系列ds18b20温度传感器例程
- STM32F103读取ds18b20温度传感器
- PIC单片机轻松入门.pdf
- FPGA实现的DS18B20温度传感器
- stm32f407对ds18b20温度传感器数据的采集
- Altium Designer下PIC单片机的集成库
- PIC16F877A中文手册
- DS18B20温度传感器模块使用资料包stm
- STM32F072多路DS18B20温度传感器
- PIC单片机仿真大全汇编程序库
- 《PIC单片机自学笔记》随书程序及原
- DS18b20温度传感器协调器终端zigbee程序
- PIC单片机的AD转换程序并含串口发送程
- PIC单片机捕捉模块的设计思路
- 基于PIC单片机的多功能万年历
- 基于51单片机的ds18b20温度传感器实现
- LDMicro梯形图编译软件1.9版支持AVR/PI
- DS18B20温度传感器的proteus仿真.rar
- pic单片机spi双机通信
- 单总线两个DS18B20温度传感器程序及其
评论
共有 条评论