两台单片机之间互传数据
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TH1=0xfd;TL1=0xfd; //波特率9600
TI =0; TR1=1; IE=0x90;
//启动定时器T1,产生波特率 //允许串口中断
SBUF=udata
while(1)
//等待串口中断
}
下午1时47分43秒
《单片机应用技术》课件制作组
5.1.2 控制程序
1.甲机发送程序
//甲机串口中断程序 void Serial_INT() interrupt 4 {
任务描述 利用串行口工作方式1实现两台8051单片机之间 全双工通信,将1号机中的数据块传送给2号机。
任务载体 计算机、单片机仿真器、实验箱或实验开发板
相关知识 单片机串行通信及接口
下午1时47分43秒
《单片机应用技术》课件制作组
5.1.1 硬件电路及任务要求
1. 硬件电路
两机的晶振频率: 11.0592MHz
udata<<=1; udata |=1; if(udata==0xff)udata=0xfe; SBUF=udata; TI=0; }
下午1时47分43秒
《单片机应用技术》课件制作组
5.1.2 控制程序
#include<reg51.h>
2.乙机发送程序
unsigned char udata;
void main()
《单片机应用技术》课件制作组
5.1.2 控制程序
#include<reg51.h>
1.甲机发送程序
unsigned char udata=0xfe;
void main()
// 主程序
{ SCON=0x50;
//串口模式1,允许发送
TMOD=0x20;
//T1工作模式2
PCON=0x00;
//波特率不倍增
任务5 两台单片机之间互传数据
5.1 工作任务
5.1.1 硬件电路及任务要求 5.1.2 控制程序 5.1.3 任务分析 5.1.4 任务结论
5.2 相关知识链接
5.2.1 串行通信基础 5.2.2 MCS-51单片机的串行接口 5.2.3 串行口应用举例
下午1时47分43秒
《单片机应用技术》课件制作组
下午1时47分43秒
《单片机应用技术》课件制作组
5.1.3 任务分析
2. 与串行口有关的寄存器 (1)串行口缓冲寄存器SBUF ● 作用:SBUF是一个字节地址为99H的特殊功能 寄存器,用来存放将要发送或接收到的数据。
SBUF (99H)
发送缓冲寄存器:只能写入不能读出。 当CPU向SBUF发出“写”命令时 (执行指令“SBUF=udata;”),表 示将将变量udata写入发送缓冲寄存 器 接收。缓冲寄存器:只能读出而不能写入。 当执行读SBUF的命令时(执行指令 “udata = SBUF;”),则表示将接收到 的数据从接收缓冲寄存器读出(接收)。
}Baidu Nhomakorabea
下午1时47分43秒
《单片机应用技术》课件制作组
5.1.2 控制程序
2.乙机发送程序
//乙机串口中断程序 void Serial_INT() interrupt 4 {
udata = SBUF; P0= udata; TI=0; }
下午1时47分43秒
《单片机应用技术》课件制作组
5.1.3 任务分析
5.1 工作任务
表5-1 两台单片机之间互传数据的工作任务要点 任务名称 两台单片机之间互传数据
任务目标 ★了解MCS-51单片机的串行通信方式和串行口 的结构; ★理解串行口重要指标波特率和字符帖的意义; ★熟悉与串行口相关的寄存器SBUF、SCON、 PCON的使用和串行口四种工作方式的不同及各 自应用场合 ; ★掌握串行口的正确使用方法和技巧。
下午1时47分43秒
《单片机应用技术》课件制作组
5.1.3 任务分析
(2)串行口控制寄存器SCON(98H) ●作用:设定串行口的工作方式、接收/发送控制 以及设置状态标志 。
9FH 9EH 9DH 9CH 9BH 9AH 99H 98H
SM0 SM1 SM2 REN TB8 RB8 TI RI
工多作机方通式信选控择制位接在制前收方8位位中式,数断2当和据标接方丢志收式弃R到3;I中(的当,即第RR若9B位I8S==M数0)12据时=,1R,,并B才8则且=将多将0时接机接不收通收发接启到信到送标收标动的控的中志中志断断 允许串行接前收当8位S位M数2=据0时送,入则SB不U论F,第并9位置数位据RI为产接0生或收中1数,断据都请的将求第。9位 前8位数据装入SBUF中,并产生发中送断数请据求的。第9位
● 串行口的四种工作方式对应着三种波特率。
由于输入的移位时钟的来源不同,所以,各种 方式的波特率计算公式也不同。
● 异步通信的传送速率在50~19200 bps之间, 常用于计算机到CRT终端,以及双机和多机之
2. 与串间行的口通有信关。 的寄存器
任务5程序中用到了与串行口有关的三个特殊功能寄 存器,即串行口控制寄存器SCON、串行口缓冲寄存器 SBUF和电源控制寄存器PCON。
要完成任务5的双机通信功能,从控制程序的分 析中发现其中有几个关键要点,分别为串行口的 波特率、工作方式及发送或接收控制等。
1. 波特率
在发送和接收控制程序中的开始都有下面几条指令:
PCON=0x00;
//波特率不倍增
TH1=0xfd;
TL1=0xfd;
//波特率9600
RI =0;
TR1=1;
//启动定时器T1,产生波特率
这段程序是用定时器1作为串行口的波特率发生器,发
送和接收数据的波特率是9600bps。
下午1时47分43秒
《单片机应用技术》课件制作组
5.1.3在任串务行通分信析中,收发双方对发送或接收的数
据速率要有一定的约定,而数据传送的速率即 是波特率,是串行通信的重要指标。
● 波特率定义为每秒钟传送二进制数码的位数, 单位是bps (bit per second),即位/秒 (b/s)。
//主程序
{ SCON=0x50;
//串口模式1,允许接收
TMOD=0x20;
//T1工作模式2
PCON=0x00;
//波特率不倍增
TH1=0xfd;TL1=0xfd; //波特率9600
RI =0;
TR1=1;
//启动定时器T1,产生波特率
IE=0x90;
//允许串口中断
while(1)
//等待串口中断
甲机的串行口 P3.1(RXD)接
乙机的串行口 P3.0(TXD)
图5-1 直连式8051单片机应用系统双机通信
下午1时47分43秒
《单片机应用技术》课件制作组
5.1.1 硬件电路及任务要求
2. 任务要求
由甲机向乙机发送数据,使8个发光二极管按 从左到右依次点亮,显示流水灯效果。
下午1时47分43秒