PIC16F877A单片机对DS18B20温度传感器芯片操作的问题
问题是,怎么设置单片机数据输入引脚为高电平或低电平,别人程序是这样写的#defineDQRC1//数据输入引脚#defineDQ_HIGH()TRISC1=1//设置引脚...
问题是,怎么设置单片机数据输入引脚为高电平或低电平,别人程序是这样写的
#define DQ RC1//数据输入引脚
#define DQ_HIGH() TRISC1=1//设置引脚为输入
#define DQ_LOW() TRISC1=0;DQ=0//设置引脚为输出
能否帮我解释下,为什么这样写?谢谢
除了这样写,还有其他的写法吗?难道不能先定义引脚为输出状态,然后直接写1拉高,写0拉低吗?这是我现在的理解:引脚定义为输入时,为高阻态,若上拉一个电阻时,为高电平,定义为输出时,引脚上的电平由自己定义,1为高电平,0为低电平。不知道对不对? 展开
#define DQ RC1//数据输入引脚
#define DQ_HIGH() TRISC1=1//设置引脚为输入
#define DQ_LOW() TRISC1=0;DQ=0//设置引脚为输出
能否帮我解释下,为什么这样写?谢谢
除了这样写,还有其他的写法吗?难道不能先定义引脚为输出状态,然后直接写1拉高,写0拉低吗?这是我现在的理解:引脚定义为输入时,为高阻态,若上拉一个电阻时,为高电平,定义为输出时,引脚上的电平由自己定义,1为高电平,0为低电平。不知道对不对? 展开
2个回答
全测科技
2024-12-19 广告
2024-12-19 广告
SMCV100B信号发生器是罗德与施瓦茨公司的一款产品,具有广泛的适用性,可用于广播电视、导航、蜂窝和无线应用的多标准平台。其特点包括全软件选件定义、5"触摸屏、频率范围4kHz至7.125GHz、输出功率高达+25dBm、调制带宽高达24...
点击进入详情页
本回答由全测科技提供
展开全部
#define DQ_HIGH() TRISC1=1//设置引脚为输入
引脚定义为输入时,为高阻态,因为DS18B20上拉一个4.7K电阻,所以相对于DS18B20就是输出为高电平。
#define DQ_LOW() TRISC1=0;DQ=0//设置引脚为输出
引脚输出低电平,不用解释吧?
-------------------------------------------------------------------------------------------------------------
你说的没问题,这种方式可认为合理利用硬件资源
引脚定义为输入时,为高阻态,因为DS18B20上拉一个4.7K电阻,所以相对于DS18B20就是输出为高电平。
#define DQ_LOW() TRISC1=0;DQ=0//设置引脚为输出
引脚输出低电平,不用解释吧?
-------------------------------------------------------------------------------------------------------------
你说的没问题,这种方式可认为合理利用硬件资源
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询