- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
李伯成《微机原理》习题 第六章
若8253芯片可利用8088的外设接口地址为0D0D0H~0D0DFH,试画出电路,若加到8253上的时钟信号为2MH:
若利用计数器0,1,2分别产生周期为10微秒的对称方波以及秒和10秒产生一个负脉冲,试说明8253应如何连接并编写初始化在内的程序;
若希望利用8088程序通过接口控制GATE,从CPU使GATE有效开始,20微秒后在计数器0的OUT端产生一个正脉冲,试设计完成此要求的硬件和软件。
根据题意三个计数器都应该工作在方波发生器方式3,计数器0的输出信号周期为10微秒,因为时钟信号周期我微秒,所以计数器0的计数值为20。用OUT0作为计数器1的时钟,计数器1的分频系数为1/10-4,而假如又用OUT1作为计数器2的时钟,则计数器2的分频系数应为100。所以有以下初始化程序段:
计数器0
:
00
计数器0
01
单字节
011
方式3
1 =37H
十进制
计数器1
01
11
011
1 =57H
计数器1
双字节
方式3
十进制
计数器2
10
01
011
1 =97H
计数器2
单字节
方式3
十进制
MOV DX,0D0D3H;控制端口地址
MOV AL,37H
OUT DX,AL
MOV DX,0D0D0H;计数器0端口地址
MOV AL,20
OUT DX,AL
MOV DX,0D0D3H
MOV AL,57H
OUT DX,AL
MOV DX,0D0D1H;计数器1端口地址MOV AL,00
OUT DX,AL
MOV AL,100
OUT DX,AL
MOV DX,0D0D3H;
MOV AL,97H
OUT DX,AL
MOV DX,0D0D2HMOV AL,100
OUT DX,AL
6.2规定8255并行接口地址为FFE0~FFE3H,试将其连接到8088系统总线上。
(1)、若希望8255的三个端口的24根线均为输出,且输出幅度和频率为任意的方波,试编程序;
(2)、若A/D变换器的引线及工作时序如图示,试将此A/D转换器与8255相连接,并编写包括初始化程序在内的、变换一次数据并将数据存放在DATA中的程序;
解:根据题目所给的接口地址,其电路连接如下:
、根据8255的方式字格式,三个端口全都工作在
方式0输出,故为10000000B=80H所以有如下的初始化:
MOV DX,FFE3H;
MOV AL,80H;
OUT DX,AL;
用8255输出幅度任意的方波是不可能的,所以后续问题无解。
、8255的初始化包括:工作方式0、A口输入、B口输出、C口低四位输出、C口
高四位输入,且在程序开始时,使PC、PC为低电平。所以控制字应为:1001100
0 1
0B=98H
据此写下以下程序:
MOV
DX,FFE3H;
8255控制寄存器地址
MOV
AL,98H;
工作方式控制字
OUT
DX,AL;
写入8255
MOV
DX,FFE2;
8255C口
MOV
AL,0;
OUT
DX,AL;
使使PC、PC为低电平
0 1
数据采集部分采用查询方式,程序以过程的方式书写如下:AD0809 PROC NEAR
PUSH AX
PUSH BX;
PUSH DX;
PUSH SI; 断点保护
MOV DX,SEG ADATA;转换数据存储区段地址MOV DS,DX;
MOV SI,OFFSETADATA;转换数据存储区偏移地址XOR BX,BX;
MOV BL,08; 模拟输入通道数BEGIN:MOV DX,FFE1H;8255B口—模拟通道选择
MOV AL,BL;
OUT DX,AL; 选择模拟输入通道
MOV DX,FFE2H;8255C口地址
MOV AL,01H;OUT DX,AL;
MOV AL,00H;
OUT DX,AL; 输出开始转换脉冲STARTCHANGE:IN AL,DX; 读C口,查询EOC信号
TEST AL,10H; 检测PC4
JZ CHANGE; EOC无效则等待MOV AL,02H;
OUT DX,AL;发送OE脉冲MOV DX,FFE0H;8255A口
IN AL,DX;读转换数据MOV [SI],AL; 存入数据区MOV DX,FFE2H;
MOV AL,0
OUT DX,AL; 取消OE信号
INC SI; 移动数据区指针
INC BL; 选择下一个通道MOV AL,08H
CMP AL,BL
JNZ BEGIN
POP SI
文档评论(0)