电动云台的控制

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第6章 MCS -51单片机的串行口
•6.1计算机串行通信基础
基本概念 通信方式
•6.2 MCS-51单片机的串行口 •6.3 MCS-51单片机串行口的应用 •6.4串行通信的标准接口 •思考题
6.1计算机串行通信基础
基本概念
• 串行通信是将数据的各位一位一位地依次传送。 适合于计算机之间、计算机与外部设备之间的远 距离通信。
计算公式 fosc/12
(2SMOD/32)(T1溢出率)
(2SMOD/32)/64
(2SMOD/32)(T1溢出率)
表7-3 常用的波特率及计算器初值
返回本节
6.3 MCS-51单片机串行口的应用
一、 串行口方式0用作扩展并行I/O口 二、 方式1与点对点的异步通讯 三、 方式2、方式3与多机通讯 四、微机与单片机之间的通讯
波特率=(2SMOD/32)×T1溢出率
例 T1的方式2下,
1
T=(28-X) × 12 × fosc
1
fosc
T1的溢出率= =
T 12 × (28-X)
3.方式2 9位UART
一般用于多机通信。一帧信息11位。
停止位 TB8 D7 D6 D5 D4 D3 D2 D1 D0 起始位
发送完数据置位TI。
MC1488,MC1489引脚
返回本节
6.4 串行通信的标准接口
一、相互通道的典型结构 二、关于RS-232C、RS-449、RS-422、RS-423和RS-485接口
返回本章首页
一、相互通道的典型结构
主计算机系统 串行通讯接口
TXD
RXD
1#单片机 应用系统
TXD
RXD
TXD
RXD
2#单片机
数据存入外RAM1000H~101FH单元中。甲乙的晶振频率
为6MHZ。
解(1) 甲 TXD
GND
RXD 乙
GND
(2)波特率= (2SMOD/32)×fosc/ [12 × (28-X)] 令SMOD=0 256-X=6 × 106/(384 × 1200) X=243=0F3H
(3)SCON=0100 0000=40H 0101 0000=50H
发送时钟
接收:
接收数据寄 存器SBUF
CPU
D7 D6 D5 D4 D3 D2 D1 D0
1 D7 D6 D5 D4 D3 D2 D1 D0 0
接收时钟
1.串行口数据缓冲器SBUF
2.串行口控制寄存器SCON 该寄存器的字节地址为98H,可位寻址。
SM0 SM1 SM2 REN TB8 RB8
TI
6.2 MCS-51单片机的串行口
•一、 串行口的结构 •二、串行口的工作方式 •三 、波特率的计算
返回本章首页
一、 串行口的结构
P3.1
P3.0
MCS-51串行口组成示意
发送:
CPU
D7 D6 D5 D4 D3 D2 D1 D0 发送寄存器SBUF
1 D7 D6 D5 D4 D3 D2 D1 D0 0
SMOD
SMOD位用于决定波特率的倍数。 0 1
20 = 1倍 21 = 2倍
返回本节
二、 串行口的工作方式
MCS-51的串行口有四种工作方式,它是由SCON中 的SM1和SM0来决定的,如表格 7-1
表7-1 串行口工作方式
1.方式0 同步移位寄存器方式
数据从RXD输入或输出,TXD仅作同步移位脉冲
A
DCE
IBM CompatiblMeodem
(5)乙机程序
串行口初始化 定时器1初始化
送时间常数 启动T1 开中断 置初值
清中断标志 取接收数据 数据送相应区
修改指针
数据送完?
等待中断
主程序
中断返回
禁止中断
中断服务程序
ORG 0000H
LJMP MAIN
ORG 0023H
LJMP ZD
ORG 0600H MAIN:MOV SCON,#50H MOV TMOD #20H MOV TH1,#0F3H MOV TL1,#0F3H SETB TCON.6
RI
SM0、SM1:工作方式选择位(四种工作方式) SM2:多机通信控制位(常与RB8配合,决定是否激活RI) REN:允许接收控制位 TB8:发送的第九位数 RB8:接收的第九位数 TI / RI :中断请求标志位(前面已讲过)
3.特殊功能寄存器PCON 其字节地址为87H,没有位寻址功能。PCON 的格式如图7-7所示,其中与串行接口有关的只 有D7位。
任务七 电动云台的控制
学习目标:过学习任务七的完成方法,熟悉步 进电机的工作原理,掌握单片机的串行通信过 程等。
任务描述: 在安防系统中与摄像机配合使用的 电动云台一般使用的是步进电机实现对云台的 控制,从而实现对不同角度的摄像的功能。要 求通过单片机的串行口实现对电动云台的控制。
步进电机的工作原理
SETB EA
SETB ES MOV DPTR,#1000H MOV R0,#00H SJMP $
ORG 0060H ZD:CPL RI MOV A,SBUF MOVX @DPTR , A CJNE R0,#1FH,LOOP
CLR ES
SJMP L1 LOOP: INC R0 INC DPTR
L1:RETI
1起始位、8位数据位、1位停止位
停止位 D7 D6 D5 D4 D3 D2 D1 D0 起始位
发送完置位TI。
起始位 D0 D1 D2 D3 D4 D5 D6 D7 停止位
发送 接收
送 RB8
当接收到数据后,置位RI是有条件的。即: REN = 1,RI = 0 且SM2 = 0或SM2 = 1但是接收到的停止位为1。 此时,数据装载SBUF, RI置1 ,停止位进入RB8。
;调用发送子程序 ;中断返回
;取发送数据到A ;加上奇校验位
;修改发送数据指针 ;发送ASCII码 ;清发送中断标志
接收子程序:
SIN:
MOV A,SBUF
MOV C,P
CPL C ANL A,#7FH MOV @R1,A
INC
R1
CLR RI
RET
;读出接收缓冲区内容 ;取出校验位 ;奇校验 ;删除校验位 ;读入接收缓冲区 ;修改接收数据指针 ;清接收中断标志
MOV TMOD #20H MOV TH1,#0F3H MOV TL1,#0F3H
SETB TCON.6
SETB EA
SETB ES MOV DPTR,#1000H MOV R0,#00H MOVX A,@DPTR MOV SBUF,A
SJMP $
ORG 0070H ZD:CPL TI CJNE R0,#1FH,LOOP CLR ES SJMP L1 LOOP:INC R0 INC DPTR MOVX A,@DPTR MOV SBUF,A L1:RETI END
发B 收
(b) 半双工方式
A
B




(c) 全双工方式
n-1

P
0 / 1
0
DD 01
起 始 位
第n个字符(一串行帧)
DDDDD
2 3 4 5 6P1ห้องสมุดไป่ตู้
0 / 1
数据位
校停 验止 位位
n+1
0 / 1
D 0

异步通讯的帧格式
同步——发送设备时钟与接收设备时钟严格一致。
发送设备
接收设备
校验字符2 校验字符1 数 据 n ……… 数 据 2 数 据 1 同步字符2 同步字符1
JNB RI,SEND
;TI=1,为发送中断
ACALL SIN
;RI=1,为接收中断
SJMP NEXT
;转至统一的出口
发送子程序:
SEND : ACALL SOUT NEXT : RETI
SOUT: MOV A,@Ro MOV C,P CPL C MOV ACC.7,C INC R0 MOV SBUF,A CLR TI RET
01000010
A
B
11100111
返回本章首页
通信方式
•串行通信从数据传输方式分为: 单工方式、半双工方式、全双工方式。
从信息格式来说,串行通信有两种方式: 异步通信方式、同步通信方式。
波特率:每秒钟传送二进制代码的位数。b/s、 bps 、位/秒。
返回本章首页
A
B


(a) 单工方式
A发 收
返回本节
三、 方式2、方式3与多机通讯
TXD RXD 主机
TXD RXD
8031 0#从机
TXD RXD
TXD RXD
8031

8031
1#从机
n#从机
多机通讯连接示意图
返回本节
四、 微机与单片机之间的通讯
微机与单片机串行通信接口
(a)MC1488 TTL RS232
(b)MC1489 RS232 TTL
步进电机是机电控制中一种常用的执行机构,它的用 途是将电脉冲转化为角位移,它的的驱动电路根据控 制信号工作,控制信号由单片机产生。当步进驱动器 接收到 一个脉冲信号,它就驱动步进电机按设定的方 向转动一个固定的角度,控制换相顺序,即通电控制 脉冲必须严格按照一定顺序分别控制各相的通断。通 过控制脉冲个 数即可以控制角位移量,从而达到准确 定位的目的。控制步进电机的转向,即给定工作方式 正序换相通电,步进电机正转,若按反序通电换相, 则电机就反转。控制 步进电机的速度,即给步进电机 发一个控制脉冲,它就转一步,再发一个脉冲,它会 再转一步,两个脉冲的间隔越短,步进电机就转得越 快。同时通过控制脉冲频率 来控制电机转动的速度和 加速度,从而达到调速的目的。
4.方式3
• 当SM0SM1=11时,串行口工作在方式3。方式3 为波特率可变的9位异步通信方式,除了波特率外, 方式3和方式2相同。 • 方式3的波特率由下式确定:
方式3波特率=(2SMOD/32)×定时器T1的溢出率
返回本节
三 、 波特率的计算
表7-2 波特率计算公式
方式 方式0 方式1 方式2 方式3
波特率固定为fosc / 12
RXD —— 接收发送数据
TXD —— 产生同步移位脉冲
接收/发送完,置位RI / TI ,(要求SM2 = 0)
D7 D6 D5 D4 D3 D2 D1 D0
发送
D0 D1 D2 D3 D4 D5 D6 D7
接收
无起始位,无停止位 。可用于并口的扩展。
2.方式1 8位UART
起始位 D0 D1 D2 D3 D4 D5 D6 D7 RB8 停止位
发送 接收
送RB8 接收到有效数据完毕,置位RI的条件: REN = 1,RI = 0 且SM2 = 0或接收到第9位数据为1, 此时,数据装载SBUF,RI置1,第9位数据(TB8) RB8。
方式2波特率:(固定)2SMOD / 64 × fosc
返回本章首页
一、 串行口方式0用作扩展并行I/O口
图 7-11 串行口方式0扩展并行输出口
START1: LOOP:
MOV SCON,#00H
MOV A,#80H
CLR MOV
P1.0 SBUF,A
JNB
TI,LOOP
SETB
P1.0
ACALL DELAY
CLR
TI
RR
A
CLR
P1.0
SJMP START1
MOV SCON,#50H
;串行口设为方式1,REN=1
MOV R0, #20H MOV R1, #40H ACALL SOUT
;发送数据区首址 ;接收数据区首址 ;输出一个字符
$: 中断服务程序:
SJMP $ ORG 0023H
AJMP SBRl
;等待中断 ;串行口中断入口 ;转至中断服务程序
SBRl:
;串行口方式0初始化 ;最左一位发光二极管先亮 ;关闭并行输出 ;开始串行输出 ;查询TI ;启动并行输出 ;显示延时
;清发送中断标志 ;准备右边一位显示 ;关闭并行输出 ;再一次串行输出
返回本节
二、 方式1与点对点的异步通讯
例 甲乙两台单片机以方式1进行串行通信,波特率为1200,
甲发送,数据在甲机外RAM1000H~101FH单元中;乙接收,把
(4)甲机程序
串行口初始化
定时器1初始化
送时间常数
启动T1
开中断 取首址数据
启动串行发送
等待中断
主程序
清中断标志
数据送完?
改数据地址 取发送数据 启动串行发送
中断返回
中断服务程序
ORG 0000H
LJMP MAIN
ORG 0023H
LJMP ZD
ORG 0600H MAIN:MOV SCON,#40H
END
例 在下面给出的实现指定功能的通讯程序中,发送和接收都通过调用
子程序来完成,并设发送数据区的首地址为20H,接收数据区的首地 址为40H。 主程序:
MOV TMOD,#20H
;定时器1设为方式2
MOV TL, #0F3H
;定时器初值
MOV TH1, #0F3H
;8位重装值
SETB TR1
;启动定时器1

n#单片机
应用系统
应用系统
(a)主从式分布
发送
接收
RXD
TXD
0#单片机 应用系统
TXD
RXD
1#单片机

应用系统
(b)串行总线式
TXD
RXD
n#单片机 应用系统
多机系统的相互通道
返回本节
二、关于RS-232C、RS-449、RS-422、RS-423和RS-485接口
1.RS-232C接口
DTE
相关文档
最新文档