资源描述
目录
《微机原理与接口技术》第一章作业 2
一、书上 P22 作业题 2、3、7 2
《微机原理与接口技术》第二章作业 2
一、书上 P59 作业题 2、5、 6、9、14 2
《微机原理与接口技术》第三章作业 3
一、书上 P95 作业题 4、5、6、7、10、11、12、13、14、15、16、 17、18、22、 27
.................................................................................................................................................. 4
《微机原理与接口技术》第四章作业 8
一、课本 P155 8、12、13、14 8
《微机原理与接口技术》第五章作业 10
一、作业 P180 2、5、7、8、9、 10 11
《微机原理与接口技术》第六章作业 13
一、 P207: 1,3, 5, 10, 14。18, 19, 20 13
《微机原理与接口技术》第七章作业 (一) 17
一、 P268: 3, 6 , 7, 10 , 11 , 12 17
《微机原理与接口技术》第七章作业 (二) 20
一、 P268: 15 , 16 , 19, 21, 25 20
《微机原理与接口技术》第八章作业 24
一、 P292 6 、7 24
《微机原理与接口技术》第一章作业
一、书上 P22 作业题 2、3 、7
2. 完毕下列数制之间转换。
( 1) 01011100B=92D
( 3) 135D=10000111B
( 5) 10110010B=262Q=B2H
3. 组合型 BCD码和非组合型 BCD码有什么区别?写出十进制数 254 组合型 BCD数和非组合型 BCD数。
答:组合型 BCD码储存格式用一种字节存储 2 位 BCD码,高 4 位表达十进制十位数, 低 4 位表达十进制个位数,数值表达范畴为 0~99;非组合型储存格式是用一种字节低 4 位存储 1 位 BCD码,高四位可觉得 0 或任意数,数值表达范畴为 0~9。
254D 组合型 BCD码:
254D非组合型 BCD码: 00000010 00000101 00000100
7. 计算机中为什么采用补码形式储存数据?当计算机字长 n=16 时,补码数据表达范畴是多少?
答:是为了便于进行加减运算,简化机器硬件构造。当 n=16 时,补码表达数值范畴是+32767~-32768 。
《微机原理与接口技术》第二章作业
一、书上 P59 作业题 2 、5 、6 、 9 、14 2、8086 标志寄存器包括哪些状态标志位 ?试阐明各状态标志位作用 .
答: 6 个状态标志位:
CF(Carry Flag) ——进位标志位。 当执行一种加法 ( 或减法 ) 运算,使最高位产生进位 ( 或借位 ) 时, CF为 1;否则为 0。
PF(Parity Flag) ——奇偶标志位。 该标志位反映运算成果中 1 个数是偶数还是奇数。
当指令执行成果低 8 位中具有偶数个 1 时, PF=1;否则 PF=0。
AF(Auxiliary carry Flag) ——辅助进位标志位。当执行一种加法 ( 或减法 ) 运算,使成果低 4 位向高 4 位有进位 ( 或借位 ) 时, AF=1;否则 AF=0。
ZF(Zero Flag) ——零标志位。若当前运算成果为零, ZF=1;否则 ZF=0。SF(Sign Flag) ——符号标志位。它和运算成果最高位相似。
OF(Overflow Flag) ——溢出标志位。当补码运算有溢出时, OF=1;否则 OF=0。
3 个控制标志位:
DF(Direction Flag) ——方向标志位。 它用以指定字符串解决时方向, 当该位置 “ 1” 时,字符串以递减顺序解决,即地址以从高到低顺序递减。反之,则以递增顺序解决。
IF(Interrupt enable Flag) ——中断容许标志位。它用来控制 8086 与否容许接受外部中断祈求。若 IF=1 , 8086 能响应外部中断,反之则不响应外部中断。
TF(Trap Flag) ——跟踪标志位。它是为调试程序而设定陷阱控制位。当该位置“ 1” 时, 8086 CPU 处在单步状态,此时 CPU每执行完一条指令就自动产生一次内部中断。当该
位复位后, CPU恢复正常工作。
5、逻辑地址与物理地址有什么区别?如何将逻辑地址转换为物理地址?
答:物理地址是真实存在唯一地址, 指是存储器中各个单元单元号; 逻辑地址是思维性表达,由段地址和偏移地址联合表达地址类型叫逻辑地址。物理地址 =段地址× 10H
+偏移地址。
6、写出下列逻辑地址段基址、偏移地址和物理地址。
(1) 2314H: 0035H ( 2) 1FD0H:000AH
答:( 1)段基址: 2314H
偏移地址: 0035H
物理地址: 23175H。
( 2)段基址: 1FD0H
偏移地址: 000AH
物理地址: 1FD0AH。
9、设一种 16 字数据区,它起始地址为 70A0H:DDF6H(段基址:偏移地址) ,求这个数据区首字单元和末字单元物理地址。
答:首字: 70A0*10H+DDF6H=7E7F6H
末字: 7E7F6H+( 16-1 ) *2=7E814H。
14、80486CPU存储器最大可寻址空间是多少?虚拟存储空间是多少?两者有何区别?
答:最大可寻址空间是 4GB,虚拟存储空间是 64TB。可寻址空间是实地址,虚拟存储空间是外部存储管理器。
《微机原理与接口技术》第三章作业
一、书上 P95 作业题 4 、5 、6、7、10 、11 、12 、13 、14 、15 、16 、17 、18 、22 、27
4、指出下列指令中源操作数和目的操作数寻址方式。
(1) MOV BX,1000H源操作数:及时寻址;目的操作数:寄存器寻址
(2) MOV AL,[BX] 源操作数:寄存器间接寻址;目的操作数:寄存器寻址
(3) MOV CX,[BP+10H] 源操作数:寄存器相对寻址;目的操作数:寄存器寻址
(4) MOV AL,ES:[BX+SI] 源操作数:基址加变址寻址;目的操作数:寄存器寻址
(5) MOV [DI+1000H],BX 源操作数:寄存器寻址;目的操作数:寄存器相对寻址
(6) MOV [1000H],CX 源操作数:寄存器寻址;目的操作数:直接寻址
(7) MOV AL,[BX+DI+1234H] 源操作数:寄存器相对寻址;目的操作数:寄存器寻址
(8) MOV AL,1000H[BX+SI] 源操作数:寄存器相对寻址;目的操作数:寄存器寻址
(9) MOV [EBX+ESI+H],DX 源操作数:寄存器寻址;目的操作数:带位移基址加变址寻址
(10) MOV AX,0100H[EBX+ESI*4] 源操作数:基址加比例变址寻址;目的操作数:寄存器寻址
5、设( DS)=H、( ES)=2100H、( SS)=1500H、( BX)=0100H、(BP)=0040H、( SI )=00A0H、
(DI ) =0120H,在指令 MOVAX, src 中,求用下列表达源操作数 src 有效地址 EA和物理地址 PA各是多少?
(1) 100H[BX] EA=(100H+0100H)=0200H ; PA=*10H+0200H=0H
(2) ES:[BX+DI] EA=0100H+0120H=0220H ; PA=2100*10H+0220H=21220H
(3) [BP] EA=0040H ; PA=1500*10H+0040H=15040H
(4) ES:[BX+10H] EA=0100H+0010H=0110H ; PA=21000H+0110H=21110H (5) [BP+SI] EA=0040H+00A0H=00E0H ; PA=1500*10H+OOEOH=150E0H (6) [1000H] EA=1000H ; PA=*10H+1000H=21000H
(7) ES:[DI] EA=0120H ; PA=2100*10H+0120H=21120H
(8) 1050H[BX+SI] EA=1050H+0100H+00A0H=11F0H ; PA=*10H+11F0H=211F0H
(9) DS:10C0H[BP+SI] EA=10C0H+0040H+00A0H=11A0H ; PA=*10H+11A0H=211A0H (10) [BX+DI] EA=0100H+0120H=0220H ; PA=*10H+0220H=20220H
6、指出下列指令中错误,并改正。
(1) MOV BL, 30A0H 操作数不匹配改: MOV BX, 30A0H
(2) MOV 0010H,AL及时数不可以作为目的操作数改: MOV AX, 0010H
(3) XCHG AL,BX操作数类型不匹配改: XCHG AX,BX
(4) MOV [AX],3456H 及时数送入存储器需要阐明改: MOV WORDPTR [AX],3456H
(5) PUSH AL堆栈以字为操作单元改: PUSH AX
(6) POP CS POP不可以用 CS为目的操作数改: POP AX
(7) MOV DS, 1000H 及时数不能直接送入段寄存器改: MOV AX, 1000H MOV DS, AX
(8) MOV [BX],[1000H] 存储器不可以互相传送改: MOV AX, [1000H] MOV [BX] , AX
(9) LDS ( BX), [1000H]LDS 使用时期目的为 16 位通用寄存器改: LDS BX, [1000H]
(10) LEA BX, CX LEA 源操作数为存储器改: LEA BX, [CX]
7、已知( AX) =4A0BH,[1020H] 单元中内容为 260FH,写出下列每条指令单独执行后成果。
(1) MOV AX, 1020H ; ( AX) =1020H
(2) XCHG AX,[1020H] ; ( AX) =260FH
(3) MOV AX, [1020H] ; ( AX) =260FH
(4) LEA AX, [1020H] ; ( AX) =1020H
10、设一种堆栈段共有 100H 个字节单元,堆栈起始地址为 1250H:0000H ,若在堆栈中存有 5 个字数据,问:
(1)栈顶物理地址多少? 栈底: 12600H
(2)栈底物理地址是多少? 栈顶: 12600-A=125F6H
(3)当前 SS和 SP内容是多少? SS: [1250H:0000H ]
SP:[1250H:00F6H ]
(4)若弹出两个数据, SP 内容是多少? SP: [1250H:00FAH ]
11、编程完毕下列程序段,依照运算成果置标志位 OF、SF、ZF、AF、PF、CF,并分析程序执行成果与否对的?为什么?(设字长 n=8)
(1) 30+64
(2) 122-64
(3) 96+52
(4) -68+ ( -72 )
答:( 1) MOV AL , 30
MOV BL, 64 ADD AL, BL
成果: 0101111O F=0 SF=0 ZF=0 AF=0 PF=1 CF=0
(2) MOV AL , 122
MOV BL, 64 SUB AL, BL
成果: 00111010 OF=0 SF=0 ZF=0 AF=0 PF=1 CF=0
(3) MOV AL , 96
MOV BL, 52 ADD AL, BL
成果: 10010100 F=0 SF=0 ZF=0 AF=0 PF=1 CF=0
(4) MOV AL , -68
MOV BL, -72 ADD AL, BL
成果: 01110100 OF=1 SF=0 ZF=0 AF=1 PF=1 CF=1
17 、判断下列指令格式对与错,并解释错在哪里。
(1) ADD 25H, AX (×)目的操作数不可觉得及时数
(2) INC BX, 1 (×) INC 只有目的操作数
(3) MUL AL, BL (×)乘法指令目的操作数是隐含
(4) SUBB AL, 3 (×)减法指令是 SUB
(5) DAA AL (×) DAA后无操作数
(6) NEG CX, 0 (×) NEG后只有目的操作数
(7) CMP [BX],1000H[BX+SI] (√)
18、设( AL) =10010010B,将 AL 内容算术右移 2 位, AL 内容和 CF 是多少?再将 AL 内容逻辑右移 2 位, AL 内容和 CF是多少?
算术右移 2 位
AL:11100100
CF:1
逻辑右移 2 位
AL:00100100
CF:1
22、写出下列程序段执行后成果。MOV CL, 4
MOV AL, 87
MOV DL, AL AND AL, 0FH OR AL, 30H SHR DL, CL OR DL, 30H
(AL) =37H,( DL) = 35H
27、试用 CMP指令和条件转移指令实现下列判断
(1) AX 和 CX中内容为无符号数:
若( AX) >( CX)则转至 BIGGER符号执行; 若( AX) <( CX)则转至 LESS符号执行。
CMP AX, CX JA BIGGER JB LESS
(2) BX 和 DX中内容为无符号数:
若( BX) >( DX)则转至 BIGGER符号执行; 若( BX) <( DX)则转至 LESS符号执行。
CMP BX, DX JG BIGGER JL LESS
《微机原理与接口技术》第四章作业
一、课本 P155 8 、12 、13 、14
8、按下列规定写出段定义格式。
(1)数据段位置从 0E000H开始,在该段中定义
5 个字节数据, 3 个字数据, 2
双字数据,规定字节数据从偏移地址
据从偏移地址 0020H 开始。
0000H 开始,字数据从偏移地址
0010H 开始,双字数
(2)堆栈段定义 100 个字节
(3)代码段开始位置给关于段寄存器赋值,在程序结束时可以返回
DOS。
DATA SEGMENT
ORG 0000H
D1 DB 00H,01H,02H,03H,04H
ORG 0010H
D2 DW 0000H,0010H,0020H
ORG 0020H
D3 DD 3 DUP(?)
DATA ENDS
STACK SEGMENT STACK
DB 100 DUP(?)
STACK ENDS
CODE SEGMENT CODE ASSUME C:S CODE, DS: DATA
START:,,
MOV AH,4CH INT 21H CODE ENDS ENDS START
12、定义数据段如下,画出数据存储示意图,并阐明变量 X1 和 X2 所相应逻辑地址各是多少?
DATA SEGMENT AT 10A0H ORG 0010H
X1 DB 22 , 33, ORG $+ 0020H
X2 DB ‘AB12CD’
DATA ENDS
X1 逻辑地址: 10A0H: 0010H X2 逻辑地址: 10A0H: 0032H
10A00H
10A10H
10A32H
. . . 16H
21H
,41H
42H
31H
32H
43H
44H
13、定义数据段如下,写出执行如下指令后成果。
DATA SEGMENT
DA1 DA2
DA3
DW
DB
DD
2437H
‘ABCD’
10
, 14A2H
DUP
(?)
DATA ENDS
(1) MOV
(2) MOV
(3) MOV
BX, DA1
SI , OFFSET
AL,
TYPE
DA1
DA1
(4) MOV AL, [DA2+02H]
(5) MOV AL, LENGTH DA3
(6) MOV AL, SIZE
DA3
;( BX) =2437H
;( SI ) =0000H
;( AL) =2
;( AL) =‘ C’ =43H
;( AL) =10
;( AL) =10
14、程序中数据段定义数据如下: DATA SEGMENT
NAMES DB‘ GOOD MORNIN!G’
DW 2050H, 78H, 3080H DATA
ENDS
请指出下列指令序列执行后累加器中成果是多少?
(1) MOV BX, OFFSET NAMES MOV AL, [BX+03H]
(2) MOV BX, 12
MOV SI , 3
MOV AX, NAMES[BX+SI]
(3) MOV BX, 12
MOV SI , 3
LEA AX, NAMES[BX+SI]
答:( 1) 44H
( 2) 78H
( 3) 0FH
《微机原理与接口技术》第五章作业
一、作业 P180 2 、5 、7、8、9 、10
2、半导体储存器重要性能指标有哪些?
1、存储容量
2 、存取速度
3 、可靠性
4 、功耗
5、储存器芯片片选信号产生有哪几种办法?各有什么特点?
1、线选法: 用除片内寻址外高位地址线不通过译码, 直接分别接至各个存储芯片片选端来区别各芯片地址
长处:连接简朴,无需专门译码电路
缺陷:不能充分运用系统存储器空间,地址空间挥霍大。
2 、某些译码法:只对高位地址线中某几位地址经译码器译码长处:高位地址某些地址线通过译码产生片选信号。缺陷:存在地址重叠现象。
3 、全译码法:存储芯片内寻址以外系统所有高位地址线都参加译码产生片选信号。 、长处:芯片地址范畴不但是唯一拟定,并且是持续。
缺陷:译码电路较复杂,连线也较多
7、若用 1024*1b RAM 芯片构成 16K*8b 存储器 , 需要多少芯片 ?在地址线中有多少位参加片内寻址 ?多少位用做芯片组选取信号 ?(设系统地址总线为 16 位 ) 1024K*1b=1K*1b
1K*8b/1K*1b=8
16K*8b/1K*8b=16
8*16=128
需要 128 片;
1024=2^10,需要 10 位参加片内寻址
16=2^4, 需要 4 位做芯片组选取信号
8、试用 4K*8b EPROM273和2 8K*8b SRAM6264,以及 74LS138 译码器 , 构成一种 8KB
ROM,32KB RAM存储系统 , 规定设计存储器扩展电路 , 并指出每片存储芯片地址范畴 .
9、用 EPROM2764和 SRAM6264各一片构成存储器,其地址范畴为 FC000~FFFFFH,试画出存储器与 CPU 连接图和片选信号译码电路( CPU 地址线 20 位,数据线 8 位)。
10、既有存储芯片 :2K*1b ROM和 4K*1b RAM,若用它们构成容量为 16KB 存储器 , 前
4KB 为 ROM,后 12KB 为 RAM,问各种存储芯片分别用多少片 ?
4K*8b/4K*1b=8
4K*1b/2K*1b=2
8*2=16
需要 16 片 2K*1b ROM
12K*8b/12K*1b=8
12K*1b/4K*1b=3
8*3=24
需要 24 片 4K*1b RAM
《微机原理与接口技术》第六章作业
一、P207: 1, 3 ,5 , 10 , 14 。18 , 19 , 20 1、什么叫中断 ?中断系统重要功能有哪些?
中断:是指 CPU在执行程序过程中,由于某种外部或内部事件作用,逼迫 CPU停止当前正在执行程序,转去为该事件服务,待事件服务结束后,能自动地返回到被中断程序中继续执行。
中断系统功能:
1 、设立中断源
2 、中断源辨认
3 、中断源判优
4 、中断与返回
3、CPU 响应中断时解决过程是什么?在各个解决环节重要完毕哪些操作? 过程是:中断祈求、中断响应、中断解决和中断返回。
(1)中断祈求:中断源需要进行中断服务时,由硬件产生一种中断信号 INTR 发 给 CPU 且
保持到 CPU 响应。
(2)中断响应: CPU 在当前指令执行结束后采样查询 INTR ,若中断祈求信号有效且容许响应 INTR 中断( IF=1 ),则向祈求设备送回低电平有效中断响应信号 INTR , 自此系统自动进入中断响应周期,并由硬件自动完毕内容入栈,清除 TF 和 IF 标志、断点入栈,取中断服务程序入口地址等一系列操作,继而转去执行中断服务程序。
(3)中断解决:执行中断主体某些。不同中断祈求源,其中断解决内容是不同。
需要依照中断祈求源所要完毕功能, 编写相应中断服务程序存入内存。 等待中断响应后调用执行。
(4)中断返回:又中断服务程序中中断返回指令 IRET 完毕。执行该指令时,将压入对
战断点和标志位弹出,使 CPU 转向被中断现行程序中继续执行。
5、中断容许标志 IF 作用是什么 ? 可以用什么指令对它置 1 或清 0。
IF 用来控制 INTR 和单步中断。 IF=1 容许中断 IF=0 不容许中断
STI : IF=1 CLI : IF=0
10、中断向量表用来存储什么内容?它占用多大存储空间?存储在内存哪个区域?可以用什么办法写入或者读取中断向量表内容?
中断向量表存储中断向量,即中断服务程序段基址 +偏移地址。
中断向量表占 1KB 内 存RAM区,地址范畴: 000H— 3FFH。写入办法: 1 、用传送指令直接装入
2 、DOS功能调用: INT 21H
(AH) =25H
读出办法:
(AL) =中断类型号
(DS: DX)=中断服务程序入口地址
1 、用传送指令直接读
2 、DOS功能调用: INT 21H
( AH) =35H
( AL) =中断类型号
出口参数:
( ES: BX)=中断服务程序入口地址
14、8259A 有哪几种中断结束方式 ? 它们适合应用在什么场合 ?
1 、自动结束方式
自动结束方式是运用中断响应信号 INTA 第二个负脉冲后沿将 ISR 中中断服务标志位清除, 是在中断过程中完毕, 并非中断服务程序真正结束。 只适适当用在无多级中断嵌套场合。
2 、普通结束方式
通过向 8259A 传送一种普通 EOI 命令来清除 ISR 中当前优先权级别最高位,适合使用在完全嵌套方式下中断结束。
3 、特殊结束方式通过向 8259A 传送一种普通 EOI 命令来清除 ISR 中指定位。 适合使用在完全嵌套方式下中断结束,更合用于嵌套构造有也许遭到破坏中断结束。
18、某系统使用一片 8259A 管理中断,中断祈求由 IR2 引人 ,采用电平触发、完全嵌套、普通 EOI 结束方式,中断类型号为 42H 端口地址为 80H 和 81H,试画出 8259A 与 CPU硬件连接图,井编写初始化程序。
初始化程序:
MOV AL,00011011B
;
电平触发、单片、写 ICW4
OUT 80H,AL ;
MOV AL,01000000B
;
写 ICW1
中断类型号 40H,则 IR2 为 42H
OUT 81H,AL ;
写 ICW2 MOVAL,00000001B ; 完全嵌套、非自动结束、 8086 模式
OUT 81H,AL ;
写 ICW4
19、某系统使用两片 8259A 管理中断,从片 INT 连接到主片 IR2 祈求输入端。设主片工作于边沿触发、特殊完全嵌套、非自动结束和非缓冲方式,中断类型号为 70H ,端口地址为 80H 和 81H ;从片工作与边沿触发、完全嵌套、非自动结束和非缓冲方式,中断类型
号为 40H ,端口地址为 20H 和 21H 。规定:
(1)画出主、从片级联图
(2)编写主、从片初始化程序
主片初始化程序:
MOV AL,00010001B
;
边沿触发、主片、写
ICW4
OUT 80H,AL ;
写 ICW1
MOV AL,01110000B
;
中断类型号 70H,则
IR2 为 42H
OUT 81H,AL ;
写 ICW2
MOV AL, 00000100
OUT 81H,AL ; 写 ICW3
MOV AL,00010001B ; 完全嵌套、非自动结束、 8086 模式
OUT 81H,AL ; 写 ICW4
从片初始化程序:
MOV AL,00010001B ; 边沿触发、从片、写 ICW4 OUT 20H,AL ; 写 ICW1
MOV AL,01000000B ; 中断类型号 40H,则 IR2 为 42H OUT 21H,AL ; 写 ICW2 MOV AL, 00000010
OUT 21H,AL ; 写 ICW3
MOV AL,00000001B ; 完全嵌套、非自动结束、 8086 模式
OUT 21H,AL ; 写 ICW4
20、某系统由 8259A IR2 引入外设中断祈求(跳变信号有效) ,规定当 CPU 响应 IR2 祈求时,输出显示字符串“ **** ”,并中断 10 次退出,试编写主程序和中断服务程序。
程序:
DATA SEGMENT
MESS DB '*****',OAH,ODH,'$' INTA00 EQU 0020H
INTA01 EQU 0021H DATA ENDS
STACK SEGMENT STACK DB 100H DUP (?)
STACK ENDS CODE SEGMENT
ASSUME CS: CODE, DS : DATA , SS :STACK
MAIN : MOV AX, DATA MOV DS, AX
MOV DX, INTA00 ;8259A 初始化
MOV AL , 13H ;写 ICW1 OUT DX , AL
MOV DX, INTA01
MOV AL , 08H ;写 ICW2 OUT DX , AL
MOV AL , 01H ;写 ICW4 OUT DX , AL
PUSH DS
MOV AX, SEG INT-P ;设立中断矢量
MOV DS, AX
MOV DX, OFFSET INT-P MOV AL , 0AH
MOV AH, 25H POP DS
MOV AL , 0FBH ;写中断屏蔽字 OCW1 OUT DX, AL MOV DX, INTA00
MOV AL , 20H ;写中断结束方式 OCW2 OUT DX, AL
MOV BX, 10
WAIT1:STI ;开中断
JMP WAIT1 ;等待中断
INT-P : MOV AX, DATA ;中断服务程序入口MOV DS, AX
MOV DX, OFFSET MESS;输出指定字符串MOV AH, 09H
INT 21H
MOV DX, INTA00 ;写 OCW,2 送中断结束命令 EOI MOV AL , 20H
OUT DX , AL
DEC BX ;控制 10 次循环
JNZ NEXT
MOV DX, INTA01 ;读屏蔽寄存器 IMR IN AL , DX
OR AL , 04H ;屏蔽 IR2 祈求
OUT DX , AL
STI ;开中断
MOV AX, 4C00H ;返回操作系统
INT 21H
NEXT : IRET ;中断返回
CODE: ENDS END MAIN
《微机原理与接口技术》第七章作业 (一)
一、P268: 3, 6 ,7,10 ,11 ,12
3、CPU与 IO 接口设备数据传送控制方式有哪几种?它们各有何特点?
(1)查询方式:不需要额外硬件支持,但由于 CPU与外设工作不同步,致使 CPU运用率低,合用于工作不太繁忙系统中。
(2)中断方式: CPU与外部设备并行工作
(3) DMA方式:数据传送过程中,由 DMA控制器参加工作,不需要 CPU干预,对批量数据传送效率高。
6、设 8255A A 口工作于方式 1 输出, B 口工作于方式 0 输入,试编写初始化程序(设端口地址为 40H~43H)
程序:
MOV DX ,43H MOV AL ,10100010 OUT DX,AL
7、使用 8255A 作为开关和 LED 批示灯电路接口 . 规定 8255A A 口连接 8 个开关,B 口连接 8 个 LED 批示灯,将 A 口开关状态读入,然后送至 B 口控制批示灯亮、灭。试画出接口电路设计图,并编写程序实现。
程序:
设 8255 地址: 0FFE0H~0FFE3H DATA SEGMENT
DB 100H DUP(?) DATA ENDS
CODE SEGMENT
ASSUME C:S CODE,DS DATA START : MOV AX,DATA
MOV DS,AX
MOV AL,10010000 ;A 口方式 0 输入 B 口方式 0 输出 MOV DX,0FFE3H OUT DX,AL MOV DX,0FFE0H
IN AL,DX ; 读取 A 口开关状态 INC DX NOT AL OUT DX,AL ; 输出 B 口驱动 LED ,开关闭合则 LED 亮 RET
CODE ENDS END START
10、运用 8254 通道 1,产生 500Hz 方波信号。设输入时钟频率 CKL1=2.5MHz,端口地址为 FFA0H~FFA3H,试编写初始化程序。
端口地址: FFA0H-FFA3H
计数器 1 控制字: 01110110B=76H 计数常数 =2.5M/500=5000
初始化程序:
MOV AL,76H MOV DX,0FFA3H OUT DX,AL
MOV AX,5000 MOV DX,0FFA1H OUT DX,AL
MOV AL,AH ; 写入计数器 1 低字节
OUT DX,AL ; 写入计数器 1 高字节
11、某系统使用 8254 通道 0 作为计数器,记满 1000,向 CPU 发中断祈求,试编写初始化程序(端口地址自设) 。
设 8254 端口地址: 40H-43H
计数器 0 控制字: 00110000B=30H 计数常数 =1000
初始化程序: MOV AL,30H OUT 43H,AL MOV AX,1000 OUT 40H,AL
MOV AL,AH ; 写入计数器 0 低字节
OUT 40H,AL ; 写入计数器 0 高字节
12、采用 8254 通道 0 产生周期为 10ms 方波信号,设输入时钟频率为 100kHz , 8254
端口地址为 38H-3BH, 试编写初始化程序。
8254 端口地址: 38H-3BH
计数器 0 控制字: 00110110B=36H 计数常数 =100K*10ms=1000
初始化程序: MOV AL,36H OUT 3BH,AL MOV AX,1000
OUT 38H,AL ; 写入计数器 0 低字节
MOV AL,AH
OUT 38H,AL ; 写入计数器 0 高字节
《微机原理与接口技术》第七章作业 (二)
一、P268: 15 ,16 ,19 , 21 , 25
15、什么是波特率?假设异步传播一帧信息由 1 为起始位, 7 位数据位、1 为校验位和 1
位停止位构成,传送波特率为 9600,则每秒钟能传播字符个数是多少?
波特率是指数据传送速率,含义是指每秒钟传二进制数位数,单位用 bps 或波特表达每秒可传送字符个数。
9600/(1+7+1+1)=960
16、一种异步串行发送器,发送字符格式为: 1 位起始位、7 位数据位、1 位奇偶校验位
和 2 位停止位,若每秒传送 100 个字符,则其波特率为多少?
100* ( 1+7+1+2) =1100bps
19、设某系统使用一片 8250 进行串行通信, 规定波特率为 2400 ,8 位数据位, 2 位停止位, 偶校验,对接受缓冲器满开中断,试编写初始化程序。
设 8250 端口地址: 3F8H-3FEH XTAL1=1.8432MHz, BAUD=2400
除数寄存器: 1.8432M/(2400*16)=48=30H 3F8H
线路控制寄存器: 10011111B=1FH 3FBH 中断容许寄存器: 00000001B=01H 3F9H 初始化程序:
MOV DX,3FBH MOV AL,80H
OUT DX,AL ; 置线路控制寄存器 DLAB=1 MOV AX,30H
OUT DX,AL INC DX
MOV AL,AH;除数寄存器低 8 位
OUT DX,AL MOV DX,3FBH MOV AL,1FH
OUT DX,AL;除数寄存器高 8 位
MOV DX,3FCH MOV AL,03H
OUT DX,AL ;MODEM
MOV DX,3F9H MOV AL,01H
OUT DX,AL ; 中断容许
21、设计一种应用系统,规定: 8255A A 口输入 8 个开关信息,并通过 8250 以串行方式循环,将开关信息发送出去。已知: 8255 端口地址为 100H-103H ,8250 输入基准时钟频率为 1.8432MHz ,传播波特率为 2400,数据长度为 8 位, 2 位停止位,奇校验、屏蔽所有中断,端口地址为 108H~10EH,采用查询方式传送。规定:
(1)设计该系统硬件连接电路(涉及地址译码电路) ;
(2)编写各芯片初始化程序
(3)编写完毕
展开阅读全文