图:Р 18B20写一个字节的时序图Р Р 18B20读一个字节的时序图Р读写18B20,就是根据它的时序图,定义变量,然后拉高拉低,控制延时时间就可以了。事实上,大部分芯片都是通过看它的时序图来编写程序的,所以学会看时序图,也是编程的一门必修课。一个封装好的18B20模块,应该包括下面几个部分:Р 18B20初始化Р读一个字节子程序Р写一个字节子程序Р18B20读取温度Р 3.4 PCF8563模块设计РPCF8563是低功耗的CMOS实时时钟/日历芯片,它提供一个可编程时钟输出,一个中断输出和掉电检测器,所有的地址和数据通过IР²C总线接口串行传递,是很典型的I²C总线芯片。РPCF8563是DIP8封装,它的引脚图以及引脚说明如下图:Р根据它的引脚图,很容易就可以画出它的原理图,一下是它的原理图:Р以下是PCF8563的各种工作时序图:Р I²C总线的起动和停止条件Р PCF8563读一个字节程序Р Р PCF8563写一个字节程序Р读写一个I²C程序,要注意的是时序的延时时间要精确,不能超过范围,以及SCL和SDA的先后顺序要清楚。写它的程序时,先根据时序图写出读写一个字节以及初始化等最小模块,然后通过这些最小模块,编写读写日期等操作,最后将它们封装成一个PCF8563.c?文件,这样不仅方便别人看我们的程序,也非常方便去调试程序。一下是PCF8563程序的模块框图:Р初始化PCF8563Р读一个字节Р写一个字节РPCF8563读日期РPCF8563写日期Р3.5 串口模块设计Р串口通信主要分成串行通信和并行通信,该系统用到的是串行通信。串行通信传输的速率虽然小于并行通信,但是可以节省很多IO口,这对于单片机等IO资源较少的MCU来说,是非常重要的。串行口的控制可由其内部的控制寄存器SCON来设定,它可以设定工作方式、接收发送控制以及设置状态标志,下图是控制寄存器: