P0口的位结构可知,MCS—51单片机在进行外部寻址时,P0口的8根引线是低8位地址和8位数据的复用线。P0口首先将低8位的地址发送出去,然后再传送数据,因此要用锁存器将先送出的低8位地址锁存。而P2口输出的是地址或P2.x的状态,是地址还是P2.x的状态由其内部自动控制,执行指令MOVX A,@DPTR或者指令MOVX @DPTR, A时,P2口输出的是高8位地址;其他情况下,P2口输出的是P2.x的状态。所以,MCS—51单片机扩展系统中,P0口要接一个8位的锁存器,而P2口却不接。 四、判断题(9小题,共9.0分) (1分)[1](1分)[2](1分)[3] (1分)[4](1分)[5](1分)[6](1分)[7]√(1分)[8] (1分)[9] 五、阅读并分析程序(根据各题具体要求填写答案)(3小题,共13.0分) (4分)[1]ADD A#0F4H ↓ JB OV, GOE??;无溢出,不转移 ↓ JNB ACC.7,GOP;ACC.7=1,不转移 ↓ CPL A ↓ INCA ↓ SETB 20H.0 ↓? RET GOP:CLR 20H.0 ?RET GOE:MOV A,#0FFH ?RETZ 程序执行后:A=02H、20H.0=1 (7分)[2] (2000H)=30H (2001H)=31H (2002H)=32H ? (2009H)=39H (2分)[3]40H)=5EH、(41H)=69H 练习题四	题目部分,(卷面共有30题,100.0分,各大题标有题量和总分) 一、单项选择题(7小题,共14.0分) (2分)[1]/输出方式是( ) A、中断 ??????B、条件传送????? ?C、DMA???? ?D、无条件传送 (2分)[2] A、设置中断响应方式 ?????????????B、设置外中断允许 C、设置中断总允许?????????????? ?D、设置中断方式 (2分)[3] INT0引脚上的一个正脉冲宽度,那么特殊功能寄存器TMOD的内容应为(?? ?) A、87H? ???B、09H? ???C、00H? ???D、80H (2分)[4] 8255A 的A1 , A0 分别与 80C51 的P0.1 、 P0.0 连接,则8255A 的A、B、C口和控制寄存器的地址可能是 A、XX00H~XX03H???? ??????????B、00XXH~!03XXH C、0XXXH~3XXXH ?????????????D、X00XH~X03XH (2分)[5] INTEL2732 ( 4KX8 ) 除应使用 P0 口的 8 条口线外,至少还应使用 P2 口的口线 A、 5 条???????? ? B、 6 条????????????? C、 7 条????????????? ?D、 8 条(2分)[6] MCS51有中断源( ) A、6个???B、2个????C、3个? ???D、5个(2分)[7] T1时,有几种工作模式( ???) A、1种? ???B、2种?????C、3种?? ??D、4种二、计算题(1小题,共3.0分) (3分)[1] 32KB RAM2000H,则末地址为多少? 三、填空题(8小题,共14.0分) (1分)[1] A ) =0CFH ,执行指令: SWAP A 后,累加器 A 的内容为(??????? )。 (3分)[2] RAM 使用(??????? )指令,访问外部 RAM 使用(??????? )指令,访问内部 ROM 使用( 0 指令,访问外部 ROM 使用(??????? )指令 (2分)[3] MCS-51中,PC和DPTR都用于提供地址,但PC是为访问( ????????)存储器提供地址,而DPTR是为访问( ????????)存储器提供地址。 (3分)[4] PSW ) =00H ,因此内部 RAM 寄存器区的当前寄存器是第(???????? )组, 8 个寄存器的单元地址为(???????? ) ~ (???????? )。 (1分)[5] ????? )端提供信号。 (1分)[6] I/O?(????? )类。 (1分)[7] fose=8MHz,则执行一条MUL AB 指令所需时间为(???? )μs。 (2分)[8] MCS-51ROM的机型是?(??????? ),有4KB ROM的机型是(??????? ),而有4KB EPROM的机型是(??????? )。 四、问答题(6小题,共36.0分) (8分)[1] (4分)[2] 51单片机正在工作? (6分)[3] ?有什么操作原则?栈顶地址如何指示? (6分)[4] CPU (6分)[5] MCS-51 (6分)[6] 五、多项选择题(1小题,共3.0分) (3分)[1] DIV AB指令的执行结果,下列说法正确的是(? ) A、商在A中?? ???B、余数在B中??? ?????C、商在B中??? D、余数在A中??? E、如果除数为0,则溢出标志位置1。 六、编程题(3小题,共26.0分) (12分)[1] i,I=1~100。 (6分)[2] RAM的30H~50H单元中是否有0AAH这一数据。若有,则将51H单元置为“01H”;若未找到,则将51H单元置为“00H”。 (8分)[3] Y值, Y= 2X2+ 3X +1, X为0~9中的整数。 七、判断题(4小题,共4.0分) (1分)[1] -29的8位补码表示(?? ) (1分)[2] MCS-5118MHz.???? ( ???) (1分)[3] SCON(地址是98H)是可按位寻址的控制寄存器。( ??) (1分)[4] MCS-51系统中,PUSH、POP动作每次仅处理一个字节。 答案部分,(卷面共有30题,100.0分,各大题标有题量和总分) 一、单项选择题(7小题,共14.0分) (2分)[1]C (2分)[2]A (2分)[3](2分)[4]A (2分)[5]A (2分)[6](2分)[7] 二、计算题(1小题,共3.0分) (3分)[1]9FFFH 三、填空题(8小题,共14.0分) (1分)[1]5CH (3分)[2] MOV MOVX , MOVC , MOVC (2分)[3](3分)[4]0 ,00H ,07H (1分)[5](1分)[6]3(1分)[7]6(2分)[88751; 四、问答题(6小题,共36.0分) (8分)[1] 循环初始化程序段位于循环程序开头,用于完成循环前的准备工作。例如给循环体中循环计数器和各工作寄存器设置初值,其中循环计数器用于控制循环次数。 (二)循环工作部分 这部分位于循环体内,是循环程序的主体,需要重复执行的程序段。要求编程时尽可能简练,以缩短程序执行的时间。 (三)循环控制部分 循环控制部分也在循环体内。常常由循环计数器修改和条件转移语句组成,用于控制循环执行的次数。 (四)循环终止部分 这部分程序用于存放执行循环程序的结果,并判断是否满足结束条件,若不满足则转去继续执行循环工作部分,满足则退出循环。 (4分)[2]ALE引脚是否有正脉冲输出。 (6分)[3]