PC机与单片机串行通信
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程名称:监控系统课程设计
设计题目:PC机与单片机串行通信
院系:基础课部
专业:茅以升班
年级:2003级
姓名:吴汇梅
指导教师:吕老师陈老师
西南交通大学峨眉校区
2006年12月22日
课程设计任务书
专业:茅以升班姓名:吴汇梅学号20030533
开题日期:2006年9 月16 日完成日期:2006年12月22 日题目:PC机与单片机的串行通信
一、设计的目的
串行通信技术是单片机系统开发中常用的技术之一,串行口也是单片机常规内部集成的功能。设计PC机与单片机进行串行通信硬件电路及软件流程,本设计通过定时器来设定通信的波特率,通过设置几个寄存器来设定工作方式。PC机与单片机之间则由RS-232C接口相连。
二、设计的内容及要求
1、查阅资料,学习PC与一个或多个单片机串口通信设计;
2、硬件设计,给出原理框图,并简要介绍各组成部分;
3、软件设计,给出程序流程图和程序清单,并说明各部分程序要实现;
4、总结,结出结论
三、指导教师评语
四、成绩
指导教师(签章)
2006.年12月28日
1 设计意义
单片机由于性价比高、使用灵活等优点而广泛应用于各种电子系统、自动
控制系统,但是存储容量小。处理的数据量不大。为了克服这一缺点,可以将单
片机连接到PC机上,由单片机采集数据,然后将数据汇总到PC机,再进行各种数
据处理。单片机与PC机之间的通讯是其中的关键技术之一,PC机与单片机间一般
采用的是串行通信,由于51系列单片机中一般集成了双全工的串行端口,只要配
以电平转换的驱动电路、隔离电路就可组成一个简单可行的通信接口。
2 硬件设计
2.1 整体设计
在PC系统中都装有异步通信适配器,利用它可以实现异步串行通信。适配器的核心元件是可编程的intel8251芯片,它使PC有能力与其他具有RS-232标准的接口的计算机或设备进行通信,而MCS-51单片机本身具有一个双全工的串行口,因此只要配上电平转换电路就可以和RS-232接口组成一个简单的通信通道。
简单的PC与单片机通信只要3根线就可以了,单片机的TXD、RXD与PC的RXD、TXD 分别相连,连接地线。由于51系列单片机的串行口使用的是TTL电平,因此在PC和单片机间要有RS-232电平转换电路,图1所示为PC与单片机的通信图。
图1 PC机与单片机的通信图
2.2 芯片选择
(1)MCS-51单片机[1]
MCS-51单片机内部具有一个采用UART工作方式的全双工的串行通信接口。该接口不仅可以同时进行数据的接受和发送,也可以作为同步移位寄存器使用。该接口有4种工作方式,其中字符格式有8位、10位、11位,并可以以不同的波特率工作。
1〉串行口的内部结构
MCS-51单片机的串行接口结构如图2所示:
图2 MCS-51单片机的串行接口图
该接口有两根串行通信传输线RXD(P3.0)和TXD(P3.1),以串行形式与外部逻辑接口。数据的接收和发送就是通过这两根信号线来实现的。
在物理上存在两个互相独立的接收、发送缓冲器SBUF,属于特殊功能寄存器,这样可以同时进行数据的接收和发送,实现全双工传送。
2〉串行口的控制寄存器
①串行口数据缓冲器SBUF
两个互相独立的接收、发送缓冲器SBUF公用一个地址99H对应着2个寄存器:发送寄存器和接收寄存器。发送缓冲器用于存放要发送的数据,只能写入,不能读出。
接收缓冲器用于存放接收到的数据,只能读出,不能写入。通过辨认对SBUF的指令是读指令还是写指令来区别是对接收缓冲器还是对发送缓冲器进行操作。
读SBUF,比如MOV A,SBUF指令,就是读接收缓冲器的内容;
写SBUF,比如MOV SBUF,A指令,就是修改发送缓冲器的内容。
②串行控制寄存器SCON
SCON可用于确定串行通信的工作方式和控制串行通道的某些功能,监视和控制串行口的工作状态,也可用于存放要发送和接收到的第9个数据(TB9、RB8),并没有接收和发送中断标志RI和TI。
4种工作方式。各种工作方式的区别在于功能、数据格式和波特率的不同。
的工作方式为方式1的。
SM2:多机通信控制位。主要用于方式2和方式3 中(数据为9位)。
在方式2和方式3处于接收状态时,如SM2=1,REN=1,且接收到的第9位数据RB8是0,则RI(接收中断标志位)不会被置1。只有在接收到的第9位数据RB8是1,则RI才会被置1。
在方式2和方式3处于接收状态时,如SM2=0,无论接收到的第9位数据RB8时0还是1,RI都会被置1。
在方式1中,如SM2=1,只有在接收到有效停止位时,则RI才会被置1。
在模式0中,SM2必须为0。
REN:允许串行接收控制位。由软件置1或清除。REN=1,允许接收。启动串行口的RXD,开始接收数据;REN=0,禁止接收。
在任务6中就是用指令SETB REN来允许乙机的串行口接收的。
TB8:在方式2 和方式3时,它就是要发送的第9个数据位,一般是程控位2。按需要由软件进行置1或清0。如在多处理通信中,用于表示是地址桢还是数据桢。在模式9中。此位不用。
RB8:接收数据位8。在方式2和3时,它是接收到的第9个数据位。在模式1中,如SM2=0,RB8时接收到的停止位;在模式0中,此位不用。
TI:发送中断标志位。在模式0中,当发送完第8位数据时,由硬件置1;在其他模式中,在发送停止位前,由硬件置1。TI=1时,申请中断,CPU响应中断后,发送下一桢数据。
RI:接收中断标志位。在模式0中,接收第8位结束时,由硬件置1;在其他模式中,在接收停止位的半中间,由硬件置1。RI=1时,申请中断,要求CPU取走数据。但在模式一中,SM2=1时,如未接收到有效的停止位,则不会对RI置位。
在任何模式中,CPU响应中断后,都必须用软件来清除RI和TI。
在任务6中,在甲机发送和乙机接收程序中,都有JBC这样一条指令,就是用来清除TI和RI标志的。
③特殊功能寄存器PCON
PCON主要是为CHMOS型单片机的电源控制而设置的SFR,在HMOS的MCS-51单片机中,除了最高位SMOD位外,其他位都是虚设的。
当使SMOD=1时,则使方式1、方式2、方式3的波特率加倍。当SMOD=0时,各工作方式的波特率不加倍。
3〉串行口的工作方式
MCS-51单片机的串行接口有四种工作方式,用户可以通过SCON中的SM1、SM0位来选择。
①方式0