1、1,1、请把下列字符串用ASC码表示: (1) WWW.CCTV.COM (2) Wo123_Password:0 解:1)57H 57H 57H 2EH 43H 43H 54H 56H 2EH 43H 4FH 4DH 2)57H 6FH 31H 32H 33H 5FH 50H 61H 73H 73H 77H 6FH 72H 64H 3AH 30H 2、 MCS-51 单片机芯片包含哪些主要逻辑功能部件?各有什么主要功能? 解:MCS51单片机的组成及各部件功能如下: )中央处理器CPU:(1)运算器:用于实现算术和逻辑运算。 (2)控制器:产生计算机所需的时序,控制程序 自动执行。 )内部数
2、据存储器:用于存放可读写的数据。 )内部程序存储器:用于存放程序的机器代码和常数。 )并行I/O口:实现数据的输入/输出。 )定时/计数器:用于实现定时和计数功能。 )串行口:一个全双工的口,可实现数据的串行传送。 )中断控制:实现单片机的中断判优、中断响应、中断查询等控制。 )时钟电路:为单片机提供时钟脉冲序列。,2,3、 MCS-51 的控制总线信号有哪些?各信号的作用如何? 解: MCS51的控制总线信号及功能: (1) ALE(30)地址锁存控制信号 ,ALE用于将地址总线 的低八位锁存。该信号频率为晶振频率的1/6,可作为外部定时或时钟使用。 (2) PSEN(29)外部程序存储器读
3、选通信号。 (3) EA(31)内外程序存储器选择控制 ,EA为低电平,CPU只执行片外ROM指令;EA为高电平,CPU执行片内ROM指令,当PC的值超过0FFFH时,执行片外ROM指令。 (4) RESET(9) 复位信号。用以完成单片机的初始化操作。 4 、 MCS-51 单片机的EA信号有何功能?在使用 8031 时应如何处理 EA信号引脚? 解:EA的功能如上题(3),另外在无片内ROM的8031,EA必须接地。,3,5、 程序计数器 PC 的作用是什么? 解:程序计数器PC是位于片内的一个16位的寄存器,它专门用来存放当前要执行的指令地址,且能够自动加1,具有特殊功能。是一个不可寻址
4、的特殊功能寄存器。其低8位地址经P0 口输出,高8位地址经P2口输出。,4,6、 MCS-51 单片机有哪些信号需要芯片引脚以第二功能的方式提供?解:MCS-51 单片机需要芯片引脚以第二功能的方式提供的信号有: 1) 程序存储器固化所需的信号 编程脉冲 : ALE/PROG 编程电压 : EA /VPP 2)备用电源引入 : RST/VPP 3) P3口的第二功能,5,7、 简述内部 RAM 功能分区,说明各部分的使用特点。 解:MCS51单片机内部RAM共有128个字节单元。可分为三个用途不同的区域:(1)工作寄存器区。其地址范围:00H1FH,主要用途是存放操作数据及中间结果等。(2)位
5、寻址区。其地址范围: 20H2FH,主要用途是配合位操作指令,作为单片机进行布尔处理时的存储空间。当然它也可作为一般RAM单元进行字节操作。 (3)数据缓冲区。其地址范围: 30H7FH,主要用途是作为内外数据交换时的缓冲单元,MCS51的堆栈也设在此区之内。,6,8、 如何选择MCS-51 单片机的当前工作寄存储组? 解:MCS51单片机的当前工作寄存器组是由程序状态寄存器PSW中的RS1、RS2位的状态决定的。工作寄存器区的选择: RS1,RS0 = 0 0 则选择了工作寄存器组 0 区 R0R7对应单元地址:00H 07H。 RS1,RS0 = 0 1 则选择了工作寄存器组 1 区R0R
6、7对应单元地址: 08H 0FH单元。 RS1,RS0 =1 0 则选择了工作寄存器组 2 区 R0R7对应单元地址: 10H 17H单元。 RS1,RS0 = 1 1 则选择了工作寄存器组 3 区R0R7对应单元地址: 18H 1FH单元。,7,9、 堆栈有哪些功能?堆栈指针 SP 的作用是什么?在设计时,为什么要对 SP 重新赋值? 解:堆栈是一段存储空间,其功能为:可用于存储数据信息。且有自己的读写规则“先进后出“。堆栈主要用来存放程序断点地址以及保护现场和恢复现场。而堆栈指针是这段存储空间的地址指示器,堆栈指针SP(8位) 用于管理堆栈,指出栈顶位置。系统复位后,SP的内容为07H,堆
7、栈由08H开始,由于08H1FH单元为工作寄存器区 13,如果程序中要用到这些区,为了避免堆栈向上生成时覆盖所存储的数据,则应该把SP设置为1FH或更大,通常设在内部RAM 30H7FH中。,8,10、什么是指令周期、机器周期和时钟周期?如何计算机器周期?晶振频率为 12MHz 时,计算时钟周期、机器周期。 解:指令周期(TI):执行一条指令所用的时间;机器周期(TM) : CPU完成一个基本操作所用的时间。 MCS-51单片机的1个机器周期包含12个振荡周期;时钟信号的周期也称为S状态,它是晶振周期的两倍。即一个时钟周期包含2个晶振周期。当晶振频率为 12MHz 时,时钟周期TS=2/f=0
8、.17s , TM=12/f=1s。,9,11、 MCS-51 单片机的存储器地址空间如何划分?各地址空间的地址范围和容量是多少? 解:MCS51单片机在物理有4个存储空间;分别为片内、片外程序存储器和片内、片外数据存储器。逻辑上,MCS51单片机有3个存储地址空间:片内外统一的64KB程序存储地址空间。它们的地址从0000H0FFFFH(64KB)是连续的;片外的数据存储器RAM占一个逻辑空间(扩展I/O地址空间),地址从0000H0FFFFH(64KB);片内的数据存储器占一个逻辑空间,地址从00H7FH(128B)。,10,12、 简述MCS-51 单片机的位寻址空间。 解:MCS-51
9、系列单片机的位寻址空间由两部分构成:一部分为内部RAM位寻址区的20-2FH的16个单元的128位,位地址范围: 007FH;另一部分为单元地址尾数为0和8的SFR中的位构成的位寻址区,共83位,位地址范围是800FFH。 MCS-51系列单片机位寻址空间共有211个位,位地址范围: 00H 0FFH,11,13、 MCS-51 的 P0P3 口在结构上有何不同?在使用上有何特点? 解 (1)P0和P2口内部各有一个二选一的选择电路,受CPU控制。若控制端使选择电路中电子开关MUX打向上方,则P0口的“地址数据”端和P2口的“地址”端信号均可经过输出驱动器输出;若MUX开关打向下方,则端口锁存
10、器中的信号得以输出。因此,P0口和P2口除作为输入输出数据外都有第二功能; P0口的第二功能先是用于传送外部存储器低8位地址,后是传送外部存储器的读写数据;P2口的第二功能用于传送外部存储器的高八位地址。 (2)P1口和P3口无选择电路,P1口比较简单,无第二功能,仅作输入输出数据之用。 P3口在硬件结构和其他口差别较大,P3口具有第二功能,且第二功能不仅能作输出线使用,也可以作输入线使用。 (3)单片机的I/O口不仅可以进行字节操作,还可以按位操作。在一般情况下,P3口作为I/O口或第二功能使用,若不用做第二功能,则也可做一般I/O口使用。,12,14、 简单说明MCS-51 单片机 PSW
11、 寄存器各标志位的含义。 解:PSW寄存器各位标志位的含义如下: CY (PSW.7) 进位/借位标志位。 AC(PSW.6)半进位/借位标志位。 F0 (PSW.5) 用户标志位 RS1(PSW.4)、RS0(PSW.3)工作寄存器组选择位。 OV (PSW.2)溢出标志位。 PSW.1 未定义。 P (PSW.0)奇偶标志位。,13,10.2 数据域测量技术,15、 把 P1.4 作为输入,外接输入设备(开关),如果要读取开关的状态,如何操作? 解:在P1.4输入操作前,应预先向P1.4端口锁存器写入1,当P1.4输入数据时,“读引脚”信号有效,打开输入缓冲器,使数据进入内部总线,完成P1
12、.4端口的输入。 指令如下: SETB P1.4 MOV C,P1.4,14,16、执行下列程序后,A和B寄存器的内容是多少? MOV SP,# 3AH MOV A,# 20H MOV B,# 30H PUSH ACC PUSH B POP ACC POP B 解:A=30H,B=20H,15,17、假定(A)=85H,(20H)=0FEH,(Cy)=1,执行下列指令后累加器A的内容及Cy、AC、OV、P的内容是多少? ADD A, 20H解:A=83H (CY)=1 AC=1 OV=1 P=1,16,18、分析下列指令序列,写出它所实现的逻辑表达式。 MOV C,P1.0 ANL C,P1.
13、1 ANL C,/P1.2 MOV P3.0,C 解:P3.0=(P1.0P1.1)/P1.2,17,19、已知(A)=83H,(RO)=17H,(17H)=34H.请写出执行完下列程序段后 A 的内容。 ANL A,#17H ORL 17H,A XRL A,RO CPL A 解:A=0CBH,18,20、什么是寻址方式?在MCS-51中,有哪几种寻址式? 解:寻址方式 :CPU执行指令时获取操作数的方式 。MSC-51单片机有7种不同的寻址方式 :(1)立即寻址(2)直接寻址(3)寄存器寻址(4)寄存器间接寻址(5)变址寻址(6)位寻址方式(7)相对寻址 21、“LJMP PROG”和“LC
14、ALL PROG”的区别是什么? 解:“LJMP PROG”执行这条指令时,把指令中给出的16位地址给PC,无条件地跳转到以PROG为标号地址的同一程序位置;“LCALL PROG”执行这条指令时,调用以PROG标号地址开头的子程序。,19,22、在单片机CPU中,PSW中的Cy、AC、OV和P是( )参与运算的状态。 (A) DPTR (B) R5 (C) A (D) SP 解:C 23、下列哪条减法指令是错误的?( ) (A) SUBB A,R7 (B) SUBB A,R1 (C) SUBBC A,#30H (D) SUBB A,30H 解:C,20,24、在“MUL AB”指令中,若积超
15、过255,则( )。 (A) Cy=1 (B) AC=1 (C) OV=1 (D) P=1 解:C 25、下列指令中正确的是( )。 (A) CJNE A,R0,NEXT (B) CJNE A,R0,NEXT (C) CJNE A,# 40,NEXT (D) CJNE R2,30H,NEXT 解:C 26、 MOS-51 单片机扩展I/O口与外部数据存储器( )。 (A) 分别独立编址 (B) 统一编址 (C) 变址编址 (D) 动态变址 解:B,21,27、已知一个二维数据表格如下,存储在程序存储器中,编制程序实现自动查表。X 0 1 2 3 4 0B 0C OD OE 0F Y 11 12
16、 01 AD DD AB 24 4B 7C AA解:设X的值在30H单元中,查到后将Y值送到31H中。 汇编程序如下: ORG 0000H MOV DPTR , #TAB ;表首地址DPTR MOV A , 30H ;送偏移量给累加器A MOV A , A+DPTR ;查表 MOV 30H , A ; 暂存结果 SJMP TAB :DB 11H,12H, ,AAH END,22,28、 求出无符号单字节数 X、Y、Z 中的最大数存放在 50H 单元。 解:设无符号数X、Y、Z依次存放在30H 、31H 、32H单元中,在比较过程中,以A存放大数,与之逐个比较的另一个数放在2AH单元中。 汇编程
17、序如下: ORG 0000H CLR C MAIN :MOV R0 ,#30H ; 数据区首地址 MOV R1 ,#03H ; 数据长度 MOV A ,R0 ; 读第一个数X DEC R1 ; 实际长度为N-1 LOOP : INC R0 ; 地址增量 MOV 2AH , R0 ; 读下一个数 CJNE A , 2AH,CHK ; 数值比较 CHK: JNC LOOP1 ; CY=0则跳转,A值大 MOV A ,R0 ; 大数送A LOOP1: DJNZ R1, LOOP ; 继续 MOV 50H , A ; 极值送50H HERE: AJMP HERE ; 停止,23,29、 把内部 RAM 的 20H 2FH 连接 16 个单元的内容转移到外部2000H 单元开始的区域中。 解:汇编程序如下: MAIN MOV R0 ,#20H ;将数据首地址赋给R0 MOV DPTR , #2000H ;设置外部RAM首地址 MOV R1 ,#10H ;设置循环计数器 LOOP :MOV A ,R0 ; 取内部RAM数据 MOVX DPTR , A ;将数据送往外部数据寄存器 INC R0 ;调整内部数据寄存器指针,指向下一个数据 INC DPTR ;调整外部数据寄存器指针 DJNZ R1 ,LOOP SJMP ,