微机原理与接口技术考试题综述

上传人:我** 文档编号:115282848 上传时间:2019-11-13 格式:PPT 页数:137 大小:10.45MB
返回 下载 相关 举报
微机原理与接口技术考试题综述_第1页
第1页 / 共137页
微机原理与接口技术考试题综述_第2页
第2页 / 共137页
微机原理与接口技术考试题综述_第3页
第3页 / 共137页
微机原理与接口技术考试题综述_第4页
第4页 / 共137页
微机原理与接口技术考试题综述_第5页
第5页 / 共137页
点击查看更多>>
资源描述

《微机原理与接口技术考试题综述》由会员分享,可在线阅读,更多相关《微机原理与接口技术考试题综述(137页珍藏版)》请在金锄头文库上搜索。

1、例1:使计数器T1工作在方式0进行16位二进制计 数,设控制口地址为307H, 则程序段为:,MOV DX,307H ;控制口 MOV AL,01110000B ;方式字 OUT DX,AL MOV DX,305H ;T1数据口 MOV AL,BYTEL ;计数值低字节 OUT DX,AL MOV AL,BYTEH ;计数值高字节 OUT DX,AL,三、8253的应用,例2:在 PC/XT 机中, 8253 通道 1 工作于方 式 2 ,用它产生间隔为 15 s 的负脉冲 信号用于 对动态 RAM 刷新的定时信号, 计数脉冲输入为 1.19MHZ ,试计算出应 写入的计数值是多少 ?,例3.

2、 设某应用系统中,系统提供一个频率为 10kHz的时钟信号,要求每隔100ms采集 一次数据。,(1)选择工作方式 由于系统每隔100ms定时中断一次,且采 样频率为10Hz,可选用方式2来实现。当8253 定时器工作在方式2时,在写入控制字与计数初 值后,定时器就启动工作,每到100ms时间, 即计数器减到1时,输出端OUT0输出一个CLK 周期的低电平,向CPU申请中断,CPU在中断 服务程序中完成数据采集,同时按原设定值重 新开始计数,实现了计数值的自动重装。,(2)确定计数初值 已知fCLK0=10kHz,则TCLK0=0.1ms,所以 计数初值 N=TOUT0/TCLK0 =100m

3、s/0.1ms=1000=03E8H,(3)初始化编程 根据以上要求,可确定8253通道0的方式控制 字为00110100B,即34H。 初始化程序段如下:,MOV AL,34H;通道0,16位计数, ; 方式2,二进制计数 OUT 13H,AL;写入方式控制字到控制字寄存器 MOV AL, 0E8H; 计数初值低8位 OUT 10H,AL;写入计数初值低8位到通道0 MOV AL, 03H; 计数初值高8位 OUT 10H,AL;写入计数初值高8位到通道0,例4.通过PC机系统总线在外部扩展一个8253, 利用其通道0记录外部事件的发生的次 数,输入一个高脉冲表示事件发生1次。 当事件发生1

4、00次后就向CPU提出中断 请求(边沿触发),假设8253片选信号 的I/O地址范围为200H203H,如图。,根据要求,可以选择方式0来实现,计数 初值N=100。8253初始化程序段如下:,MOV DX,203H;设置方式控制字地址 MOV AL,10H;设定通道0为工作方式0, ;二进制计数,只写入低字节计数值 OUT DX,AL MOV DX,200H;设置计数器通道0的地址 MOV AL,64H;计数初值为100 OUT DX,AL,例5. 已知某8253占用I/O空间地址为320H 323H,如下图所示,输入其CKL1端 的脉冲频率为1MHz,要求用8253连续 产生10秒的定时信

5、号。,分析:8253的一个通道的最大计数范围为65536, 本例中要求输出10秒定时信号,则计数初值N= 10/10-6=107,超过了8253一个通道的最大计数 值,此时可以使用2个8253通道级连方式来实 现。若级连前2个通道的初值为N1和N2,则级 连后作为一个整体的计数值为N=N1N2。,设计数器使用方式2,二进制计数,计数初值 为:N1=500=1F4H,N2=20000=4E20H, 则通道1、2的初始化程序如下:,MOV DX,323H MOV AL,74H;01110100B,通道1,写入 ;16位初值,方式2,二进制计数 OUT DX,AL;写入通道1方式字,MOV DX,3

6、21H MOV AL, 0F4H OUT DX,AL;写入初值500的低8位入通道1 MOV AL,01H OUT DX,AL;写入初值500的高8位入通道1 MOV DX,323H MOV AL,0B4H;10110100B,通道2,写入 ;16位初值,方式2,二进制计数,OUT DX,AL;写入通道2方式字 MOV DX,322H MOV AL, 20H OUT DX,AL;写入通道2初值20000的低8位 MOV AL,4EH OUT DX,AL;写入通道2初值20000的高8位,例6:控制扬声器发声,如图:已知,计数器2的输出控制扬声器的发声音调 计数器2工作在方式3,输出频率为600

7、Hz的 方波,经滤波后得到近似的正弦波,进而 推动扬声器发声(8253口地址为40H43H) 扬声器还受控于并行接口(8255芯片口地 址为60H63H) 必须使PB0和PB1同时为高电平,扬声器才 能发出预先设定频率的声音(长音3s,短音 0.5s,发什么声音由BL寄存器内容决定),8253用于控制发声,例6: 8253的应用举例,例6:发音频率设置子程序,SSP PROC NEAR MOV AL, 0B6H;计数器2初值为16位, 方式3二进制格式 OUT 43H,AL ;控制口地址 MOV AX, 1983 ; 计数初值 OUT 42H,AL ;发送低字节 MOV AL, AH ; OU

8、T 42H,AL ;发送高字节 IN AL, 61H ;读取 8255的PB口原输出值 MOV AH, AL ;将原输出值保留于 AH中,计数值为: 1.19318106600HZ=1983,OR AL, 03H ;使PB1 PB0均为1 OUT 61H,AL ;打开GATE2门,输出方波到扬声器 SUB CX, CX ;CX为循环计数,最大为 65536次 L: LOOP L ;延时循环 DEC BL ;BL为子程序入口条件 JNZ L ;BL=6,扬声器发长声, BL=l发短声 MOV AL,AH ;取回 A.H中的 8255 PB口的原输出值 OUT 61H,AL;恢复8255PB口。

9、RET ;返回 SSP ENDP,例1:8255A的初始化 MOV DX,387H ;设控制口地址 MOV AL,82H ;1 00 0 0 0 1 0 OUT DX,AL ;输出控制字 XOR AL,AL ;A口输出全0 MOV DX,384H ;设A口地址 OUT DX,AL ;输出到A口,MOV AL, 80H OUT 8BH,AL MOV AL,ODH,例2:已知某8255A在系统中占用888BH号端 口地址,现欲安排其PA,PB,PC口全 部为输出,PA,PB口均工作于方式0模 式,并将PC6置位,使PC3复位,试编写 出相应的初始化程序.,OUT 8BH,AL MOV AL,06H

10、 OUT 8BH,AL,(1) MOV DX, 203H MOV AL, 10111000B OUT DX, AL,例3:设8255的端口地址为200H203H,要求: PA口方式1输入;PB口方式0输出; PC7PC6为输入;PC1PC0为输出。 试写出8255的初始化程序。 程序要求当PC7=0时置位PC1,而当 PC6=1时复位PC0,试编制相应的程序。,(2) MOV DX, 202H IN AL, DX MOV AH, AL TEST AL, 80H JNZ NEXT1 MOV DX, 203H MOV AL, 03H ;对PC1置位 OUT DX, AL,NEXT1:MOV AL,

11、 AH TEST AL, 40H JZ NEXT2 MOV AL,00H ;对PC0复位 MOV DX, 203H OUT DX, AL NEXT2:,例4打印机接口。为某应用系统配置一个并行 打印机接口,并且通过接口CPU采用查询 方式打印。已知欲打印数据存放在数据段 中有效地址为2000H的单元中。8255的口 地址为80H、81H、82H、83H。,分析:由于打印接口直接面向的对象是打印机 接口标准,而不是打印机本身,因此打 印机接口要按照接口标准的要求进行设 计,主要是8位并行数据线DATA0 DATA7,2条握手联络线STB#、ACK# 和1条忙线BUSY。有关打印机接口工作 时序见

12、下图。,MOV AL,81H ;工作方式字 OUT 83H,AL MOV AL, 0DH ;PC6=1, 使STB=1 OUT 83H,AL TB: IN AL,82H ;查BUSY=0?(PC2=0) TEST AL,04H ;00000100B JNZ TB ;忙则等待;不忙则向A口送数,MOV AL,2000H ;从内存取数 OUT 80H,AL ;送数据到A口 MOV AL,0CH ;置STB信号为低(PC6=0) OUT 83H,AL NOP ;负脉冲宽度(延时) NOP INC AL ;置STB为高(PC6=1) OUT 83H,AL,例5 将8255 C端口的8根I/O线接8只发

13、光二极 管的正极(八个负极均接地),用按位置位/ 复位控制字编写使这8只发光二极管依次 亮、灭的程序,直到键盘有输入时结束。 设8255的端口地址为380H383H。,分析:首先用置位字01H点亮PC0所连接的发 光二极管,然后将置位字01H改为复位 字00H,熄灭该发光二极管。再将复位 字00H改为置位字03H,点亮PC1 所连 接的发光二极管,又将置位字03H改为,复位字02H,熄灭该发光二极管。置位字和 复位字就这样交替变化如下: 01H00H03H02H05H04H07H06H OFHOEHO1H。置位字和 复位字周而复始地不断循环,即可使8只连 接在PC端口的发光二极管依次亮灭。 每

14、一位的置位字改为复位字仅需将D0位由 1变为0,可用屏蔽D0位的逻辑与指令完成。 把PCi的复位字改为PCi+1的置位字,要将,D0位由0变为1,同时还要将D1D3位加 1,即要将D3D0 低4位加3,这可以用 加3的指令实现。 这样不断地加3,其进位一定会使D7也变为 1,致使置位字变成方式字,为了避免出现 此情况,所以加3后还要将置位字的D7位或 高4位清0,即与0FH逻辑与。据此分析该程 序的框图如下页图所示,程序如下。,stack segment dw 32 dup (?) stack ends code segment begin proc far assume ss: stack,

15、 cs: code push ds sub ax, ax,MOV DX,383H ;控制字寄存器的端口地址 MOV AL,80H ;方式选择字 OUT DX,AL MOV AL,1 ;PC0的置位控制字 AGAIN: OUT DX,AL ;点亮一只发光二极管 LOOP $ ;延时 LOOP $,AND AL,0FEH ;置位字改为复位字 OUT DX,AL ;熄灭点亮的发光二极管 ADD AL,3 ;复位字改为下一位的置位字 ;为下一只灯亮做 AND AL,0FH ;保持D7为0准备 PUSH AX MOV AH,11 ;检查键盘有无输入 INT 21H ;无0送AL,有-1送AL,INC AL;有键入时AL+1的值应为00H,ZF=1 POP AX JNZ AGAIN;结果不为0即ZF=0转移到AGAIN RET begin endp code ends end begin,例6 LED开关接口。8086CPU通过8255用开关 与8段LED显示器的接口如图示。8255A PA口加驱动器接LED显示输出;PB口低4 位接开关输入;PC口不用。8255A的A0、 A1接地址总线的A1、A2,其

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号