18B20 驱动 MSP430

发布者:blazings最新更新时间:2022-08-19 来源: csdn关键字:18B20  驱动  MSP430 手机看文章 扫描二维码
随时随地手机看文章

float get_temp(void);

void reset_18B20(void);

void send_18B20(char data);

unsigned int read_18B20(void);


#define ONE_WIRE_PIN BIT4

#define ONE_WIRE_IN P1IN

#define ONE_WIRE_OUT P1OUT

#define ONE_WIRE_DIR P1DIR


float get_temp(void)

{

    unsigned int temp;

    reset_18B20();

    send_18B20(0xcc);   //send CCH,Skip ROM command

    send_18B20(0x44);

    delay_us(100);


    reset_18B20();

    send_18B20(0xcc);   //send CCH,Skip ROM command

    send_18B20(0xbe);


    temp = read_18B20();

    return((float)temp/8.0);


}


void reset_18B20(void)

{

    ONE_WIRE_DIR |=ONE_WIRE_PIN;

    ONE_WIRE_OUT &= ~ONE_WIRE_PIN;

    __delay_cycles(500);

    ONE_WIRE_OUT |=ONE_WIRE_PIN;

    ONE_WIRE_DIR &= ~ONE_WIRE_PIN;

    __delay_cycles(500);

}


void send_18B20(char data)

{

    char i;


    for(i=8;i>0;i--)

    {

    ONE_WIRE_DIR |=ONE_WIRE_PIN;

        ONE_WIRE_OUT &= ~ONE_WIRE_PIN;

        __delay_cycles(2);

        if(data & 0x01)

        {

            ONE_WIRE_OUT |= ONE_WIRE_PIN;

        }

        __delay_cycles(60);

        ONE_WIRE_OUT |= ONE_WIRE_PIN;

        ONE_WIRE_DIR &= ~ONE_WIRE_PIN;

        data >>=1;

    }

}


unsigned int read_18B20()

{

    char i;

    unsigned int data=0;


    for(i=16;i>0;i--)

    {

    ONE_WIRE_DIR |= ONE_WIRE_PIN;

        ONE_WIRE_OUT &= ~ONE_WIRE_PIN;

        __delay_cycles(2);

        ONE_WIRE_OUT |=ONE_WIRE_PIN;

        ONE_WIRE_DIR &= ~ONE_WIRE_PIN;

        __delay_cycles(8);

        if(ONE_WIRE_IN & ONE_WIRE_PIN)

        {

            data |=0x8000;

        }

        data>>=1;

        __delay_cycles(120);

    }

    return(data);

}

关键字:18B20  驱动  MSP430 引用地址:18B20 驱动 MSP430

上一篇:MSP430F169(二)——UART波特率(论上)
下一篇:MSP430F169——CLOCK

推荐阅读最新更新时间:2024-11-13 16:19

深入解析CFL镇流器IC驱动LED应用电路
   驱动CFL镇流器电路   设计者用CFL中的镇流器IC来加热灯丝、点亮灯泡,为电灯提供电流。制造商大量生产这些IC,它们的价格大约为2美元。本设计实例是如何用CFL镇流器IC驱动LED,而不是驱动CFL。镇流器IC基本上就是一个用于脱机运行的自振半桥。它通常工作在320VDC,其功率大致相当于 230VAC主整流器或一个120V的倍压器。IC产生一个振幅为320Vp-p的方波电压,频率为数十千赫兹。      通常情况下,这个方波电压连接到串联的CFL灯管和限流电感L1(图1)。加上一只并联电容并使用LC谐振器,就可以加热、点亮灯管,并为之提供电流。这种方案可以正常工作,因为CFL管在关闭时有高阻抗,而在工作时有低阻抗
[电源管理]
深入解析CFL镇流器IC<font color='red'>驱动</font>LED应用电路
STM32—驱动HC-SR04超声波测距模块
超声波测距原理 利用HC-SR04超声波测距模块可以实现比较精确的直线测距,其测距原理图如下: HC-SR04的一端发出超声波,接触到反射物后反射,被另一个端口接收到,所以只要知道发射和接收的时间差,就可以根据声波传播的速率算出HC-SR04和反射物直接的距离。 所以实现超声波测距就需要俩个条件: 发射和接收的时间差 超声波传输的速率 HC-SR04工作原理 HC-SR04模块的电气参数如示: HC-SR04模块的实物图如示: 有四个引脚: Vcc:+5V电源供电 Trig:输入触发信号(可以触发测距) Echo:传出信号回响(可以传回时间差) Gnd:接地 用Trig和Echo引脚实现测距的流程: 1.通过T
[单片机]
STM32—<font color='red'>驱动</font>HC-SR04超声波测距模块
MSP430直流电机控制以及测速+仿真
本设计测试部分采用测周期发,12864液晶显示,如有不足,欢迎指教 SP430直流电机控制仿真原理图 下面是部分单片机程序源码预览: /* * LCD_12864.c * * Created on: 2016年6月15日 * Author: Jack zhao */ #include MSP430F249.h #include LCD_12864.h #define uchar unsigned char #define uint unsigned int uchar DIR_S ={ /*-- 文字: 顺 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x1
[单片机]
<font color='red'>MSP430</font>直流电机控制以及测速+仿真
51单片机教程:51单片机驱动四个8*8点阵
一、点阵原理 市面上有很多种类的点阵,但是最常用的还是这种8乘8点阵 内部结构如下图 可以发现点阵就是由led构成,并且有一排是阳极,另一排是阴极,有一排是控制行,另一排是控制列。 打开proteus搜索MATRIX,看到各种型号的点阵,选择8乘8即可 任意选择一个颜色的点阵,我们发现引脚没有做任何标记,默认上排:阴极、控制列;下排:阳极、控制行 (一定要自己测一下,proteus仿真布置的点阵每次方向都可能发生改变) 什么意思呢,也就是跟下图对应关系,只不过引脚位置发生改变 二、4个 “ 2乘2 ” 点阵拼成一个 “ 4乘4” 点阵 我们先从简单开始理解,首先画出4个 “2乘2” 点阵 然后把上下方向的阴
[单片机]
51单片机教程:51单片机<font color='red'>驱动</font>四个8*8点阵
意法半导体高能效单片三相三路电流检测BLDC驱动
中国,2018年5月2日——意法半导体推出业界首款同时适用于单电阻采样和三电阻采样的低电压无刷电机驱动器 STSPIN233 。该电机驱动器纤巧紧凑,仅为3mm x 3mm的封装内集成有200mΩ的 1.3Arms功率级。 不仅如此,STSPIN233的待机电流也创下业内最低功耗记录,能达到低于80nA。此外,它还能通过逻辑控制进入待机模式,是延长便携设备和物联网产品的电池续航时间的理想之选,适用范围包括无人机摄像云台、教学机器人、电动牙刷、电动剃须刀、医用注射泵或物联网设备(IoT)内置的小型驱动器等。 STSPIN233供电设计非常简单,其拥有1.8V-10V的输入电压范围,即便只使用一块锂离子电池也能轻松驱动。内置
[电源管理]
意法半导体高能效单片三相三路电流检测BLDC<font color='red'>驱动</font>器
USE_STDPERIPH_DRIVER, STM32F10X_HD说明
如果在STM32工程编译时没有添加USE_STDPERIPH_DRIVER, STM32F10X_HD时会出现如下错误: ..\library\cortex_m3\stm32f10x.h(96): error: #35: #error directive: Please select first the target STM32F10x device used in your application (in stm32f10x.h file) 这时候我们需要在 Target Options 中的 C/C++ 选项卡中添加USE_STDPERIPH_DRIVER、STM32F10X_HD。这样才能使编顺利通过。 那么这个错
[单片机]
USE_STDPERIPH_<font color='red'>DRIVER</font>, STM32F10X_HD说明
合肥晶合集成110nm驱动IC单片晶圆已具备量产条件!
集微网消息,2017年9月25日,晶合集成生产的110nm驱动IC单片晶圆的最佳良率再创新高,同时正式通过客户的产品可靠度验证,已经具备量产条件! 合肥晶合集成电路有限公司成立于2015年5月19日,是安徽第一家12吋晶圆代工企业,项目总投资128.1亿元人民币 。公司由合肥市建设投资控股(集团)有限公司与台湾力晶科技股份有限公司合资建设,着眼于面板产业发展的巨大需求,建立集驱动芯片的高端工艺研发、生产制造及相关技术服务为一体的高科技公司。 该项目主要采用 0.15微米进行大尺寸面板的芯片制造,采用0.11微米及以下的工艺技术进行小尺寸面板的芯片制造。同时,该项目是目前为止安徽省最大的集成电路产业项目,也是合肥市的首个100亿人民
[手机便携]
英飞凌推出EiceDRIVER™ 125 V高边栅极驱动器, 在发生故障时保护电池驱动应用
【2024年10月25日, 德国慕尼黑讯】 在电机驱动和开关模式电源(SMPS)等电池供电应用中,电源架构通常要求在模块发生故障时能够断开该模块与主电源轨的连接 。为实现这一功能,往往会采用MOSFET等高边断开开关,以防止负载短路影响电池。英飞凌科技股份公司 推出EiceDRIVER™ 1EDL8011,这款高边栅极驱动器能够在发生故障时保护电池供电应用,例如无绳电动工具、机器人、电动自行车、吸尘器等。 EiceDRIVER™ 1EDL8011 DSO-8 该半导体器件具有高栅极电流能力,可实现高边N沟道MOSFET的快速导通和关断。它由一个集成电荷泵和一个外部电容器组成,可提供强大的启动能力。当工作输入电压较低时,内
[电源管理]
英飞凌推出EiceDRIVER™ 125 V高边栅极<font color='red'>驱动</font>器,  在发生故障时保护电池<font color='red'>驱动</font>应用
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved