课堂综合练习及参考答案Word格式.docx
- 文档编号:5767964
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:20
- 大小:57.92KB
课堂综合练习及参考答案Word格式.docx
《课堂综合练习及参考答案Word格式.docx》由会员分享,可在线阅读,更多相关《课堂综合练习及参考答案Word格式.docx(20页珍藏版)》请在冰点文库上搜索。
----------8259初始化
MOVAL,00010011B;
ICW1
OUT20H,AL
MOVAL,00010000B;
ICW2
OUT21H,AL
MOVAL,00000101B;
ICW4
OUT21H,AL
-----------设置中断向量
PUSHDS
XORAX,AX
MOVDS,AX
LEAAX,CS:
IR5p;
中断服务程序
MOVDS:
[0054H],AX
MOVAX,CS
[0056H],AX
POPDS
-------------------设置中断屏蔽寄存器
MOVAL,0DFH;
OCW1
OUT21H,AL
-------------------打开中断
STI
8.在TPC-386EX实验台写一个使用SIR0中断的中断服务程序的框架(采用普通中断结束方式)。
SIR0pPROCFAR
PUSH…;
保护现场
CLI;
关闭中断
…
MOVAL,20H;
中断结束
OUT0A0H,AL
POP…;
恢复现场
STI;
开中断
IRET;
从中断返回
SIR0pENDP
课堂练习2
1.简述PCI中断。
包括中断产生、中断响应的过程。
当PCI设备需要中断支持,就要在INTA#~INTD#中选择一个中断申请线,在配置空间的InterruptPin(偏移地址3DH)字段定义,并通过配置空间的InterruptLine字段(偏移地址3CH)确定所选中断对应系统中断的编号。
当中断产生,设备的中断申请送到中断控制器,中断控制器向CPU发送中断申请,CPU控制PCI总线进入中断响应周期,获取中断向量(图16.16)。
CPU根据中断向量转入中断服务程序。
2.简述USB的帧和微帧的概念,以及协议中的实现。
说明SOF令牌结构。
USB协议通过帧(低速和全速模式)或微帧(高速模式)的定义,将时间分为1ms或125μs的间隙,并通过帧或微帧同步全部USB设备。
USB主机以广播方式向所有USB设备发送“帧标志”信息。
全速模式下主机每1ms发送一个SOF包。
低速模式下由KeepAlive状态信号替代SOF包。
高速模式下每一个1ms帧分成了8个微帧。
SOF格式:
Sync
PID
FrameNo.
帧序列号11位
CRC5
校验5位
EOP
3.说明USB传输中的“事务”的概念,以及“事务”的构成要件。
USB的事务(Transaction)为USB主机与设备端点之间的一次数据传输。
事务是USB传输(Transfer)过程中的一个阶段(Stage)。
为了实现一个USB事务,需要2~3个数据包(Package)的交换。
每一个数据包被称为一个事务的相位(Phase)。
构成事务的数据包通常依次为令牌包、数据包和联络包,实时传输的事务无联络包。
4.简要说明USB的4种传输模式的特点和性能。
USB的4种传输模式分别为控制传输、中断传输、批量传输和实时传输。
可以根据USB设备的特点选择支持的传输模式。
但USB设备必须支持控制传输。
控制传输实现USB控制信息、配置信息的传输,同时也可以实现用户数据传输。
中断传输可以保证传输延时,适合小批量、非周期性的数据传输。
批量传输可以最大可能的利用传输带宽,适合突发性的、大批量数据传输。
实时传输可以保证传输带宽,适合恒定流量、同时对错误不敏感的数据传输。
4种USB传输的理论速度:
传输类型
控制传输
批量传输
中断传输
实时传输
高速
最大速率(B/s)
15,872K
53,248K
24,576K
全速
832K
1,216K
64K
1,023K
低速
24K
不支持
800
5.在TPC-386EX实验箱实现延时脉冲输出。
即当按钮按下后,延时25ms后从8255的PC0输出一个负脉冲,脉冲宽度不限。
基本方法:
将按钮连接至8255的一个输入端(PC7),在主程序检测该输入端的上跳沿,启动定时器,将定时器输出连接到系统中断(MIR5),在中断服务程序向PC0输出负脉冲。
中断初始化:
采用实验台系统中断MIR5,已经完成8259A初始化。
剩下任务包括设置中断向量、设置中断屏蔽寄存器、打开中断。
;
-------------------设置中断向量
PUSHDS;
保存DS
XORAX,AX;
0→AX
MOVDS,AX;
→DS
LEAAX,CS:
MIR5p;
中断服务入口地址偏移量→AX
MOVDS:
[00D4H],AX;
→[00D4H]
MOVAX,CS;
中断服务入口地址段值→AX
[00D6H],AX;
→[00D6H]
POPDS;
恢复DS
INAL,21H;
读取当前中断屏蔽寄存器
ANDAL,0DFH;
将D5置为0
OUT21H,AL;
写回中断屏蔽寄存器
STI
8255初始化:
A组、B组均为0方式输入,PC0~PC3输出,PC4~PC7输入。
(8255片选端连接地址200H)
PPORT=200H
…
MOVAL,10011010B
OUTPPORT+3,AL
MOVAL,1;
1→PC0
按钮按下检测:
读取判断PC7
press0:
INAL,PPORT+2
TESTAL,80H
JNZpress0
press1:
INAL,PPORT+2
JZpress1
8253初始化:
通道2,0方式,输入1MHz,初始值25000。
TIMER=210H
MOVAL,10110000B
OUTTIMER+3,AL
MOVAX,25000
OUTTIMER+2,AL
中断服务:
输出向PC0输出负脉冲。
IRQ5ProPROCFAR
CLI
PUSHAX
MOVAL,0
OUTTIMER+3,AL
…;
可加入延时
MOVAL,1
OUTPPORT+3,AL
MOVAL,20H
OUT20H,AL
POPAX
STI
IRET
IRQ5ProENDP
6.电话忙音的频率是450Hz,通断比是350:
350ms。
通过TPC-386EX实验台资源设计一个忙音信号发生器。
方波实现方案之一:
过定时中断控制PC0输出忙音。
通过8253产生900Hz分频(通道1,3方式,1Mhz/900),定时器输出连接中断。
在中断服务程序对一个变量(Tick)进行二次计数,实现350ms的计数值是315,700ms一个周期,采用模630计数。
计数值小于315时反向PC0。
主程序:
-----------初始化定时器1为2方式
MOVDX,TIMER+3
MOVAL,01110100B
OUTDX,AL
MOVDX,TIMER+1
MOVAX,1111;
输入1MHz,输出900Hz
MOVAL,AH
OUTDX,AL
------初始化8255,PA,PCH:
0输入,PB,PCL:
0方式输出
MOVAL,10011000B
MOVDX,PPORT+3
------设置中断向量
PUSHDS
XORAX,AX
MOVDS,AX
MIR5p
[00D4H],AX
MOVAX,CS
[00D6H],AX
POPDS
-------设置中断屏蔽寄存器
INAL,21H
ANDAL,0DFH
OUT21H,AL
STI;
打开中断
RTloop:
JMPRTloop;
死循环
中断服务程序
MIR5pPROCFAR
PUSHAX;
保存寄存器
PUSHDX
CLI;
INCtick
.IFtick>
=630
MOVtick,0
.ENDIF
.IFtick<
315
MOVAL,BYTEPTRtick
ANDAL,1
MOVDX,PPORT+3
OUTDX,AL
MOVAL,20H;
OCW2:
普通EOI命令
OUT20H,AL
STI;
开放中断
POPDX;
恢复寄存器
POPAX
IRET;
从中断服务返回
MIR5pENDP
7.基于TPC-386EX实验台设计一个串行接口信号发生器。
将拨动开关K0~K7连接到8255的一个端口,每当8个拨动开关中任一个开关状态发生变化,就从串行接口发出当前K0~K7的状态字节。
串行接口参数是9600bps、8个数据位、1个停止位、无校验。
画出流程图,并写出汇编代码。
实现方案:
8255_CS接200H。
初始化8255,PB端口为0方式输入。
连接K0~K7之PB0~PB7;
16550_CS接210H。
初始化16550,9600/N/8/1;
进入主程序,循环读取PB并存储,当PB发生变化进入发送流程;
发送流程:
检测直到发送保持寄存器空,将数据写到16550发送数据寄存器;
发送后延时,以避免拨动开关抖动。
UART=210H
DATASEGMENT
keyBYTE0
DATAENDS
-------------------16550串口初始化
MOVDX,UART+3;
80H→LCR
MOVAL,80H
MOVDX,UART;
12→波特率因子锁存器
MOVAL,12;
9600bps
OUTDX,al
MOVDX,UART+1
MOVAL,0
OUTDX,AL
03→LCR
MOVAL,03H;
8位数据/1位停止位/无校验
MOVDX,UART+1;
0→IER
MOVAL,0;
关中断
---------------初始化8255,PB为0方式输入
MOVDX,PPORT+3
MOVAL,10001011B
MOVDX,PPORT+1
INAL,DX
MOVkey,AL
mloop:
MOVDX,PPORT+1;
读取开关状态
.IFAL!
=key
MOVkey,AL
.REPEAT;
检测知道THR空
MOVDX,UART+5
INAL,DX
ANDAL,20H
.UNTILAL!
=0
MOVDX,UART;
发送数据字节
MOVAL,key
.ENDIF
MOVCX,50000;
循环延时
.REPEAT
.UNTILCXZ
JMPmloop
课堂练习3
1.USB协议定义的IN和OUT令牌包的作用是什么?
其包格式是什么样的?
其中的各个字段的作用是什么?
USB的IN和OUT令牌包是由主机发送到设备的。
IN令牌的作用是要求指定设备发送指定端点的数据到主机,OUT令牌的作用是主机通知指定设备要发送数据到它的指定端点。
IN和OUT令牌的格式是一样的:
ADDR
ENDP
其中:
Sync:
同步字,8位,00000001;
PID:
信息包标志,8位,低4位是标志编码,高4位是低4位反码;
ADDR:
设备地址,7位;
ENDP:
端点地址,4位;
CRC5:
循环冗余校验码,5位;
EOP:
包结束标志信号。
2.USB协议采用了什么差错控方法来保证传输的安全性?
为了实现信息传输安全,信息包中采用CRC校验,接收方根据CRC信息验证信息的正确性。
当接收方检测错误信息包,通过回送NAK握手包要求发送方重传;
信息包的PID字段是USB信息包的最关键信息,采用重复冗余传输防止PID信息传输错误;
数据包传输中顺序使用DATA0、DATA1、DATA2,以避免包丢失。
3.在TPC-386EX实验台产生一个固定延时、任意脉宽的负脉冲信号。
要求程序运行后指定信号输出端为1,按下按钮,待按钮释放开始延时10ms后输出端输出一个负脉冲,宽度不限。
设计实现方案,并画出流程图。
采用定时器5方式,按钮输出接到GATE端,OUT即要求的输出信号。
定时器输入接1MHz时钟,分频初值10000。
…
;
采用定时器2通道
MOVAL,10111010B
OUTTIMER+3,AL
MOVAX,10000
OUTTIMER+2,AL
MOVAL,AH
Floop:
JMPFloop
4.通过TPC-386EX实验台设计一个音频信号数字延时器的实现方案。
要求采样频率为8K/s,延时时间50ms。
(定时器控制的AD+FIFO存储+DA)
通过定时器产生8K/s的周期性中断(8253的2或3方式),在中断服务程序操作AD和DA变换;
定义一个数据区,400字节,可以存储50ms的数字化音频数据。
按照FIFO规则访问;
中断服务中先读取AD数据,再启动AD的顺序操作。
5.在TPC-386EX实验台实现AD变换演示。
将电位器分压值(0~+5V)送AD变换器,将8255的一个端口的8位依次连接到8个发光二极管L0~L7。
AD变换器获得的值由小到大分为8个等份,分别点亮L0、L1、…L7。
实现方案:
初始化8255,将端口C设置为输出。
利用端口C的8位输出连接L0~L7;
主程序循环AD变换(启动AD—延时—读取AD值);
根据获得的AD变换数据的高3位,经过位移等操作变换成为针对端口C的置位/复位;
0→端口C(将全部发光二极管灭),置位命令→端口C(点亮指定发光二极管)
汇编程序代码:
PPORT=200H
ADCON=210H
begin:
MOVDX,PPORT+3
MOVAL,10000000B
OUTDX,AL
MOVAL,0;
PC输出0
DECDX
MOVDX,ADCON;
启动变换
MOVCX,1000;
延时等待
delay1:
NOP
LOOPdelay1
MOVDX,ADCON+1;
读取结果
SHRAL,1;
右移4位
SHRAL,1
SHRAL,1
ANDAL,0EH;
高4位置0
ORAL,1;
0000D7D6D51
MOVAH,AL
MOVDX,PPORT+2;
向PC输出0
MOVAL,0
INCDX;
送置位/复位命令
JMPmloop
6.通过TPC-386EX实验台设计一个按钮启动的方波信号发生器,程序运行后信号输出端无输出,通过按钮启动800Hz方波开始输出,再次按动按钮停止输出。
设计电路连接并写出代码。
设计方案:
将按钮(PLUS1,正脉冲)连接到8255(PC7);
使用一个定时器,3方式。
输入(CLK2)连接1MHz,门控(GATE2)接+5V,输出(OUT2)即为要求的信号输出;
主程序初始化定时器和8255后,循环检测按钮状态,当按钮按下,启动或停止8253分频输出。
电路连接图:
程序流程图:
汇编程序代码(部分):
TIMER=200H;
8254
PPORT=210H;
8255
----------数据段
stateBYTE0
----------代码段
MOVAL,10011011B
OUTPPORT+3,AL
INAL,PPORT+2
JNZmloop
kpress:
JZkpress
INCstate
TESTstate,1
JZfstop
MOVAL,10110110B
MOVAX,1250
OUTTIMER+2,AL
JMPmloop
fstop:
MOVAL,10110110B
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课堂 综合 练习 参考答案
![提示](https://static.bingdoc.com/images/bang_tan.gif)