1、微机原理练习题 一、填空题 1.80C51单片机内部 4 KB程序存储器,地址为 0000H 到 0FFFH 。 2.在基址加变址寻址方式中,以 A 作变址寄存器,以 DPTR 或PC作基址寄存器。 3.PSW是程序状态寄存器,其包括RS1、RS0位,这两个位的作用是: 确定工作寄存器组 。 4.设累加器(A)=7FH,(Cy)=0,则执行DA A指令后,(A)= 85H 。 5.汇编语言指令是由__操作码______和____操作数____两部分组成。 6.MCS-51单片机访问外部存储器时,利用 ALE
2、 信号锁存来自 P0 口的低8位地址信号。 7.MCS-51的定时/计数器可以有 4 种工作方式,编制程序时需要通过设定 TMOD 特殊功能寄存器的值设定T0和T1的工作方式,当T0需要工作在16位定时器方式,T1工作在8位自动重装方式时,该寄存器值为 21H 。 8.指令“MOV A,@R0”和“MOVX A,@R0”的区别是: 前一个内部数据存储器操作,后一个外部数据存储器操作 。 9.INT0中断和INT1中断的入口地址分别为 0003H 和 0013H 。假设软件设定INT0为低优先级别、INT1为高优先级别,当CP
3、U正在执行INT0中断时,发生了INT1中断请求,CPU应如何响应? 先中断INT0中断,先执行INT1中断。 。 10.MOV C,20H,源操作数的寻址方式为: 位寻址方式 。 11.假定累加器A的内容30H,执行指令: 1000H:MOVC A,@A+PC 后,把程序存储器 1031H 单元的内容送累加器A中。 二、程序填空、解释程序语句,并填写运行结果 1. PROG:MOV 40H,#3AH MOV A ,#08H ORL A,#0F0H ;
4、 将A的高4位置1 MOV 30H,A ANL A,#0F0H SWAP A ; A中的高4位与低4位交换 MOV 31H,A 当执行完以上指令后,填写下面的寄存器或地址中的值: 当执行完以上指令后,填写下面的寄存器或地址中的值: (A)= 0FH ;(40H)= 2AH ; (30H)= 0F8H ;(31H)= 0FH 。 2. 已知PSW=91H,(30H)=05H,(
5、31H)=09H (41H)=06H,(40H)=0AAH,试执行如下程序,写出执行结果。 ORG 1000H ; 确定以下程序从 1000H开始存放代码 MOV A,30H ADD A,40H DA A MOV 50H,A MOV A,31H ADD A,41H DA A ; 对A进行BCD码调整 MOV 51H,A LL: SJMP LL ; 进行死循环 (5
6、1H)= 15H ;(50H)= 15H ;(41H)= 06H ;(40H)= 0AAH 。 3. 若内部(61H)=0F2H,(62H)=0CCH ,: MOV A, 61H MOV B, #02H DIV AB ; A与B相乘 ADD A, 62H MOV 63H, A CLR A ; 清楚A的内容 ADDC
7、A, B MOV 64H, A (63H)= 45H ;(64H)= 01H ;(A)= 01H ; (B)= 00H 4. MOV R0,#DATA ; 把立即数DATA给R0 MOV A,@R0 RL A ; 累加器A循环左移一位 MOV R1,A RL A RL A ADD A,R1 MOV @R0,A ; (A)--((R0))
8、 1>该程序的功能是: ( 把DATA所指的存储单元内容乘以10); 2>若不使结果产生溢出,则运行前A的值应小于等于( 25 )。 5. MOV A,#04 MOV 50H,A MOV 51H,A MOV 52H,A MOV 53H,#80H MOV R6,#03H MOV R0,#50H MOV A,@R0 CLR C ; 清楚进位标志 AA: INC R0 ADDC A,@R0 ; 将(A)和((R0)) 及(C)相加 D
9、JNZ R6,AA ; 当第3次执行该指令时,(R6)= 0 RET 该程序的功能是: 将50H,51H,52H,53H四个单元的内容相加 当上面程序执行完成后,填写下面的寄存器或地址中的值: (A) 8CH ;(进位位C) 00H ;(R0) 53H ;(R6) 00H ; (50H) 04H ;(51H) 04H ;(52H) 04H ;(53H) 80H 。 三、简答题 1.试简述80C
10、51单片机的存储器组织。 (1)分为内部数据存储器、SFR、内部程序存储器,外部数据存储器(0000H-0FFFFH),外部程序存储器(和内部之和为64K)。 (2)内部数据存储器:地址为00H-7FH;4个工作寄存器组,每组个寄存器,由R0-R7表示; (3)位寻址区:20H-2FH(位地址00H-7FH)及SFR地址能被8整除的地址单元; (4)SFR地址为80H-0FFH,采用直接地址方式。 2.MCS-51的寻址方式有哪七种? 立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、基地址加变址寻址、相对寻址、位寻址。 3.80C51单片机具有多少个中断请求源?分多少
11、个优先级别?简述多源中断优先级管理和中断嵌套。 (1)8051共有5个中断源:INT0,T0,INT1,T1,SERIAL。中断能否响应由中断控制寄存器IE的设置来决定。 (2)有2个中断优先级,由IP寄存器的位来确定,当对应位设置为高电平时,对应的中断为高优先级,否则为低优先级,IP(-,-,-,PS,PT1,PX1,PT0,PX0) 中断优先级管理:(1)高优先级的中断可以中断低优先级的中断服务程序,从而可以实现中断嵌套;同级或低优先级的中断则不能;(2)同级的中断同时申请,按照INT0,T0,INT1,T1,SERIAL顺序先后响应。 4.设定时器1设成方式2,作为波特率发生
12、器,若系统时钟频率为12MHz,确定在串行方式1下可能产生的最高波特率与最低波特率。 串行方式1的波特率公式为: 定时器为自动重装载模式,(1)当C=0,SMOD=0时,得到最小波特率为:122.1bps; (2) 当C=255,SMOD=1时,得到最大波特率为:62.5Kbps; 四、编制程序 1. 编程求逻辑函数L的值,。式中,L,U,V,W,X,Y,Z均为位变量。 2. 设有100个有符号数,连续存放在以3000H为首地址的存储区中,试编程统计其中正数、负数、零的个数并分别存放在内部RAM30H、31H、32H单元中。 3. 从内部RAM30H单元开始,有1
13、0个单字节数据。试编一个程序,把其中的正数、负数分别送40H和50H开始的内部RAM单元。 4. 设单片机晶振频率FOSC=6MHz,使用定时器1以工作方式1产生周期为500mS的等宽方波,用中断方式实现编程,并在P1.7输出。 要求:(1)写出T1定时器的方式控制字,T1定时器初值计算; (2)试编写程序完成此功能。 1. MOV C,V ORL C,/W CPL C ANL C,U MOV L,C MOV C,W ANL C,/Y ORL C,Z CPL C ANL C,X ORL C,L MOV L
14、C 位寻址方式写程序(2分) ,第一部分(2分),第二部分(2分),程序完成性(4分) 2. MOV DPTR,#30000H MOV 30H,#00H MOV 31H,#00H MOV 32H,#00H MOV R2,#100 LOOP: MOVX A,@DPTR CJNE A,#00H,LOOP1 INC 32H SJMP LOOP3 LOOP1: JC LOOP2 INC 30H SJMP LOOP3 LOOP2: INC 31H LOOP3: INC DPTR DJNZ R2,LOOP END 评分标准;初始化2分,循环体5分,
15、程序完整性3分 3. MOV R0,#30H MOV R2,#10 MOV R4,#40H ;目标指针1 MOV R4,#50H ;目标指针2 LOOP: MOV A,@R0 JB ACC.7, LOOP2 ;为正数 MOV A,R4 MOV R1,A MOV A,@R0 MOV @R1,A INC R4 SJMP LOOP3 LOOP2: MOV A,R5 MOV R1,A MOV A,@R0 MOV @R1,A INC R5 LOOP3: DJNZ R2,LOOP END 评分标准;初始化2分,循环体5分,程序完整性3分 4. 5
16、00Ms= 25ms*20 TMOD=10H, Fosc=12MHZ, t=25ms, L=16,2L =216=65536 则定时常数TC=2L-foscxt/12=65536-(12x106x25x10-3)/12=65536-25000=40536=9E58H TCH=9EH,TCL=58H (2分) ORG 0000H LJMP START ORG 000BH MOV TH0,#0B1H MOV TL0,#0E0H DJNZ R7, TIM0_END CPL P1.0 MOV R7,#20 TIM0_END: RETI 中断服务程序得2分 START: MOV TMOD,#01H MOV TH0,#0B1H MOV TL0,#0E0H MOV R7,#20 CLR P1.0 SETB ET0 SETB EA SETB TR0 SJMP $ 初始化部分得2分,程序完善性及其他得4分






