好文档 - 专业文书写作范文服务资料分享网站

基于单片机的汽车水温表设计方案

天下 分享 时间: 加入收藏 我要投稿 点赞

图4-2 DS18B20封装

引脚定义:

① DQ为数字信号输入/输出端; ② GND为电源地;

③ VDD为外接供电电源输入端(在寄生电源接线方式时接地)。 (2)DS18B20的单线(1-wire bus)系统

单线总线结构是DS18B20的突出特点,也是理解和编程的难点。从两个角度来理解单线总线:第一,单线总线只定义了一个信号线,而且DS18B20智能程度较低(这点可以与微控制器和SPI器件间的通信做一个比较),所以DS18B20和处理器之间的通信必然要通过严格的时序控制来完成。第二,DS18B20的输出口是漏级开路输出,这里给出一个微控制器和DS18B20连接原理图。这种设计使总线上的器件在合适的时间驱动它。显然,总线上的器件与(wired AND)关系。这就决定:(1)微控制器不能单方面控制总线状态。之所以提出这点,是因为相当多的文献资料上认为,微控制器在读取总线上数据之前的I/O口的置1操作是为了给DS18B20一个发送数据的信号。这是一个错误的观点。如果当前DS18b20发送0,即使微控制器I/O口置1,总线状态还是0;置1操作是为了是I/O口截止(cut off),以确保微控制器正确读取数据。(2)除了DS18B20发送0的时间段,其他时间其输出口自动截止。自动截止是为确保:1时,在总线操作的间隙总线处于空闲状态,即高态。2时,确保微控制器在写1的时候DS18B20可以正确读入。

由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S52单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来

模拟单总线的协议时序来完成对DS18B20芯片的访问。

① DS18B20的复位时序,如图3-5

图4-3 DS18B20的复位时序图

② DS18B20的读时序

对于DS18B20的读时序分为读0时序和读1时序两个过程。

对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。DS18B20的读时序图如图3-6所示。

图4-4 DS18B20的读时序

③ DS18B20的写时序

对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。

对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。如图3-7所示。

基于单片机的汽车水温表设计方案

图4-2DS18B20封装引脚定义:①DQ为数字信号输入/输出端;②GND为电源地;③VDD为外接供电电源输入端(在寄生电源接线方式时接地)。(2)DS18B20的单线(1-wirebus)系统单线总线结构是DS18B20的突出特点,也是理解和编程的难点。从两个角度来理解单线总线:第一,单
推荐度:
点击下载文档文档为doc格式
7omqp8n5jb3gyk618jsm0fvam2gyzr007bh
领取福利

微信扫码领取福利

微信扫码分享