五、简单应用题(共15分)
得分
评阅人
下面是一个8253初始化程序段。8253的控制口地址为46H,3个计数器端口地址分别为40H,42H,44H,在8253初始化前,先将8259A的所有中断进行屏蔽,8259A的奇地址端口为81H,请在下面程序段的分号(;)后面加详细注释,并以十进制数表
示出各计数初值。
CLI;关中断……(1分)
MOVAL,0FFH
OUT81H,AL;屏蔽8259A所有中断……(1分)
MOVAL,36H
OUT46H,AL;8253控制字:CNT0,先读/写低8位,
后读/写高8位,方式3,二进制计数……(3分)MOVAL,0
OUT40H,AL;CNT0输出低8位计数值……(1分)
MOVAL,40H
OUT40H,AL;CNT0输出高8位计数值,其十进制数为16384……(1分)
MOVAL,54H
OUT46H,AL;8253控制字:CNT1,读/写计数器低8位,
方式2,二进制计数……(3分)MOVAL,18H
OUT42H,AL;CNT1输出计数值,其十进制数为24……(1分)
MOVAL,0A6H
OUT46H,AL;8253控制字:CNT2,读/写计数器高8位
方式3,二进制计数……(3分)MOVAL,46H
OUT44H,AL;CNT2输出高8位计数值……(1分)
第4页共6页
六、综合应用题(共25分)
得分
评阅人
已知电路图如下图所示。图中数码管为共阳极类型,数码管的阴极a,b,c,d,e,f,g,Dp依次接至8255的PA0,PA1,…,PA7。
回答问题:
1)若要数码管的a段发光,则应从8255的PA0输出高电平还是低电平?(2分)答:低电平
2)若要数码管显示数字0,则应从8255的PA口送出字形码为多少?(2分)答:C0H
3)写出8255的PA口和PC口的地址。(2分)答:PA口地址:220H,PC口的地址:222H
4)根据电路图,写出从8255的PA口送出字形码的有关指令。(2分)答:MOVDX,220H
MOVAL,8位字形码OUTDX,AL5)8255的PC口在电路中的作用是什么?(2分)
答:输入缓冲
第5页共6页
6)根据电路图及下表要求,编写完整的根据从开关读入的编码在数码管上显示相应数字的程序(包括在数据段中定义字形码的内容)。(15分)
参考程序:
STACKSEGMENTSTACH
DW100DUP(?)
STACKENDS
DATASEGMENTX1DBDATAENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATA,SS:STACK
MAINPROCFAR
PUSHDSSUBAX,AXPUSHAXMOVAX,DATAMOVDS,AXMOVBX,OFFSETX1MOVAL,10001011B;8255工作在方式0,PA输出,PC输入MOVDX,223HOUTDX,AL
NEXT:MOVDX,222H
INAL,DXANDAL,7;屏蔽掉PC口读入的高5位XLATMOVDX,220HOUTDX,ALJMPNEXT
MAINENDPCODEENDS
ENDMAIN
第6页共6页