8086应用举例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
应用举例
利用8086处理器设计一个简单的电加热炉的温度控制系统,
要求:1|、目标温度可以设置、显示;(XXX)
2、炉内实际温度可以显示(XXX)
3、温度控制过程中,每秒种测量、调节1次
4、通过固体继电器调节电阻丝对电炉加温
5、加热速度:1度/分钟,到200度后保持稳定
(一) 设计要点:
1、以8086为处理器
2、用3个8位锁存器锁存20位地址(AD0-AD15 ;A16-A19 ;BHE )
3、RAM存储器地址从00000H -03FFFH连续空间(16K*8)6264*2 数据及中断矢量表
4、ROM存储器地址从FC000H-FFFFFH的连续空间(16K*8)2762*2 程序和程序中用到的固定参数
5、定时器8253控制时间(端口地址0020H,0022H,0024H,0026H)
6、16键、6位LED显示器通过8255A的A、B、C口接口(端口地址0030H,0032H,0034H,0036H)
7、电阻加热:8255的C口控制0809的状态由C口查询
8、温度测量:ADC0809 8位输入0-5V (启动转换的控制端口0040H 读转换结果端口0042H )
(二) 系统组成
(三) 硬件设计及地址分配
3.1 存储器的作用:
1、数据及中断矢量表
2、程序和程序中用到的固定参数
组织方式:
按字节(BYTE)组织,支持字(WORD)读写操作
RAM :偶地址+奇地址体(A0 ,D0-D7;BHE,D8-D15),可读可写ROM :偶地址+奇地址体(A0 ,D0-D7;BHE,D8-D15),可读不写地址范围:
RAM存储器00000H -03FFFH连续空间(16K*8)6264*2
ROM存储器FC000H-FFFFFH连续空间(16K*8)2764*2
存储器的地址译码与读写控制电路真值表:
3.2 IO接口设计
I/O组织方式:
按字节(BYTE)组织,但不支持字(WORD)读写操作。
采用偶地址寻址(A0 ,D0-D7)
端口分配:
8253 端口地址0020H,0022H,0024H,0026H
8255A端口地址0030H,0032H,0034H,0036H
ADC0809端口地址:
启动转换的控制端口0040H
读转换结果端口0042H
8255信号与8253类似;此处略
8253的作用:
在温度控制过程中,每秒钟产生20次中断请求,控制模/数的采样周期(50ms=20次/每秒)工作模式字设置:
SC1 SC0 RW1 RW0 M2 M1 M0 BCD
定时器通道:0
定时参数写入方式:先读/写低8位字节, 再读/写高8位字节
工作模式:方式2
产生周期性脉冲:
(3)方式2——分频器(速度波发生器)
具有计数初值重装能力
二进制计数;
定时器初值设置:
1、定时周期采用1Mz的时钟输入,定时时钟周期为1us(1/10-6)
2、根据定时时间(50ms)= 时钟周期(1us)*脉冲数(c) ,求得C=50000=0c350H (分2次写入通道0的端口)
8255的作用:
1、键盘扫描
2、显示器扫描
利用A输入、B口输出和C口输出的6位
3、输入0809的状态(检测0809的EOC信号,确定A/D转换是否完成)A口1位
4、控制加热电阻丝的开关(C口1位输出)
工作模式字设置:
A、B、C 都为基本的输入输出方式
A输入、B口输出和C口输出的6位
控制字为:1 00 1 0 0 0 0
3.3 中断控制:
由于只有单中断源,可采用NMI(上升沿)作为中断请求输入。
中断类型号是固定的(02h),
中断子程序入口地址存放在0000:0008H-0000:000B单位中(物理地址为00008H-0000BH).
(四) 软件控制流程
1、控制硬件工作完成参数设置、温度测量、显示、加热控制
2、加热控制时需要控制算法(如PID)
4.1 总体流程
程序包括两大部分:主控程序和中断处理程序
主控程序:
功能:完成程序初始化、接口电路的模式设置、键盘扫描(控制参数设置)、显示扫描。
特点:完成初始化后,程序无限循环(不断的键盘扫描(控制参数设置)、显示扫描)。
中断处理程序:
功能:完成时钟控制、温度测量(AD转换)、根据控制算法实现温度调节。特点:每当8053计数到0时,就执行一次。
两部分协调工作完成系统的温度控制。