第 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地址
转换结束否
采样结束否
数据存放
数据指针加
1
开 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 !
?本章到此结束,
?谢谢您的光临!
结束放映 返回本章首页
? 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地址
转换结束否
采样结束否
数据存放
数据指针加
1
开 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 !
?本章到此结束,
?谢谢您的光临!
结束放映 返回本章首页