单片机基础习题
一,选择:
1.计算机中最常用的字符信息编码是( )
A ASCII B BCD码 C 余3码 D 循环码
2.要MCS-51系统中,若晶振频率屡8MHz,一个机器周期等于( ) μs
A 1.5 B 3 C 1 D 0.5
3.MCS-51的时钟最高频率是 ( ).
A 12MHz B 6 MHz C 8 MHz D 10 MHz
4.以下不是构成的控制器部件( ):
A 程序计数器, B指令寄存器, C指令译码器, D存储器
5.以下不是构成单片机的部件( )
A 微处理器(CPU),B存储器 C接口适配器(I\O接口电路) D 打印机
6.下列不是单片机总线是( )
A 地址总线 B 控制总线 C 数据总线 D 输出总线
7.-49D的二进制补码为.( )
A 11101111 B 11101101 C 0001000 D 11101100
8.十进制29的二进制表示为原码( )
A 11100010 B 10101111 C 00011101 D 00001111
9. 十进制0.625转换成二进制数是( )
A 0.101 B 0.111 C 0.110 D 0.100
10 选出不是计算机中常作的码制是( )
A 原码 B 反码 C补码 D ASCII
二,填空
1.计算机中常作的码制有 .
2.十进制29的二进制表示为 .
3.十进制数-29的8位补码表示为. .
4.单片微型机 , , 三部分组成.
5.若不使用MCS-51片内存器引脚 必须接地.
6. 是计算机与外部世界交换信息的载体.
7.十进制数-47用8位二进制补码表示为. .
8.-49D的二进制补码为. .
9.计算机中最常用的字符信息编码是 .
10.计算机中的数称为机器数,它的实际值叫 .
三,判断
1.我们所说的计算机实质上是计算机的硬件系统与软件系统的总称. ( )
2.MCS-51上电复位时,SBUF等于00H. ( ). SBUF不定.
3.使用可编程接口必须处始化. ( ).
4.8155的复位引脚可与89C51的复位引脚直接相连.( )
5.MCS-51是微处理器.( )不是.
6.MCS-51系统可以没有复位电路.( )不可以.复位是单片机的初始化操作.
7.要MCS-51系统中,一个机器周期等于1.5μs.( )若晶振频率屡8MHz,才可能为1.5μs
8.计算机中常作的码制有原码,反码和补码( )
9.若不使用MCS-51片内存器引脚EA必须接地. ( )
10.十进制数-29的8位补码表示为.11100010( )
四,简答
1.何谓单片机单片机与一般微型计算机相比,具有哪些特点
2 单片机主要应用在哪些领域
3 在各种系列的单片机中,片内ROM的配置有几种形式用户应根据什么原则来选用
4.控制器的组成和作用
5.
6.什么叫寻址方式
7.什么叫堆栈
8.什么是汇编语言什么叫指令周期
9.什么是进位和溢出
答 案
一,选择
1.计算机中最常用的字符信息编码是( A )
A ASCII B BCD码 C 余3码 D 循环码
2.要MCS-51系统中,若晶振频率屡8MHz,一个机器周期等于(A ) μs
A 1.5 B 3 C 1 D 0.5
3.MCS-51的时钟最高频率是 ( A ).
A 12MHz B 6 MHz C 8 MHz D 10 MHz
4.以下不是构成的控制器部件(D ):
A 程序计数器, B指令寄存器, C指令译码器, D存储器
5.以下不是构成单片机的部件( D )
A 微处理器(CPU),B存储器 C接口适配器(I\O接口电路) D 打印机
6.下列不是单片机总线是( D )
A 地址总线 B 控制总线 C 数据总线 D 输出总线
7.-49D的二进制补码为.( B )
A 11101111 B 11101101 C 0001000 D 11101100
8.十进制29的二进制表示为原码( C )
A 11100010 B 10101111 C 00011101 D 00001111
9. 十进制0.625转换成二进制数是( A )
A 0.101 B 0.111 C 0.110 D 0.100
10 选出不是计算机中常作的码制是( D )
A 原码 B 反码 C补码 D ASCII
二,填空
1.计算机中常作的码制有原码,反码和补码
2.十进制29的二进制表示为00011101
3.十进制数-29的8位补码表示为.11100011
4.单片微型机CPU,存储器和I\O接口三部分组成.
5.若不使用MCS-51片内存器引脚EA必须接地.
6.输入输出设备是计算机与外部世界交换信息的载体.
7.十进制数-47用8位二进制补码表示为.11010001
8.-49D的二进制补码为.11101101
9.计算机中最常用的字符信息编码是ASCII
10.计算机中的数称为机器数,它的实际值叫真值.
三,判断
1.我们所说的计算机实质上是计算机的硬件系统与软件系统的总称. ( √ )
2.MCS-51上电复位时,SBUF等于00H. ( × ). SBUF不定.
3.使用可编程接口必须处始化. ( √ ).
4.8155的复位引脚可与89C51的复位引脚直接相连.( √ )
5.MCS-51是微处理器.( × )不是.
6.MCS-51系统可以没有复位电路.( × )不可以.复位是单片机的初始化操作.
7.要MCS-51系统中,一个机器周期等于1.5μs.( × )若晶振频率屡8MHz,才可能为1.5μs
8.计算机中常作的码制有原码,反码和补码( √ )
9.若不使用MCS-51片内存器引脚EA必须接地. ( √ )
10.十进制数-29的8位补码表示为.11100010( × )
四,简答
1.何谓单片机单片机与一般微型计算机相比,具有哪些特点
答:单片机是在一块集成电路上把CPU,存储器,定时器/计数器及多种形式的I/O接口集成在一起而构成的微型计算机.它与通用微型计算机相比,具有如下特点:
(1) 单片机的程序存储器和数据存储器是分工的,前者为ROM,后者为RAM,
(2) 采用面向控制的指令系统,控制功能强,
(3) 多样化的I/O接口,多功能的I/O引脚,
(4) 产品系列齐全,功能扩展性强,
(5) 功能是通用的,像一般微处理机那样可广泛地应用在各个方面.
2 单片机主要应用在哪些领域
答:单片机的应用范围很广泛,诸如智能化家用电器,仪器仪表,工业控制,计算机外部设备,智能机器人,电信及导航等方面.
3 在各种系列的单片机中,片内ROM的配置有几种形式用户应根据什么原则来选用
答:各种类型的单片机片内程序存储器的配置形式主要有以下几种形式:
(1) 掩膜(Msak)ROM型单片机:内部具有工厂掩膜编程的ROM,ROM中的程序只能由单片机制造厂家用掩膜工艺固化,用户不能修改ROM中的程序.例如:MCS—51系列的8051.
掩膜ROM单片机适合于大批量生产的产品.用户可委托芯片生产厂家采用掩膜方法将程序制作在芯片的ROM.
(2) EPROM型单片机:内部具有紫外线可擦除电可编程的只读存储器,用户可以自行将程序写入到芯片内部的EPROM中,也可以将EPROM中的信息全部擦除.擦去信息的芯片还可以再次写入新的程序,允许反复改写.例如:MCS—51系列的8751.
EPROM型单片机使用比较方便,但较高,适合于研制产品或结构要求简单的小批量产品.
(3) 无ROM型单片机:内部没有程序存储器,它必须连接程序存储器才能组成完整的应用系统.例如:MCS—51系列的8031.
无ROM型单片机低廉,用户可根据程序的大小来选择外接程序存储器的容量.这种单片机扩展灵活,但系统结构较复杂.
(4) E2ROM型单片机:内部具有电可擦除叫可编程的程序存储器,使用更为方便.例如:MCS—51的派生型89C51单片机.
(5) OTP(One Time Programmable)ROM单片机:内部具有一次可编程的程序存储器,用户可以在编程器上将程序写入片内程序存储器中,程序写入后不能再改写.例如:NEC公司的μPD75P308GF—3B9.这种芯片的也较低.
4.控制器的组成和作用
答:控制器:由程序计数器,指令寄存器,指令译码器,时序发生器和操作控制器等组成.用来协调指挥计算机系统的操作.
6.
答:微型计算机组成由微处理器(CPU),存储器,接口适配器(I\O接口电路)及输入/输出设备组成.通过系统总线将它们连接起来,以完成某些特定的运算与控制.
6.什么叫寻址方式
答:寻址方式:寻址方式就是寻找指令中操作数或操作数所在地址的方式.也就是如何找到存放操作数的地址,把操作数提取出来的方法.
7.
答:堆栈是在片内RAM中专门开辟出来的一个区域,数据的存取是以"后进先出"的结构方式处理的.实质上,堆栈就是一个按照"后进先出"原则组织的一段内存区域.
8.什么是汇编语言什么叫指令周期
答:汇编:汇编语言源程序在交付计算机执行之前,需要先翻译成目标程序,这个翻译过程叫汇编.
指令周期:指执行一条指令所占用的全部时间.通常一个指令周期含1~4个机器周期.
9.什么是进位和溢出
答:两数运算的结果若没有超出字长的表示范围,则由此产生的进位是自然进位,若两数的运算结果超出了字长的表示范围(即结果不合理),则称为溢出.例如将正数3FH和负数D0H相加,其结果不会超出8位字长的表示范围,所以其结果10FH中的进位是正常进位(也就是模).但是,若正数3FH与正数70H相加,其结果为AFH,最高位为"1",成了负数的含义,这就不合理了,这种情况称为溢出.
MCS-51硬件系统习题
一,填空
1..微处器由 , , 三部分组成..
2.当MCS-51引脚 信号有效时,表示从Po口稳定地送出了低8位地址.
3.MCS-51的堆栈是软件填写堆栈指针临时在_ 器内开辟的区域.
4.MCS-51中凡字节地址能被_ 整除的特殊功能寄存器均能寻址.
5.MCS-51有4组工作寄存器,它们的地址范围是 .
6.MCS-51片内 范围内的数据存储器,既可以字节寻址又可以位寻址.
7.计算机的系统总线有 , , .
8.80C51含 掩膜ROM.
9.80C51在物理有 个独立的存储空间.
10.一个机器周期等于 状态周期,振荡脉冲2分频后产生的时钏信号的周期定义为状态 周期
二,判断
1.我们所说的计算机实质上是计算机的硬件系统与软件系统的总称. ( )
2.MCS-51的相对转移指令最大负跳距是127B. ( )
3.MCS-51的程序存储器只是用来存放程序的. ( ) 存放程序和表格常数.
4.MCS-51的时钟最高频率是18MHz. ( ). 12MHz.
5.使用可编程接口必须处始化. ( ).
6.当MCS-51上电复位时,堆栈指针SP等于00H. ( ). SP等于07H
7.MCS-51外扩I/O口与外RAM是统一编址的. ( ).
8.使用8751且 等于1时,仍可外扩64KB的程序存储器.( )60KB.
9.8155的复位引脚可与89C51的复位引脚直接相连.( )
10.MCS-51是微处理器.( )不是.
11.MCS-51的串行接口是全双工的.( )
12.PC存放的是当前执行的指令.( )是将要执行的下一条指令的地址.
13.MCS-51的特殊功能寄存器分布在60H~80H地址范围内.( )80H~FFH.
14.MCS-51系统可以没有复位电路.( )不可以.复位是单片机的初始化操作.
15.要MCS-51系统中,一个机器周期等于1.5μs.( )若晶振频率屡8MHz,才可能为1.5μs
三,选择
1.要想测理INT0引脚上的一个正脉冲宽度,那么特殊功能寄存器TMOD的内容应为( ).
(A)09H (B)87 H (C)00H (D)80H
2.PSW等于18H时,则当前工作寄存器是( )
(A)0组 (B)1组 (C)2组 (D)3组
3.控制串行口工作方式的寄存器是( )
(A)TCON (B)PCON (C)SCON (D)TMOD
4.P1口的每一位能驱动( B )
(A)2个TTL低电平负载有 (B)4个TTL低电平负载
(C)8个TTL低电平负载有 (D)10个TTL低电平负载
5.MCS-51的中断允许触发器内容为83H,CPU将响应的中断请求是( )
(A) T1, (B)T0,T1 (C)T1,串行接口 (D) ,T0
四,问答题
1 8051单片机内部包含哪些主要逻辑功能部件
2 EA/VPP引脚有何功用8031的引脚应如何处理为什么
3 8051单片机存储器的组织结构是怎样的
4.片内数据存储器分为哪几个性质和用途不同的区域
5 单片机有哪几个特殊功能寄存器各在单片机的哪些功能部件中
6 PC是什么寄存器是否属于特殊功能寄存器它有什么作用
7 DPTR是什么寄存器它由哪些特殊功能寄存器组成它的主要作用是什么
答 案
一,填空
1..微处器由寄存器,控制器和运算器三部分组成..
2.当MCS-51引脚ALE信号有效时,表示从Po口稳定地送出了低8位地址.
3.MCS-51的堆栈是软件填写堆栈指针临时在_片内数据存储器内开辟的区域.
4.MCS-51中凡字节地址能被_8整除的特殊功能寄存器均能寻址.
5.MCS-51有4组工作寄存器,它们的地址范围是00H~1FH.
6.MCS-51片内20H~2FH范围内的数据存储器,既可以字节寻址又可以位寻址.
7.计算机的系统总线有地址总线,控制总线和数据总线.
8.80C51含4KB掩膜ROM.
9.80C51在物理有4个独立的存储空间.
10.一个机器周期等于6个状态周期,振荡脉冲2分频后产生的时钏信号的周期定义为状态 周期.
二,判断
1.我们所说的计算机实质上是计算机的硬件系统与软件系统的总称. ( √ )
2.MCS-51的相对转移指令最大负跳距是127B. ( × )
3.MCS-51的程序存储器只是用来存放程序的. ( × ) 存放程序和表格常数.
4.MCS-51的时钟最高频率是18MHz. (× ). 12MHz.
5.使用可编程接口必须处始化. ( √ ).
6.当MCS-51上电复位时,堆栈指针SP等于00H. ( × ). SP等于07H
7.MCS-51外扩I/O口与外RAM是统一编址的. ( √ ).
8.使用8751且 等于1时,仍可外扩64KB的程序存储器.( × )60KB.
9.8155的复位引脚可与89C51的复位引脚直接相连.( √ )
10.MCS-51是微处理器.( × )不是.
11.MCS-51的串行接口是全双工的.( √ )
12.PC存放的是当前执行的指令.( × )是将要执行的下一条指令的地址.
13.MCS-51的特殊功能寄存器分布在60H~80H地址范围内.(× )80H~FFH.
14.MCS-51系统可以没有复位电路.( × )不可以.复位是单片机的初始化操作.
15.要MCS-51系统中,一个机器周期等于1.5μs.( × )若晶振频率屡8MHz,才可能为1.5μs
三,选择
1.要想测理INT0引脚上的一个正脉冲宽度,那么特殊功能寄存器TMOD的内容应为( B ).
(A)09H (B)87 H (C)00H (D)80H
2.PSW等于18H时,则当前工作寄存器是( D )
(A)0组 (B)1组 (C)2组 (D)3组
3.控制串行口工作方式的寄存器是( C )
(A)TCON (B)PCON (C)SCON (D)TMOD
4.P1口的每一位能驱动( B )
(A)2个TTL低电平负载有 (B)4个TTL低电平负载
(C)8个TTL低电平负载有 (D)10个TTL低电平负载
5.MCS-51的中断允许触发器内容为83H,CPU将响应的中断请求是( B )
(A) T1, (B)T0,T1 (C)T1,串行接口 (D) ,T0
四,问答题
1 8051单片机内部包含哪些主要逻辑功能部件
答:8051单片机是个完整的单片微型计算机.芯片内部包括下列硬件资源:
(1) 8位CPU,
(2) 4KB的片内程序存储器ROM.可寻址64KB程序存储器和64KB外部数据存储器,
(3) 128B内部RAM,
(4) 21个R,
(5) 4个8位并行I/O口(共32位I/O线),
(6) 一个全双工的异步串行口,
(7) 两个16位定时器/计数器,
(8) 5个中断源,两个中断优先级,
(9) 内部时钟发生器.
2 EA/VPP引脚有何功用8031的引脚应如何处理为什么
答:EA/VPP是双功能引脚,功能如下:
(1) EA接高电平时,在低4KB程序地址空间(0000H~0FFFH),CPU执行片内程序存储器的指令,当程序地址超出低4KB空间(1000H~FFFFH)时,CPU将自动执行片外程序存储器的指令.
(2) EA接低电平时,CPU只能执行外部程序存储器的指令.
8031单片机内部无ROM,必须外接程序存储器.因此,8031的EA引脚必须接低电平.
在对8751单片机内部的EPROM编程时,此引脚VPP外接+12V电压,用于固化EPROM程序.
4 8051单片机存储器的组织结构是怎样的
答:8051存储器包括程序存储器和数据存储器,从逻辑结构上看,可以分为三个不同的空间:
(1) 64KB的程序存储器地址空间:0000H~FFFFH,其中0000H~0FFFH为片内4KB的ROM地址空间,1000H~FFFFH为外部ROM地址空间,
(2) 256B的内部数据存储器地址空间,00H~FFH,分为两大部分,其中00H~7FH(共128B单元)为内部静态RAM的地址空间,80H~FFH为特殊功能寄存器的地址空间,21个特殊功能寄存器离散地分布在这个区域,
(3) 64KB的外部数据存储器地址空间:0000H~FFFFH,包括扩展I/O地址空间.
4.片内数据存储器分为哪几个性质和用途不同的区域
答:8051内部128B的数据RAM区,包括有工作寄存器组区,可直接位寻址区和数据缓冲区.各区域的特性如下:
(1) 00H~1FH为工作寄存器组区,共分4组,每组占用8个RAM字节单元,每个单元作为一个工作寄存器,每组的8个单元分别定义为8个工作寄存器R0~R7.当前工作寄存器组的选择是由程序状态字PSW的RS1,RS0两位来确定.如果实际应用中并不需要使用工作寄存器或不需要使用4组工作寄存器,不使用的工作寄存器组的区域仍然可作为一般数据缓冲区使用,用直接寻址或用Ri的寄存器间接寻址来访问.
(2) 20H~2FH为可位寻址区域,这16个字节的每一位都有一个地址,编址为00H~7FH.
当然,位寻址区也可以用作字节寻址的一般数据缓冲区使用.
(3)30H~7FH为堆栈,数据缓冲区.
5 单片机有哪几个特殊功能寄存器各在单片机的哪些功能部件中
答:8051单片机内部有21个特殊功能寄存器,在物理上是分散在片内各功能部件中,在数学上把它们组织在内部数据存储器地址空间80H~FFH中,以便能使用统一的直接寻址方式来访问.这些特殊功能寄存器颁在以下各个功能部件中:
(1) CPU:ACC,B,PSW,SP,DPTR(由DPL和DPH两个8位寄存器组成),
(2) 中断系统:IP,IE,
(3) 定时器/计数器:TMOD,TCOM,TL0,TH0,TL1,TH1,
(4) 并行I/O口:P0,P1,P2,P3,
(5) 串行口:SCON,SBUF,PCON.
6 PC是什么寄存器是否属于特殊功能寄存器它有什么作用
答:PC是16位程序计数器(Program Counter),它不属于特殊功能寄存器范畴,程序员不以像访问特殊功能寄存器那样来访问PC.PC是专门用于在CPU取指令期间寻址程序存储器.PC总是保存着下一条要执行的指令的16位地址.通常程序是顺序执行的,在一般情况下,当取出一个指令(更确切地说为一个指令字节)字节后,PC自动加1.如果在执行转移指令,子程序调用/返回指令或中断时,要把转向的地址赋给PC.
7 DPTR是什么寄存器它由哪些特殊功能寄存器组成它的主要作用是什么
答:DPTR是16位数据指针寄存器,它由两个8位特殊功能寄存器DPL(数据指针低8位)和DPH(数据指针高8位)组成,DPTR用于保存16位地址,作间址寄存器用,可寻址外部数据存储器,也可寻址程序存储器.
寻址方式和指令习题
一,选择题
1,MOVX A,@DPTR指令中源操作数的寻址方式是( )
(A) 寄存器寻址 (B)寄存器间接寻址 (C)直接寻址 (D)立即寻址
2,ORG 0003H
LJMP 2000H
ORG 000BH
LJMP 3000H 当CPU响应外部中断0后,PC的值是( )
(A) 0003H (B)2000H (C)000BH (D)3000H
3,执行PUSH ACC指令,MCS-51完成的操作是( )
(A)SP+1 SP (ACC) (SP) (B)(ACC) (SP)SP-1 SP
(C)SP-1 SP (ACC) (SP) (D)(ACC) (SP)SP+1 SP
4,CALL指令操作码地址是2000H,执行完相子程序返回指令后,PC等于( )
(A)2000H (B)2001H (C)2002H (D)2003H
5,51执行完MOV A,#08H后,PSW的一位被置位( )
(A)C (B)F0 (C)OV (D)P
6,下面条指令将MCS-51的工作寄存器置成3区( )
(A)MOV PSW,#13H (B)MOV PSW,#18H
(B) SETB PSW.4 CLR PSW.3 (D) SETB PSW.3 CLR PSW.4
7,执行MOVX A,DPTR指令时,MCS-51产生的控制信号是( )
(A)/PSEN (B)ALE (C)/RD (D)/WR
8,MOV C,#00H的寻址方式是( )
(A) 位寻址 (B)直接寻址 (C)立即寻址 (D)寄存器寻址
9,ORG 0000H
AJMP 0040H
ORG 0040H
MOV SP,#00H当执行完左边的程序后,PC的值是( )
(A) 0040H (B)0041H (C)0042H (D)0043H
10,对程序存储器的读操作,只能使用( )
(A) MOV指令 (B)PUSH指令 (C)MOVX指令(D)MOVC指令
二,判断题
1,MCS-51的相对转移指令最大负跳距是127B.( )
2,当MCS-51上电复位时,堆栈指针SP等于00H.(SP等于07H)( )
3,调用子程序指令(如:CALL)及返回指令(如:RET)与堆栈有关但与PC无关.( )
下面几条指令是否正确:
4,MOV @R1,#80H ( )
5,INC DPTR ( )
6,CLR R0 ( )
7,MOV @R1,#80H ( )
8,ANL R1,#0FH ( )
9,ADDC A,C ( )
10,XOR P1,#31H ( )
三,问答题
1 简述MCS-51汇编语言指令格式.
2 MCS-51指令系统主要有哪几种寻址方式试举例说明.
3对访问内部RAM和外部RAM,各应采用哪些寻址方式
4设内部RAM(30H)等于5AH,(5AH)等于40H,(40H)等于00H,端口P1等于7FH,问执行下列指令后,各有关存储单元(即R0,R1,A,B,P1,30H,40H及5AH单元)的内容如何
5 SJMP(短转移)指令和AJMP(绝对转移)指令的主要区别.
四,编程题
1 编程将片内RAM 30H单元开始的15B的数据传送到片外RAM 3000H开始的单元中去.
2 片内RAM 30H开始的单元中有10B的二进制数,请编程求它们之和(和<,256).
3 编一个程序,将累加器中的一个字符从串行接口发送出去.
4 用查表法编一子程序,将R3中的BCD码转换成ASCII码.
5 片内RAM40H开始的单元内有10B二进制数,编程找出其中最大值并存于50H单元中.
6 编一子程序,从串行接口接受一个字符.
7 利用调子程序的方法,进行两个无符号数相加.请编主程序及子程序.
8 若图数据块是有符号数,求正数个数.编程并注释.
9 编制一个循环闪烁灯的程序.有8个发光二极管,每次其中某个灯闪烁点亮10次后,转到下一个闪烁10次,
循环不止.画出电路图.
答案
一,选择题
1,MOVX A,@DPTR指令中源操作数的寻址方式是(B)
(B) 寄存器寻址 (B)寄存器间接寻址 (C)直接寻址 (D)立即寻址
2. ORG 0003H
LJMP 2000H
ORG 000BH
LJMP 3000H CPU响应外部中断0后,PC的值是(B)
(C) 0003H (B)2000H (C)000BH (D)3000H
3. PUSH ACC指令,MCS-51完成的操作是(A)
(A) SP+1 SP (ACC) (SP) (B)(ACC) (SP)SP-1 SP
(B) (C)SP-1 SP (ACC) (SP) (D)(ACC) (SP)SP+1 SP
4, LCALL2000H,执行完相子程序返回指令后,PC等于(D)
(C) 2000H (B)2001H (C)2002H (D)2003H
5,51执行完MOV A,#08H后,PSW的一位被置位(D)
(A)(A)C (B)F0 (C)OV (D)P
6,下面条指令将MCS-51的工作寄存器置成3区(B)
(A)MOV PSW,#13H (B)MOV PSW,#18H
(D) SETB PSW.4 CLR PSW.3 (d) SETB PSW.3 CLR PSW.4
7,执行MOVX A,DPTR指令时,MCS-51产生的控制信号是(C)
(D) /PSEN (B)ALE (C)/RD (D)/WR
8,MOV C,#00H的寻址方式是(A)
(B) 位寻址 (B)直接寻址 (C)立即寻址 (D)寄存器寻址
9,ORG 0000H
AJMP 0040H
ORG 0040H
MOV SP,#00H当执行完左边的程序后,PC的值是(C)
(B) 0040H (B)0041H (C)0042H (D)0043H
10,对程序存储器的读操作,只能使用(D)
(B) MOV指令 (B)PUSH指令 (C)MOVX指令(D)MOVC指令
二,判断题.
1,MCS-51的相对转移指令最大负跳距是127B.(错)128B
2,当MCS-51上电复位时,堆栈指针SP等于00H.(SP等于07H)( 错 )
3,调用子程序指令(如:CALL)及返回指令(如:RET)与堆栈有关但与PC无关.(错)子序的转返与PC也有关(PC入栈与出栈)
4,MOV @R1,#80H (错)
5,INC DPTR (对)
6,CLR R0 (错)指令系统中没有.
7,MOV @R1,#80H (对)
8,ANL R1,#0FH (错)
9,ADDC A,C (错)
10,XOR P1,#31H (对)
三,简答题
1 简述MCS-51汇编语言指令格式.
答:MCS-51汇编语言格式如下:
[标号:]操作码助记符[操作数1] [操作数2] [操作数3][注释]标号是用户定义的符号,其值代表这条指令的地址.操作码助记符是指令系统规定的代表特定指令功能的英文缩写符.每条指令都有操作码记符.指令的操作数最多有3个,也有无操作数的指令.注释字段是用户对程序的说明,便于对程序的阅读和理解.
简答
2 MCS-51指令系统主要有哪几种寻址方式试举例说明.
答:MCS-51指令操作数主要有以下7种寻址方式:
寻址方式 举例
立即寻址 MOV A,#16
直接寻址 MOV 20H,P1
寄存器寻址 MOV A,R0
寄存器间接寻址 MOVX A, @DPTR
变址寻址 MOVC A, @A+DPRT
相对寻址 SJMP LOOP
位寻址 ANL C,70H
3对访问内部RAM和外部RAM,各应采用哪些寻址方式
答:对内部RAM的寻址方式有直接寻址,寄存器间接寻址和可对位寻址的位寻址.对外部RAM的寻址方式只能用寄存器R0/R1(8位地址)或DPTR(16位地址)间接寻址.
4设内部RAM(30H)等于5AH,(5AH)等于40H,(40H)等于00H,端口P1等于7FH,问执行下列指令后,各有关存储单元(即R0,R1,A,B,P1,30H,40H及5AH单元)的内容如何
MOV R0,#30H ,R0等于30H
MOV A,@R0 ,A等于5AH
MOV R1,A ,R1等于5AH
MOV B,R1 ,B等于5AH
MOV @R1,P1 ,(5AH)等于7FH
MOV A,P1 ,A等于7FH
MOV 40H,#20H ,(40H)等于20H
MOV 30H,40H ,(30H)等于20H
解:每一条指令执行后的结果如注释字段所标.最后结果为:R0等于30H,R1等于5AH,A等于7FH,B等于5AH,P1等于7FH,(30H)等于20H,(40H)等于20H,(5AH)等于7FH.
5 SJMP(短转移)指令和AJMP(绝对转移)指令的主要区别.
前者提供了以SJMP的下一条指令的起始地址为中心的256字节范围的转移(-128~+127),后者的转移目标地址必须在与AJMP的下一条指令的第一字节相同的2KB区的程序储存器中.短转移方便了可重定位编码.SJMP方便了PC可重定位编码,但转移范围小.而ASJMP转移范围大,但存在跳区的限制,AJMP指令只能位于2KB区的最后2个字节处时,才可跳到下一个区去.因此用AJMP指令来代替SJMP指令是有条件的,也就是目标地址必须与它下面的指令存放地址在同一个2KB区域内.
四,编程题
1 编程将片内RAM30H单元开始的15B的数据传送到片外RA0H开始的单元中去.
解:STRAT:MOV R0,#30H
MOV R7,#0FH
MOV DPTR,#3000H
LOOP: MOV A,@R0
MOVX @DPTR,A
INC R0
INC DPTR
DJNZ R7,LOOP
RET
2 片内RAM30H开始的单元中有10B的二进制数,请编程求它们之和(和<,256 ).
解 ADDIO:MOV R0,30H
MOV R7,#9
MOV A,@R0
LOOP: INC R0
ADD A,@R0
DJNZ R7,LOOP
MOV 30H,A
RET
3 编一个程序,将累加器中的一个字符从串行接口发送出去.
解 SOUT:MOV SCON,#40H ,设置串行接口为工作方式
MOV TMOD,#20H ,定时器T1工作于模式2
MOV TL1,#0E8H, ,设置波特率为1200b/s
MOV TH1,#0E8H
SETB TR1
MOV SBUF,A
JNB T1,$
CLB T1
RET
4 用查表法编一子程序,将R3中的BCD码转换成ASCII码.
解 MAIN: MOV A,R3 ,待转换的数送A
MOV DPTR,#TAR ,表首地址送DPTR
MOVC A,@A+DPTR ,查ASCII码表
MOV R3,A ,查表结果送R3
RET
TAR DB 30H,31H,32H,33H,34H
DB 35H,36H,37H,38H,39H
5 片内RAM40H开始的单元内有10B二进制数,编程找出其中最大值并存于50H单元中.
解 START: MOV R0,#40H ,数据块首地址送R0
MOV R7,#09H ,比较次数送R7
MOV A,@R0 ,取数送A
LOOP: INC R0
MOV 30H,@R0 ,取数送30H
CJNE A,30H,NEHT ,(A)与(30H)相比
NEXT: JNC BIE1 (A)≥(30H)转BIR1
MOV A,30H ,(A)<,(30H),大数送A
BIE1: DJNZ R7,LOOP ,比较次数减1,不为0,继续比较
MOV 50H,A ,比较结束,大数送50H
RET
6 编一子程序,从串行接口接受一个字符.
解: START: MOV TMOD,#20H ,定时器T1工作于模式2
MOV TH1,#0E8H ,设置波特率为1 200b/s
MOV TL1,#0E8H
SETB TR1 ,启动T1
MOV SCON,#50H ,串行接口工作于方式1,充许接收
L1: JNB RI,L1 ,等待接收数据,末接收到数据,继续等待
CLR RI ,接收到数据,清RI
MOV A,SBUF ,接收到数据送A
RET
7 利用调子程序的方法,进行两个无符号数相加.请编主程序及子程序.
解 用R0和R1作数据指针,R0指向第一个加数,并兼作"和"的指针,R1指向另一个加数,字节存放到R2中作计数初值.
主程序:
JAFA: MOV R0,#20H ,指向加数最低字节
MOV R1,#29H ,指向另一加数最低字节
MOV R2,#04H ,字节数作计数值
ACALL JASUB ,调用加法子程序
AJMP $
RTE
多字节加法子程序:
JASUB: CLR C
JASUB1: MOV A,@R0 ,取出加数的一个字节(4B无符号数加数)
ADDC A,@R1 ,加上另一数的一个字节
MOV @R0,A ,保存和数
INC R0 ,指向加数的高位
INC R1 ,指向另一加数的高位
DJNZ R2,JASUB1 ,全部加完了吗
RET
8 若图数据块是有符号数,求正数个数,编程并注释.
解 ORG 0030H
START: MOV 20H,#00H ,计正数个数计数器
MOV DPTR,#0000H ,
MOVX A,@DPTR ,数据块长度→10H
MOV 10H,A
INC DPTR ,DPTR指向第一个数的地址
TWO: MOVX A,@DPTR ,取数→A
JB ACC.7,ONE ,是负数转ONE,准备取下一个数
INC 20H ,是正数,正数计数器加1
ONE: INC DPTR ,地址指针加1
DJNZ 10H,TW ,数据块长度减1不等于0,继续寻找
RET
9 编制一个循环闪烁灯的程序.有8个发光二极管,每次其中某个灯闪烁点亮10次后,转到下一个闪烁10次,循环不止.画出电路图.
解
P1.0
8013
P1.7 D0 Q0
74LS240
D7 Q7
本程序的硬件连接如图所示.当P1.0输出高电平时,LED灯亮,否则不亮.
其程序如下:
MOV A,#01H ,灯亮初值
SHIFT: LCAIL FLASH ,调闪亮10次子程序
RR A ,右移一位
SJMP SHIFT ,循环
FLASH: MOV R2,#0AH 闪烁10次计数
FLASH1, MOV P1,A ,点亮
LCALL DELAY ,延时
MOV P1,#00H ,熄灭
LCALL DELAY ,延时
DJNZ R2,FLASH1 ,循环
RET
5V