第 10章 系统应用实例
? 10.1 步进电机控制系统
? 10.2 红外线感应自动门控制系统
? 10.3 通用多点温度控制系统
10.1 步进电机控制系统
? 10.1.1 步进电机控制原理
? 10.1.2 步进电机控制程序设计
? 10.1.3 步进电机变速控制
返回本章首页
+27V
MLA MLB MLC
1K
15
K
15
K
15
K
1K 1K
7406
8031
P1.0
P1.1
P1.2
P2.3
P2.0
D7
D0
Q7
Q0
A11
A8
A7
A0
D7
D0
D7
D0
2732
CE OE
G
OE
AL
E
PSEN



~ ~


图 10-1 单片机控制三相步进电机原理图
10.1.1 步进电机控制原理
?三相步进电机的通电方式有:
( 1) 三相三拍通电方式,A→B→C→A 。
( 2) 三相双三拍通电方式,AB→BC→CA→AB 。
( 3) 三相六拍通电方式:
A→AB→B→BC→C→CA 。
?按以上顺序通电, 步进电机正转 。
?要使电机反转, 将上述步进电机各相绕组的通电
相序反过来即可 。
?如三相三拍反转的通电方式为,A→C→B→ A。
节 拍 通电
顺序
控制模型
正转 反转 二进

十六进

1 6 A 00000
001
01
2 5 AB 00000
011
03
3 4 B 00000
010
02
4 3 BC 00000
110
06
5 2 C 00000
100
04
6 1 CA 00000
101
05
表10
-1












返回本节
10.1.2 步进电机控制程序设计
? 步进电机控制的任务就是:
① 判断旋转方向
② 按顺序送出控制脉冲
③ 判断脉冲是否送完
? 正反转控制模型数据的存放单元见表 10-2和表
10-3,其中 26H和 2DH中存放模型结束标志, 程
序流程如图 10-2所示 。
表 10-2 正转控制模型数据
内存字
节地址
20
H
21
H
22
H
23
H
24
H
25
H
26
H
控制模
型数据
01
H
03
H
02
H
06
H
04
H
05
H
00
H
表 10-3 反转控制模型数据
内存字节
地址
27
H
28
H
29
H
2A
H
2B
H
2C
H
2D
H
控制模型
数据
01
H
05
H
04
H
06
H
02
H
03
H
00
H
Y
置反转模型地址
恢复模型首址
保护现场
设步长计数器
置正转模型地址
输出控制模型
返回
恢复现场
是数据结束?
步数为 0?
Y
Y
N
N
N
转向标志为 1?

10-
2











返回本节
10.1.3 步进电机变速控制
步长
fc
f
L1 L2 L3
图 10-3 变速控制过程
设频率阶梯计数器
设阶梯步长计数器
设置定时器
转向标志为 1?
CPU开中断
CPU关中断
结束
频率阶梯为 0?
主程序
设置正转模型地址
Y
N
设 T0初值地址指针
设置反转模型
地址
Y
N
T0初值地址更

恢复模型首

保护现场
输出控制模型
模型地址增 1
赋升频 T0初值
恢复现场
模型结束?
频率阶梯为
0?
阶梯步长为
0?
阶梯步长赋值
中断服务程

是升频?
返回
赋降频 T0初值
Y
Y
Y
N
N
N
N
Y
图 10-4 变频控制程序流程图
?编写变频控制程序作如下说明:
( 1) 利用定时器 T0延时, 其初值存放在 EPROM的
同一页中 。 降频是升频的逆过程 。
( 2) 步进电机控制模型数据及存放地址 ( 如表 10-
2~10-5所示 ) 。
( 3)在升、降频过程中,考虑步进电机惯性,要
求每改变一次频率,需持续运行一定步数,称频
率阶梯步长。
表 10-4 标志位定义表 表 10-5 初值分配表
位地址 标志内容 字节地

存储内容
70H 运行方式,0代表恒速,1代
表变速
1AH 频率阶梯步长计数器
R2的值
71H 变速方式,0代表降速,1代
表升速
1BH 频率阶梯计数器 R3的

72H 恒速转向,0代表正转,1代
表反转
1CH 恒速段步长低 8位
73H 升速转向,0代表正转,1代
表反转
1DH 恒速段步长高 8位
74H 降速转向,0代表正转,1代
表反转
1EH 恒速段 T0初值低 8位
75H 程序结束标志,02代表程序
结束
1FH 恒速段 T0初值高 8位
返回本节
10.2 红外线感应自动门控制系统
? 10.2.1 系统硬件电路
? 10.2.2 红外线传感器集成芯片介绍
? 10.2.3 系统软件结构
返回本章首页
10.2.1 系统硬件电路
?系统控制电路如图 10-5所示 。 用 MCS-51系列单片
机与完全兼容的 AT89C51作主控芯片, 经扩展和接
口电路构成控制系统 。
?红外线传感器能以非接触形式检测人体中辐射出
的红外线能量变化,并将此变化转变为电压信号
输出。
?系统有自动和手动两种功能。电机选用单相交流
电机,由三个控制信号 P3.0,P3.1,P3.4来控制其正
、反转和速度变换。
BI
SS
000
1
60K20K
103
2M
10K
10u
1M
1M
47K
103
47u
电压检测模块
电机温度检测 P3.3/INT1
手动 /自动切换
手动关按钮
P3.4
P3.0
2.2u
D
S
G
红外传感器
+5V
GND
3.3K
103
103
470u
+5V
330K
330K102
10n
VC
VDD
2OUT
2IN-
1IN+
1IN-
1OUT
220K
IB
RR1
A
V0
RC1
RC2
RR2
VSS
+5V
行程开关 2
行程开关 3
手动开按钮




电机正转继电器 J1
电机过热报警
转速检测模块
A/D转换
蜂鸣报警
行程开关 4
行程开关 1
电压过高报警
速度异常报警
速度变换继电器 J3
电机反转继电器 J2
ADC
0809
EOC
P1.0
P1.3
P1.2
P1.1
P1.4
P1.5
P1.6
P2.0
P2.1
P2.3
P2.2
P3.2/INT0
P3.1
P0
WR
RD
ALE
P1.7
10K× 6
LED
AT89C51
VCC
图 10-5 红外线自动门控制系统原理图
返回本节
10.2.2 红外线传感器集成芯片介绍
?红外线传感器集成芯片 BISS0001特点 ( 如图 10-6
,10-7所示 ),
( 1) 用 CMOS工艺, 功耗低 。
( 2) 具有独立的高输入阻抗运算放大器, 可与多
种传感器匹配 。
( 3) 双向鉴幅器可有效抑制干扰信号 。
( 4) 内设延时和封锁定时器, 性能稳定, 调节范
围宽 。
( 5) 内置参考电源 。
( 6) 工作电压范围宽 ( 3V~ 5V) 。
BISS0001
1
2
3
4
5
6
7
8 9
10
11
12
13
14
15
16A
V0
RR1
RC1
RC2
RR2
Vss
VRF/RESET Vc
IB
VDD
2OUT
2IN-
1IN+
1IN-
1OUT
图10
-6
BI
SS
0001





+

OP1
+

OP2
+

COP1
+

COP2
+

COP3 状态



参考电源












5
1
14
15
9
8
16
12
13 3
2
10
7
11
6
4
A
1IN-
1OUT
2IN
2OUT
Vc
VRF/RESET
1IN+
VH
VL
VM
VR
VL
VH
VM
VR
VDD
VSS
IB
V0
VR
R1
RR1
RR2
R2
C2RC2
C1
RC1U
2
U1
Vs
RESET
图 10-7 BISS0001芯片内部电路原理图
返回本节
10.2.3 系统软件结构
?整个系统软件主要由主程序, 中断服务程序, 门
开启和关闭子程序, 各种故障处理及报警子程序
组成 。
?主程序主要是完成系统进行初始化、中断设置、
手动与自动切换等功能。
?中断服务程序包括两个外部中断和两个定时器中
断(如图 10-8~10-12所示)。
启动下一通道
通道号加1
指向 0809地址
转换结束否
采样结束否
数据存放
数据指针加

开 T1中断
中断返回
Y
N
N
关 T1中断开 始
是否手动方式
定时器 T0,T1设置
开定时器
中断优先级设置
开中断
关外部中断 1
开定时器 T0
开外部中断 1
系统 是否有 故
障?
系统终止
Y
N
Y
N
Y

10-
8









10-
9T
1









延时 10s
加速
停机开中断
减速
关门
有人否?
有人否?
加速否?
有人否?
减速否?
停机否?
系统是否有故障?
系统是否有故障?
开门子程序
中断返回
Y
关外部中断
N
Y
Y
N
N
NY
Y
N
Y
N
N
Y
Y
N

10-
10











门状态检测
电机加速
电机减速
电机停止
加速?
减速?
停止?
返 回
Y
N
N
Y
N
Y
开 门
图10
-11








返回本节
10.3 通用多点温度控制系统
? 10.3.1 系统网络结构
? 10.3.2 通信协议
? 10.3.3 硬件电路
? 10.3.4 软件设计
返回本章首页
10.3.1 系统网络结构
RS-485接口
从机
0#
主机
RS-485接口
……RS-485接口
从机
1#
RS-485接口
从机
n#
图 10-13 系统结构图
返回本节
10.3.2 通信协议
?1,通信过程
( 1) 写指令
单片机发指令 ——→ 从机接收指令 ——等待 → 反馈
接收信息
( 2) 读指令
主机发指令 ——→ 从机接收指令 ——等待 → 从机取
出参数给主机 ——→ 等待 ——→ 主机反馈接收信息
? 2,通信设定
( 1) 从机站号
( 2) 通信速率
( 3) 通信再试次数
( 4) 校验方式
? 3,数据格式
l 主机到从机的通信数据格式
数据写入的格式有两种, 数据写入指的是主单
片机对从单片机的发送指令 。
从机号 指令代码 校验和
从机号 指令代码 指令参数 校验和
?格式 A( 读指令 )
?格式 B( 写指令 )
l 从机到主机的数据格式
不论主机发送的指令是何种格式,从机收到主
机指令后都要向主机发回确认信息。
从机号 YES/NO 返回数据 校验和
从机号 YES/NO 校验和
?格式 A’
?格式 B’
返回本节
10.3.3 硬件电路
?AT89C52单片机具有 MCS-51内核, 指令系统与
MCS-51单片机 100%兼容, 片内有 8K Flash EPROM
,256字节 RAM,6个中断源, 一个串行口, 最高
工作频率可达 24M,完全可满足本系统的需要 。
?主机管理各从机, 负责系统的各温度测控点数据
的收集与处理 。 从机负责现场数据的采集以及现
场温度的控制 。
?系统的主从机硬件结构原理图分别见图 10-14和图
10-15所示 。
返回本节
10.3.4 软件设计
1,主机软件设计
?根据系统从机数量以及对温度控制响应实时性的
要求, 采取不同的时间间隔扫描各从机, 读取各
温度测控点的温度信息或发送控制指令 。
?主机系统软件设计主要包括键处理模块, 显示管
理模块, 通信读数据模块, 通信写指令模块, 故
障处理模块等 。
2,从机软件设计
?从机主要接收主机指令, 完成主机规定的温度控
制及相关操作 。
?从机也配有键盘, 允许用户现场控制温度 。
?从机软件设计也包括键处理模块, 温度数据采集
( A/D) 模块, 显示模块, 通信模块, 输出管理模
块, 故障处理模块 。
通讯正常? Y
开始
T20msFlag=
1?
N
产生故障消息
T20msFlag=0;
系统初始化
联络各从机
T20ms=?
键处理模块 显示模块 通讯管理模块 故障处理模块
T20ms=0 T20ms=2 T20ms=3T20ms=1
Y
N

10-
16








返回本节
? 以下是利用 TLC0832型 A/D转换器进行数据采集
的子程序 。 TLC0832引脚图及用法见从机系统
图 10-15。 该型号 A/D转换器是 TI公司近年推出
的新型两通道 8位逐次逼近型转换器, 允许差分
输入方式工作 。 利用单片机的 I/O口线进行数据
的传输 。
? TLC0832型 A/D转换器数据采集参考程序清单
如下:
CollectAD,PUSH PSW
PUSH ACC
CLR CS
MOVR6,#08H ; 计数初值, 接收 8位数据
LOAD1,CLR CLK ; 产生时钟信号低电平, 第 1个脉冲
NOP
SETB DI ; 发启动信号
NOP
SETB CLK ; 产生时钟信号高电平
NOP
NOP
CLR CLK ; 第 2个脉冲
NOP
SETB DI ; SGL=1,单通道输入方式
NOP
SETB CLK
NOP
NOP
CLR CLK ; 第 3个脉冲
NOP
CLR DI ; ODD=0,选择通道 0
NOP
SETB CLK
NOP
NOP
CLR CLK ; 第 4个脉冲
NOP
NOP
LOAD2,SETB CLK
NOP
NOP
NOP
CLR CLK
NOP
MOVC,DO ; 读取 TLC0832数据输出线上数据
RLC A
DJNZ R6,LOAD2
CLR C
MOVTemperature,A ; 保存 A/D转换结果
SETB CS
ADBACK,POP ACC
POP PSW
RET
THANK YOU VERY MUCH !
?本章到此结束,
?谢谢您的光临!
结束放映 返回本章首页