新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于串口通信的单片机仿真和C语言开发

基于串口通信的单片机仿真和C语言开发

作者:时间:2012-08-28来源:网络收藏

1)先将数据线置高电平1;2) 延时(该时间要求不是很严格,但是要尽可能短一些);3) 数据线拉到低电平0;4) 延时 750us(该时间范围可以在480~960us);5) 数据线拉到高电平1;6)延时等待。如果初始化成功则在15~60ms内产生一个由DS18B20 返回的低电平0,据该状态可以确定它的存在。但是要注意,不能无限地等待,不然会使程序进入死循环,所以要进行超时判断;7) 若 CPU 读到数据线上的低电平0 后,还要进行延时,其延时时间从发出高电平算起最少要480us;8)将数据线再次拉到高电平后结束。

2. DS18B20 写数据

图3.3 写数据时序图
图3.3 写数据时序图

1) 数据线先置低电平0;

2)延时确定的时间为15us;

3) 按从低位到高位的顺序发送数据(一次只发送一位);

4) 延时时间为 45us;

5) 将数据线拉到高电平1;

6) 重复 1)到5)步骤,直到发送完整个字节;

7)最后将数据线拉高到1.

3. DS18B20 读数据

图3.4 读数据时序图
图3.4 读数据时序图

1)将数据线拉高为1;

2) 延时 2us ;

3) 将数据线拉低0 ;

4) 延时 6us ;

5) 将数据线拉高1 ;

6)延时 4us ;

7) 读数据线的状态得到1 个状态位,并且进行数据处理;

8) 延时 30us ;

9) 重复 1)到7)步,知道读取完一个字节。

4 硬件设计

4.1 时钟电路及复位电路

1.时钟电路

时钟电路可以产生CPU 校准时序,是的控制核心,本次设计是通过外接12MHz的晶振来实现时钟电路的时序控制。在使用片内振荡器时,XTAL1 和XTAL2 分别为反向放大器的输入端和输出端。外接晶体以及电容C3 和C5 构成并联谐振电路,接在放大器的反馈回路中。当用外部时钟驱动时,XTAL2引脚应悬空,而由XTAL1引脚上的信号驱动,外部振荡器通过一个2 分频的触发器而成为内部时钟信号,故对外部信号的占空比没有什么要求,但最小和最大的高电平持续时间和低电平持续时间应符合技术要求。电路如图4.1 所示。

图 4.1 晶振电路
图 4.1 晶振电路



评论


相关推荐

技术专区

关闭