1、一、填空题 1、MCS51 设置 4 组工作寄存器,每组中有 8 个工作寄存器。应通过 PSW 特殊功能寄存器 RS1 的 RS0 两位选择工作寄存器组。 2、MCS51 有 4 个 8 位并行 I/O 口,其信息读取有两种方法是: 读锁 存器和读引脚 3、在直接寻址方式中,只能使用 8 位二进制数作为直接地址,因此其 寻址对象只限于 内部 RAM 4、通常把 CPU 完成一个基本操作所需要的时间称为 机器 周期,执行 一条指令所需要的时间称为 指令 周期。 5、单片机的 端的功用是 外部程序存储器访问允许端 (低电平有效) EA ,8031 的 端应接到 低电平 。其原因是 8031 无片内
2、程序存 储器 。 6、在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作 数,而是操作数的 地址 。 (间接寻址的范围是内部数据 RAM 的寄存 器 RAM 采用寄存器 R0,R1 对低 128 位单元进行寻址 ;外部数据 RAM,R0,R1 提供低 8 位地址访问外部低 256 位字节,或采用 16 位的 DPTR 作为间接寄存器) 7、64KB 的 SRAM 存储器芯片需要 16 根地址线和 8 根数据 线。 *(地址总线的宽度为 16 位,低 8 位由 P0 口提供,高 8 位由 P2 口提供;数据 总线的宽度为 8 位,由 P0 口提供) 8、MCS51 可提供 程序
3、和 数据 两种存储器、最大存储空间 可达 64KB 的两个并行存储器扩展系统。 9、MCS51 单片机的中断系统有 5 个中断请求源。各中断源对应的入 口地址在 程序存储器空间的 0003H-0023H(每隔 8 个单元) 地址段内。 (外部中断 0,定时器 T0,外部中断 1,定时器 T1,串行口中断, 【定时器 T2】 。52 单片机有 6 个中断请求源) 10、MCS51 单片机定时/计数器的定时功能是通过对时钟脉冲源的 计数 来实现的。使用时,必须在编程时设定为 C/T=0 。 1、MCS51 单片机内部 RAM 的工作寄存器区共有 32 个单 元, 分为 4 组工作寄存器,每组 8
4、单元。 2、单片机系统复位后,内部 RAM 工作寄存器的当前工作寄存器是 第 0 组,8 个工作寄存器的单元地址是 00H 07H 。 3、MCS51 单片机位处理器的数据存储空间是由 专用寄存器 的可寻址位和内部 RAM 的位寻址区的 128 个位组成,其寻址范 围是 20H-2FH(答案不确定,也可能是 00H-7FH) 。 4、通常把 CPU 完成一个基本操作所需要的时间称为 机器 周期,执行一条指令所需要的时间称为 指令 周期。 5、(A) 56H,执行 ADD A,#38H 后 PSW 中的 OV 1 ,Cy 0 (当位 6 向位 7 进位,而位 7 不向 c 进位, OV=1;或者
5、位 6 不向位 7 进位,而为 7 向 c 进位,OV=1 ) 6、 (A)22H,(R0)=40H,(40H)=10H 执行指令 MOV A,R0 后(A) = 10H 。 7、RAM 6264 芯片的地址线为 A12A0 ,其存储容量为 8KB 。 (13 位 8KB,16 位 64KB) 8、MCS51 可提供 程序 和 数据 两种存储器、最 大存储空间可达 64KB 的两个并行存储器扩展系统。 9、51 系列单片机有 5 个中断源,默认优先级别最高的中断源 是 外部中断 (中断优先级寄存器 IP) 10、MCS51 单片机内部有 2 个定时 /计数器,组成它们的核 心部件为 计数器 。
6、 1、单片机也可称为 微控制器 或 嵌入式微控制器 。 2、单片机与普通计算机的不同之处在于其将 CPU 、 存储器 和 I/O 口 三部分集成于一块芯片上。 3、如果(A)=65H,(50H)= 50H,(R1)= 50H,执行指令 XCHD A, R1;结果为: (A) = 60 H ,(50H) = 55 H。 (数据交换指令:XCH:字节交 换指令 XCHD 进行操作数低 4 位的交换 SWAP 累加器 A 中的高 4 位与低 4 位的内容交换) 4、(A)56H,执行 ADD A,#38H 后 PSW 中的 OV 1 ,Cy 0 。 5、MCS-51 系列单片机为 8 位单片机。 6
7、、MCS51 有 4 个并行 I/O 口,在使用时 PO 口的低 8 位和 P2 口的高 8 位 作地址总线, P0 口 分时作数据总线 。 7、MCS-51 单片机有 二 级优先级中断 5 个中断源。 8、通常把 CPU 执行一条指令所需要的时间称为 指令 周期,把 CPU 完成一个基本操作所需要的时间称为 机器 周期。 9、MCS-51 系列单片机的典型芯片分别为 8031 、 8051 、 8751 。 10、MCS-51 系列单片机指令系统的寻址方式有 立即寻址 、 寄存器寻值 、 直接寻址 、 寄存器寻址 、 相对寻址、变址寻址、位寻址 。 11、74LS138 是具有 3 个输入的
8、译码器芯片,其输出作为片选信号时,最多可 以选中 8 片芯片。 12、利用 8255A 可以扩展 3 个并行口,其中 8 条口线具有 位操作功能。 13、若 MCS-51 外扩 32KB 数据存储器的首地址为 0000H,则末地址为 _7FFF_ H。 14、由 8031 组成的单片机系统在工作时, 引脚应该接 低电平 。EA 1. 128D= 10000000 B= 80 H。 (二进制后缀为 B,八进制后缀为 O,十进制后缀是 D,十六进制后缀是 H) 2. MCS-51 单片机片内 RAM 的通用工作寄存器共有 32 个,可分为_4 _组,用户可以通过指令改变 PSW 中的 RS0 和
9、RS1 两位来切换 当前的工作寄存器组。 3. 当单片机复位时,DPTR= 0000 H ,SP= 07 H。 4. 单片机存储器的主要功能是存储 程序 和 数据 。 5. AT89C51 单片机内部有 4 组并行 I/O 端口,可作地址/ 数据 复用总线的是 P0 口,进行输入操作前应先向端口 写“1” 。 6. 若(A)= 85H,(R0)=20H, (20H)=AFH,执行指令:ADD A,R0,结果 为: (A)= 34H ,CY=1,AC= 1 ,OV=1,P= 1 。 7. MOV A,R0 指令中源操作数的寻址方式是 寄存器间接寻址 ,JC 40H 指令中源操作数的寻址方式是 相
10、对寻址 。 (相对寻 址:把指令中给定的地址偏移量与 PC 的当前值相加,得到真正的程序转移地 址) 8. AT89C51 片内随机存取存储器的容量为 256B ,片外程序存 储器的最大容量为 64KB 。 (随机存储器 RAM数 据存储器,只读存储器 ROM程序存储器) 二概念 1、DPTR:16 位的数据指针寄存器(当 cpu 访问外部 64KB 的数据存储器时, DPTR 用作地址指针,当 CPU 访问 64KB 的程序存储器时,DPTR 用作基址寄 存器) 2、SP:一个 8 位特殊功能寄存器,指示出堆栈顶部在内部 RAM 的位置 3、中断嵌套:CPU 在处理一个中断请求时又发生另一个
11、优先级比他高的中断 源请求,cpu 能够暂时中止执行对原来中断源的处理程序,转而去处理优先级 更高的中断请求,待处理完成后,再继续处理原来低级中断处理程序。 4、定时/计数器的定时工作方式和计数工作方式有何不同? 5、PC:程序计数器,用于存放 cpu 要执行的下一条指令的地址 6、ALU :算术逻辑单元 7、中断:计算机系统中止当前的正常工作,转入处理突发事件,待突发事件处 理完毕后再回到原来被中断的地方,继续原来的工作。 8、寻址方式 三、简答题 1MCS-51 采用 6MHz 的晶振,定时 2ms,如用定时器方式 1 时的初值(16 进制 数)应为多少?(写出计算过程) (答案:6453
12、6) 2说明 MCS-51 的外部引脚 的作用? EA 外部程序存储器访问允许端(接低电平则从地址为 0000H-FFFFH 的外部程序内存 中读取代码;接高电平时先从内部程序内存中读取代码,然后自动转向外部)有些芯片无 片内程序存储器 3.如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执 行下列指令后: POP DPH; POP DPL; POP SP; 则:(DPH)= _ 3CH_ _;(DPL)=_5FH_;(SP)=_ 50H _; 4分析下列程序的功能 PUSH ACC PUSH B POP ACC POP B 功能:
13、将累加器 ACC 和 B 中的数进行交换 5、简述 EA、 L和 PSEN管脚的用途? :外部程序存储器访问端L :地址锁存允许PSN :外部程序存储器的选通信号 6、什么是伪指令?写出三种常用的伪指令,并说明其功能? 不产生目标程序,也不影响程序的执行,仅仅产生供汇编用的某些指令,用来 对汇编过程进行某种控制或操作 定义起始地址伪指令 ORG 功能:规定一个程序块或数据块所存放的起始地址 定义汇编结束伪指令 END 功能:表示汇编程序到此结束。 标号赋值伪指令 EQU 功能:将表达式的值赋给本语句中的标号 字节定义伪指令 DB:在程序存储器的连续单元中定义字节数据 字定义伪指令 DW。 。
14、。 。 。 7、MCS-51 的外部中断有哪两种触发方式?它们对电信号的状态有何要求(定 性)? 电平触发和边沿触发 电平触发是低电平有效。边沿触发是在电平负跳变时置 1,外部中断源输入的 高电平和低电平时间必须保持两个机器周期以上 8、设单片机的晶振频率为 12MHz,要求用 T0 定时 150s,试计算采用定时方式 2 的定时初值。 【106】 9简述 AT89C51 单片机内存 RAM 的分区及其用途? 00H-1FH:工作寄存器区 20H-2FH:位寻址区 30H-7FH:用户 RAM 区 80H-FFH:特殊功能寄存器区 10简述 EA、 L和 PSEN管脚的用途? :外部程序存储器
15、访问允许端 :地址锁存允许PSN 外部程序存储器的选通信号 11简述 MCS-51 单片机的指令系统按功能可分为哪几类? 数据传送指令 算术运算指令 逻辑操作指令 控制转移指令 位操作指令 12MCS-51 采用 12MHz 的晶振,定时 1ms,如用定时器方式 1 时的初值(16 进制数)应为多少?(写出计算过程) 【64536】 四、选择题 1. MCS-51 单片机在访问外部数据存储器时,其地址指针可采用( A )。 ADPTR B. PC C. PSW D. SP 2. 80C51 与 8051 的区别在于( B ) 。 A内部 ROM 的类型不同; B. 半导体工艺的形式不同; C.
16、 内部寄存器单元的数目不同; D. 内部程序存储器不同。 3. PC 的值是( C ) 。程序计数器 A当前指令前一条指令的地址 B. 当前正在执行指令的地址 C. 下一条指令的地址 D. 控制器中指令寄存器的地址 4. MCS-5l 单片机的堆栈区是设置在( C )中。 A片内 ROM 区 B片外 ROM 区 C片内 RAM 区 D. 片外 RAM 区 SP 指示出堆栈栈顶在内部 RAM 中的位置,SP 的初始化为 07H 5. 在 MCS51 中,需要外加电路实现中断撤除的是( A )。 A. 电平方式的外部中断 B. 定时中断 C. 外部串行中断 D. 脉冲方式的外部中断 6. AJMP
17、 指令的跳转范围是( C ) 。 A256B B. 1KB C. 2KB D. 64KB AJMP:把操作数所表示的 11 位地址送入 PC 寄存器的低 11 位,高 5 位不变 7. 下列指令中不影响标志位 CY 的指令是( D ) 。 AADD A,20H B. CLR C CRRC A D. INC A INC 加一指令,不影响标志位 8. 下列说法不正确的是( D )。 A. 同一级别的中断请求按时间的先后顺序响应。 B. 同级中断不能嵌套。 C. 低优先级中断请求不能中断高优先级中断,但是高优先级中断请求能中 断低优先级中断。 D. 同一时间同一级别的多中断请求,将形成阻塞,系统无法
18、响应。 9. 在寄存器间接寻址方式中,间址寄存器中存放的数据是( B )。 A参与操作的数据 B操作数的地址值 C程序的转移地址 D指令的操作码 10.CPU 寻址外设端口地址的方法有两种,一种是统一编址,还有一种是( C ) 。 A. 混合编址 B. 动态编址 C. 独立编址 D. 变址编址 11. PC 的值是( C ) 。程序计数器 A当前指令前一条指令的地址; B. 当前正在执行指令的 地址; C. 当前正在执行指令的下一条指令的地址; D. 控制器中指令寄存器 的地址。 12. 单片机 AT89C51 的 XTAL1 和 XTAL2 引脚是( D )引脚。 A.外接定时器 B.外接串
19、行口 C.外接中断 D.外接晶 振 XTAL1 是构成片内振荡器的反相放大器的输入端 XTAL2 是构成片内振荡器的反相放大器的输出端 3要用传送指令访问 MCS-51 片外数据存储器,它的指令操作码助记符应是( C )。 A.PUSH 【进栈指令】 B.MOV片内数据存 储器 C.MOVX D.MOVC【程序存储器 ROM】 4当 PSW 的 RS0 和 RS1 位分别为 1 和 0 时,系统选用的工作寄存器组为( B ) 。 【RS1 在前,RS0 在后】 A组 0 B组 1 C组 2 D组 3 5单片机的堆栈指针 SP 始终( B ) 。 A指示堆栈底 B指示堆栈顶 C指示堆栈中间 D指
20、示堆栈长度 6单片机 AT89C51 在访问外部数据存储器时,其地址指针可采用( A )。 ADPTR 16 位 B. PC【不属于特殊功能寄存器】 C. PSW(8 位) D. SP(8 位) 7单片机应用程序代码一般存放在( B )中。 ARAM B ROM C寄存器 DCPU 8下列指令中访问程序存储器的是( D ) 【片内数据存储器传送指令 MOV;片外数据传送指令 MOVX;程序存储器传送指令 MOVC】 AMOV A, R0 BMOVX A,DPTR CMOV C, P1.0 D MOVC A,A+DPTR 9下列说法不正确的是( D ) 。 A. 同一级别的中断请求按时间的先后顺
21、序响应。 B. 同级中断不能嵌套。 C. 低优先级中断请求不能中断高优先级中断,但是高优先级中断请求能中 断低优先级中断。 D. 同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。 10AJMP 指令的跳转范围是( C ) 。 A256B B. 1KB C. 2KB D. 64KB 五、编程题 1. 编写程序,将内部 RAM 从 50H 单元开始连续 10 个单元的内容送到外部 RAM 以 2000H 开始的单元中。 ORG 2000H MOV R0,#50 MOV R2,#0AH MOV DPTR,#2000H LOOP: MOV A,R0 MOVX DPTR,A INC R0 ;IN
22、C 加一指令 INC DPTR DJNZ R2,LOOP ;DJNZ 循环减 1 指令:将源操作数减 1 $: SJMP $ ;相对转移指令 SJMP:把操作数所表示的偏移地址和本指 令的下一条指令的地址相加再送入 PC 寄存器,从而实现指令的跳转 END 【 有条件转移指令: 累加器 A 判零转移指令 JZ 或 JNZ:首先判断累加寄存器 A 的结果是否为 0,根据判断的结果决定是否转移到目标地址 比较不等转移指令 CJNE:首先将目的操作数和源操作数做一个比较, 判 C 转移指令 JC 或 JNC:判断 CY 标志位是否为 1,根据判断结果决定是 否转移目标程序 】 2、试编写程序段,将
23、R1 中的低 4 位数与 R2 中的高 4 位数合并成一个 8 位数, 并将其存放在 R1 中。 ORG 1000H MOV A,R1 ANL A,#0FH MOV R1,A MOV A,R2 ANL A,#0F0H ORL A,R1 MOV R1,A $: SJMP $ END 3、试编程将片外 RAM 中 2000H 和 2001H 单元内容相加,结果存放在片内 RAM 的 40H 和 41H 单元中,41H 存放高字节。 4、试编程将片外 RAM 1000H1020H 单元中的内容传送到以 40H 为首地址的 片内 RAM 存储区中。 5、设 Y、D、 E、F 、G 都代表位地址,试编写
24、程序完成位运算 Y=E (F + D) G 的操作。 6.试编程将片外 RAM 中 1000H 和 1001H 单元内容相加,结果存放在片内 RAM 的 20H 和 21H 单元中,21H 存放高字节。 7试编程将片外 RAM 2000H204FH 的存储区中数据块内容,传送到片内 RAM 以 20H 单元为首地址的存储区中,并将原数据块区域全部清零。 8、编写程序,将内部数据存储器 40H4FH 单元的内容送到片外 RAM 从 2000H 开 始的 16 个单元。 9、从内部数据存储器 20H30H 单元,有 16 个有符号数据。试编一个程序,把 其中的负数送到内部数据存储器从 50H 开始
25、的存储单元。 10、编写程序,将片内 RAM 从 50H 单元开始的 10 个单元的内容传送到以 2000H 为首地址的片外数据存储器中。 11、编程将外部 RAM 的 2050H3000H 地址单元清零。 12、编程将片外 2000H 单元与 2001H 单元的内容相乘,结果存放在片内 20H 与 21H 单元中,高位存放在 21H 单元中。 13一个 16 位数的高字节存放在片外数据存储器 2000H 单元,低字节存放在 2001H 单元,另一 16 位数据的高字节存放在片内数据存储器的 30 H 单元,低 字节存放在 31 H 单元,编程完成这 2 个 16 位数据加法运算,和的高 8
26、位存放 在 50 H 单元,低 8 位存放在 51 H 单元。 (假设和仍为两字节) 14编写程序,求出内部 RAM 中从地址为 30 H 开始的连续 8 个单元中的内容 的平均值,并存入 60 H 单元中。 (假设 8 个单元的总和小于 255) 六、读程题 1. 已知(B)=21H, (A)=20H 在执行下列指令后, (SP)=_52H_,内部 RAM(51H)=_20H_。 MOV SP,#50H PUSH ACC PUSH B 2. 已知(59H)50H,以下程序段执行后(A)= 25H ,(51H) 25H ,(R0) 50H 。 MOV A,59H MOV R0,A MOV A,
27、00 MOV R0,A MOV A,25H MOV 51H,A MOV 52H,70H 3. 读程序,写出结果。 MOV A,#50H MOV B,#77H PUSH ACC PUSH B POP ACC POP B 执行完本段指令后(A)= 77H (B)= 50H 。 4. 读程序,写出结果。 MOV DPTR,#2000H MOV A,#80H MOVX DPTR,A INC DPTR MOV A,#90H MOVX DPTR,A MOV DPTR,#2000H MOVX A,DPTR MOV B,A INC DPTR MOVX A,DPTR 以上程序执行后, (DPTR)= 2001H
28、 , (A)= 90H , (2001H ) = 90H 。 5、设内部 RAM 的 30H 单元的内容为 40H,40H 单元的内容为 10H,10H 单元的内 容为 00H,端口 P1=0BAH。问执行以下指令后,各有关存储单元、寄存器以及端 口的内容(即 R0、R1、A、B、P1、P2、40H、30H、10H 单元) MOV R0,#30H ;(RO)=30H MOV A,R0 ;(A)=40H MOV R1,A ;(R1)=40H MOV B,R1 ;(B)=10H MOV R1,P1 ;(40H)=0BAH MOV P2,P1 ;(P2)=OBAH MOV 10H,#50H ;(10
29、H)=50H MOV 30H,10H ;(30H)=50H 6执行下列程序段后,R1= 0CAH R2=65H R3= 40H 。 MOV A,#65H MOV B, A RL A MOV R1, A MOV R2, B ANL A, B MOV R3, A 7执行下列程序段后,(A)=_ 0A7H _,AC= 1 。 MOV A,#88H MOV R3,#1FH ADD A,R3 8执行下列程序段后,(75H)= 25H ,(76H)= 45H ,SP= 76H 。 MOV SP,#75H MOV 75H,#25H MOV A, #45H PUSH A 9下列程序段执行后,(R0)= 7FH
30、 ,(7EH)= 00H 。 MOV R0,#7EH MOV 7EH,#0FFH MOV 7FH,#40H INC R0 INC R0 INC R0 六、综合题 1、以 AT89C51 为主机的系统,拟采用 2 片 6264 数据存储器芯片,扩展 16KB 的数据存储器,试设计硬件电路图,并分别写出芯片的地址空间范围。 2下图中外部扩展的程序存储器和数据存储器容量各是多少? 3三片存储器芯片的地址范围分别是多少?(地址线未用到的位填 1) CE P2.7 P2.5 CE A0-A7 8 8 5 5 +5V CE +5V CS PSEN P2.6 P2.4 P2.0 AT89C51 D0-D7 OE 0#2764 A8-A12 OE 74LS373 Q0 Q7 D0 D7 GALE 8 5 8 2# 6264 CS A8-A12A0-A7A8-A12A0-A7 1# 6264 RD 5 8 WR D0-D7 OE P0.7 P0.0 8 8 8 WRWROE