#include"C8051F320.H"
#include"myhc164.h"
#include"mytypedef.h"
#include"intrins.h"
#include"DS18B20.H"
//sbit PWM=P1^2;
sbit LCD_BL=P2^3;
INT8U qian,shi,bai,ge;
static void ClockInit( void )
{
// OSCICL += 0x45; //调整晶振频率
OSCICN |= ( 1<<7 ); //Enable internal H-F
while( !( OSCICN & ( 1<<6 ) ) ); //Wait for stable 频率是否在编程频率运行 1为真
OSCICN |= ( 3<<0 ); //0 prescaler 分频 11:SYSCLK为内部振荡器输出(不分频)。
CLKSEL = 0; //system clocm : internal H-F
}
static void GPIOInit( void )
{
XBR0 = 0x00;
XBR1 = 0x40;
}
void delay1(INT16U j)
{
INT16U y;
for(y=0;y<j;y++)
{
HC164_DU(qian,bai,shi,ge);
}
}
int main(void)
{
INT16U TMP;
HC164_CLR_H();
ClockInit();
GPIOInit();//系统初始化 用12MHz晶振
P2MDOUT|=(1<<2);//将P2.2脚设为推挽方式,芯片内部有弱上拉
// P1MDOUT|=(1<<2);
// PWM=1;
P2MDOUT|=(1<<3);
LCD_BL=1;
while(1)
{
// PWM=~PWM;
res_ds18b20();
write_ds18b20(0XCC);//跳转命令 cc
write_ds18b20(0X44);//转换温命令 44
delay1(650); //大概延时XXms,将总线拉高。等待转换温度完成P *注由于用的是寄生电源,所以要等待,若用外部电源,不需要等待
HC138ABC_OFF( );//关闭数码管,不然有抖动
TMP=cnvt_ds18b20(); //转换温度
/*********************************************************/
/*******************数码管显示,取位**********************/
/* HC_164_DU(qian,bai,shi,ge)放在delay1(INT16U A)函数内 */
/*********************************************************/
if(TMP>0X270F)
{
TMP&=0X7FFF;
qian=10; //负 bf
bai=TMP/1000;
shi=TMP%1000/100;
ge=TMP%1000%100/10;
TMP|=0X8000;
}
if(TMP<0X270F)
{
qian=11; //不显示 ff;
qian=TMP/1000;
bai=TMP%1000/100;
shi=TMP%1000%100/10;
ge=TMP%10;
}
}
return 1;
}
基于C8051F320的DS18B20
4星 · 超过85%的资源 需积分: 5 95 浏览量
2010-10-20
18:41:17
上传
评论 5
收藏 1.65MB RAR 举报
kai544171019
- 粉丝: 0
- 资源: 5
最新资源
- las格式点云数据使用详解(附VS编译好的LAStools工具)
- KRPano插件一键解密大师1.4.0 (解压密码1234)
- 《C++沉思录》是一本由 Scoot Meyers 所著的经典 C++ 编程书籍 该书深入探讨了 C++ 的一些高级概念和技术
- 海信刷机数据 LED42K310X3D(0000)BOM1-C006软件数据与LED42K310NX3D(0000)BOM1通用
- 送货单打印软件单机版直接单机运行不需要网络
- pycdc工具,Python3.9及以上可用的反编译工具(exe转py)
- 计算机网络基础练习题.pdf
- SDIO接口远距离无线图传WIFI6模块TT-S6D2TR-105HP
- 海信智能电视刷机数据 LED42K280J3D(1000) 生产用软件数据 务必确认机编一致 强制刷机 整机USB升级程序
- 步进电机控制实验-原理图-软件代码.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈