1 / 26
文档名称:

串口通信电路设计.ppt

格式:ppt   大小:1,429KB   页数:26页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

串口通信电路设计.ppt

上传人:文库新人 2022/1/26 文件大小:1.40 MB

下载得到文件列表

串口通信电路设计.ppt

相关文档

文档介绍

文档介绍:串口通信电路设计
第1页,本讲稿共26页
*
本课程是电工电子类专业技术基础课平台课程的课程之一,也是最重要的一门实践性课程。
课程性质与目的
其目的是通过一个以工程实践或社会生活为背景的电子系统的研究、设计与实现,使学生P V35下载软件; 2、Keil C51
具体制作过程,同学们自行落实,可以是创新基地、可以是机房、可以是宿舍等。
实验地点:物理楼405机房
第13页,本讲稿共26页
硬件调试部分:——主要熟悉和掌握各模块的原理图
1、DS18B20:
软件调试部分:
单线总线操作流程:
* 单线总线工作过程中的协议如下:
* 初始化,ROM操作命令,存储器操作命令,处理数据。
* 每次要对存储器操作前,都必须先进行初始化,然后进行ROM操作,最后才能对存储器进行操作。
第14页,本讲稿共26页
1、DS18B20:
初始化操作:
void init_DS18B20(void)
{
unsigned char x=0;
DQ = 1; //DQ复位
nop(8); //稍做延时
DQ = 0; //单片机将DQ拉低
nop(80); //精确延时 大于 480us
DQ = 1; //拉高总线
nop(35);
}
读字节操作:
uchar read_one_char(void)
{
unsigned char i = 0;
unsigned char dat = 0;
for (i=8;i>0;i--)
{
DQ = 0; //给脉冲信号
dat>>=1; //先进行移位操作,以免最后一位不能读出
DQ = 1; //给脉冲信号
if (DQ)
{
dat |= 0x80;
}
nop(4);
}
return dat;
}
第15页,本讲稿共26页
1、DS18B20:
写字节操作:
void write_one_char(unsigned char dat)
{
unsigned char i=0;
for (i=8; i>0; i--)
{
DQ = 0;
DQ = dat&0x01;
nop(5);
DQ = 1;
dat>>=1;
}
}
读温度值操作:
int
read_temperature(void)
{unsigned char a=0;
unsigned char b=0;
int t=0;
init_DS18B20();
write_one_char(0xCC); // 跳过读序列号
write_one_char(0x44); // 启动温度转换
init_DS18B20();
write_one_char(0xCC); //跳过读序列号
write_one_char(0xBE); //读取温度寄存器等前两个就是温度
a = read_one_char();
b = read_one_char();
t = b;
t <<= 8;
t |= a;
return t;
}
第16页,本讲稿共26页
2、PCF8563:
IIC总线操作流程:
* 一、 写操作顺序:
* 启动总线→写器件地址→写单元地址→写数据→. . .→关闭总线
* 器件地址组成:固定地址(厂家)+外部连线地址+1位读写地址(1:读 ,0:写)
* 二、 指定单元读操作:
* 启动总线→写器件地址→写单元地址→启动总线→写入要读出的器件地址→
* 读数据→. . .→关闭总线
* 三、 当前单元读操作
* 启动总线→写入要读出的器件地址→读数据→. . .→关闭总线
第17页,本讲稿共26页
2、PCF8563:
void read_8563(void)
{
unsigned int s;
for(s=0;s<7;s++)
{
start_8563();
write_byte_8563(0xa2); //写操作器件地址
write_byte_8563(s+0x02);//写入单元地址
start_8563();
write_byte_8563(0xa3); //读操作器件地址
switch ( s )
{
case 0: sec = (read_byte_8563() ) & 0x7F;break;//获取秒数据
case 1: min = (read_b