单片机主要使用汇编语言

合集下载

单片机习题及参考答案

单片机习题及参考答案

(一)填空题1. 除了“单片机”之外,单片机还可以称之为单片微控制器和单片微型计算机。

2. 专用单片机由于已经把能集成的电路都集成到芯片内部了,所以专用单片机可以使系统结构最简化,软硬件资源利用最优化,从而极大地提高了可靠性和降低了成本。

3. 在单片机领域内,ICE的含义是在线仿真器(In Circuit Emulator)。

4. 单片机主要使用汇编语言,而编写汇编语言程序要求设计人员必须精通和指令系统,单片机硬件结构。

5. CHMOS工艺是 CMOS 工艺和 HMOS 工艺的结合,具有低功耗的特点。

6. 与8051比较,80C51的最大特点是所用CHMOS工艺。

7. 微控制技术是对传统控制技术的一次革命,这种控制技术必须使用单片机才能实现。

(二)选择题1.下列简写名称中不是单片机或单片机系统的是(A)MCU (B)SCM (C)ICE (D)CPU2.在家用电器中使用单片机应属于计算机的是(A)数据处理应用(B)控制应用(C)数值计算应用(D)辅助工程应用3.80C51与80C71的区别在于(A)内部程序存储器的类型不同(B)内部数据存储器的类型不同(C)内部程序存储器的容量不同(D)内部数据存储器的容量不同4.8051与80C51的区别在于(A)内部ROM的类型不同(B)半导体工艺的形式不同(C)内部寄存单元的数目不同(D)80C51使用EEPROM,而8051使用EPROM5.在下列单片机芯片中使用掩膜ROM作为内总程序存储器的是(A)8031 (B)80C51 (C)8032 (D)87C516.80C51芯片采用的半导体工艺是(A)CMOS (B)HMOS (C)CHMOS(D)NMOS7.单片机芯片8031属于(A)MCS-48系列(B)MCS-51系列(C)MCS-96系列(D)MCS-31系列8.使用单片机实现在线控制的好处不包括(A)精确度高(B)速度快(C)成本低(D)能与数据处理结合9.以下所列各项中不是单片机发展方向的是(A)适当专用化(B)不断提高其性能(C)继续强化功能(D)努力增加位数第二章课后习题参考答案(一)判断题1.用户构建单片机应用系统,只能使用芯片提供的信号引脚。

单片机c51的特点与使用

单片机c51的特点与使用

单片机c51的特点与使用单片机(Microcontroller)是一种集成了处理器核心、存储器和外设接口的微型计算机系统。

其中,C51是一种常见的单片机系列,特点突出,广泛应用于各个领域。

本文将详细介绍C51单片机的特点及其使用方法。

一、C51单片机的特点C51单片机具有以下几个特点:1. 体积小巧:C51单片机以芯片的形式存在,体积小巧、轻便灵活。

它将CPU、存储器及外设接口等功能融合在一个芯片内,实现了高集成度的设计。

2. 低功耗:C51单片机功耗较低,适用于通过电池供电或要求长时间运行的应用场景。

其低功耗特点可以延长电池寿命,提高系统的稳定性。

3. 强大的功能:C51单片机内部集成了高性能的CPU核心,具有较大的存储空间和灵活的输入输出接口。

这使得C51单片机适合用于各种复杂的应用,如智能家居控制、工业自动化等。

4. 易于学习和使用:C51单片机的编程语言较为简单,主要采用C语言或汇编语言进行开发。

相关的开发工具和调试工具也较为完善,新手可以迅速上手并进行开发。

5. 兼容性强:C51单片机具有广泛的兼容性,支持多种外设与模块的接口,可以方便地与其他设备进行通信和数据交互。

二、C51单片机的使用方法1. 硬件设计:在使用C51单片机之前,首先需要进行相应的硬件设计。

根据具体需求,选择合适的C51单片机型号,确定所需的外设接口和引脚分配。

然后,按照硬件设计原理图进行电路设计和布局。

2. 编写程序:根据具体应用需求,使用C语言或汇编语言编写相应的程序。

在编写程序时,可以利用C51单片机所提供的开发工具,如Keil C51等。

编写程序时,应注意代码的可读性和模块化设计,方便后期维护和调试。

3. 编译和下载:将编写好的程序通过编译器进行编译成机器语言。

编译成功后,将程序下载到C51单片机中。

下载方法可以通过串口下载、仿真器下载等方式进行。

4. 调试与测试:在将程序下载到C51单片机后,进行相应的调试和测试。

单片机原理及应用教学教案

单片机原理及应用教学教案

第一讲一、授课内容:1、什么是单片机2、单片机的发展二、授课类型:讲授三、授课时数:2学时四、教学目标:了解单片机的发展,应用领域和应用模式,掌握单片机的特点五、教学重、难点:重点/难点:单片机的特点六、教学设想:借助产品、作品演示,一方面可以使课堂生动,另一方面可以腾出大量时间加强对重难点知识的讲解,增强学生对知识的理解,同时提高他们对本学科的兴趣.七、教学过程:(板书)一、什么是单片机随着微电子技术的不断发展,计算机技术也得到迅速发展,并且由于芯片的集成度的提高而使计算机微型化,出现了单片微型计算机(Single Chip Computer),简称单片机,也可称为微控制器MCU(Micro controller Unit)。

单片机,即集成在一块芯片上的计算机,集成了中央处理器CPU(Central Processing Unit)、随机存储器RAM(Random Access Memory)、只读存储器(Read Only Memory)、定时器/计数器以及I/O接口电路等主要计算机部件。

二、单片微型计算机发展概况单片机出现的历史并不长, 但发展十分迅猛。

它的产生与发展和微处理器的产生与发展大体同步, 自1971年美国Intel公司首先推出4位微处理器(4004)以来, 它的发展到目前为止大致可分为5个阶段:第1阶段(1971~1976): 单片机发展的初级阶段。

1971年11月Intel 公司首先设计出集成度为2 000只晶体管/片的4位微处理器Intel 4004, 并配有RAM、 ROM和移位寄存器, 构成了第一台MCS—4微处理器, 而后又推出了8位微处理器Intel 8008, 以及其它各公司相继推出的8位微处理器。

第2阶段(1976~1980): 低性能单片机阶段。

以1976年Intel公司推出的MCS—48系列为代表, 采用将8位CPU、 8位并行I/O接口、 8位定时/计数器、 RAM和ROM等集成于一块半导体芯片上的单片结构, 虽然其寻址范围有限(不大于4 KB), 也没有串行I/O, RAM、 ROM容量小, 中断系统也较简单, 但功能可满足一般工业控制和智能化仪器、仪表等的需要。

51单片机汇编语言教程

51单片机汇编语言教程

例:写出以下单片机程序的运行结果
MOV 30H,#12
MOV 31H,#23
PUSH 30H
PUSH 31H
POP 30H
POP 31H
结果是30H中的值变为23,而31H中的值则变为12。也就两者进行了数据交换。从这个例程能看出:使用堆栈时,入栈的书写次序和出栈的书写次序必须相反,才能保证数据被送回原位,不然就要出错了。
标号的真实含义:从这个地方也能看到另一个问题,我们使用了标号来替代具体的单元地址。事实上,标号的真实含义就是地址数值。在这里它代表了,0,1,4,9,16,25这几个数据在ROM中存放的起点位置。而在以前我们学过的如LCALL DELAY单片机指令中,DELAY 则代表了以DELAY为标号的那段程序在ROM中存放的起始地址。事实上,CPU正是通过这个地址才找到这段程序的。
能通过以下的例程再来看一看标号的含义:
MOV DPTR,#100H
MOV A,R0
MOVC A,@A+DPTR
ORG 0100H.
DB 0,1,4,9,16,25
如果R0中的值为2,则最终地址为100H+2为102H,到102H单元中找到的是4。这个能看懂了吧?
那为什么不这样写程序,要用标号呢?不是增加疑惑吗?
这有什么意义呢?ACC中的值本来就是100,B中的值本来就是20,是的,在本例中,的确没有意义,但在实际工作中,则在PUSH B后一般要执行其他指令,而且这些指令会把A中的值,B中的值改掉,所以在程序的结束,如果我们要把A和B中的值恢复原值,那么这些指令就有意义了。
还有一个问题,如果我不用堆栈,比如说在PUSH ACC指令处用MOV 60H,A,在PUSH B处用指令MOV 61H,B,然后用MOV A,60H,MOV B,61H来替代两条POP指令,不是也一样吗?是的,从结果上看是一样的,但是从过程看是不一样的,PUSH和POP指令都是单字节,单周期指令,而MOV指令则是双字节,双周期指令。更何况,堆栈的作用不止于此,所以一般的计算机上都设有堆栈,单片机也是一样,而我们在编写子程序,需要保存数据时,常常也不采用后面的办法,而是用堆栈的办法来实现。

单片机汇编语言

单片机汇编语言
20112011-9-25 14
以直接地址为目的操作数的指令( 3.3.3 以直接地址为目的操作数的指令(5条) direct, MOV direct,A direct, MOV direct,Rn direct1, MOV direct1,direct2 direct, MOV direct,@Ri direct, MOV direct,#data 这组指令功能是把源操作数指定 源操作数指定的内容送入由直接 这组指令功能是把源操作数指定的内容送入由直接 地址指出的片内存储单元。 地址指出的片内存储单元。 例: MOV 20H,A
20112011-9-25
9
如:JC
23
指令代码
程序存储区 1000H 1001H 1002H 40 23 30 … 47 45
当前PC
… 1024H 1025H
23H
1002H ALU 1025H
20112011-9-25
10
3.2.7 位寻址 Bit Addressing
对片内RAM的位寻址区和某些可位寻址的特殊功 对片内RAM的位寻址区和某些可位寻址的特殊功 RAM 和某些可位寻址 能寄存器进行位操作时的寻址方式。 能寄存器进行位操作时的寻址方式。 如: SETB CLR 27H.5位置 位置1 3DH; 将27H.5位置1 C ;Cy位清0 Cy位清0 位清
Register Addressing 对选定的工作寄存器R0~R7、累加器A 通用寄存器B 对选定的工作寄存器R0~R7、累加器A、通用寄存器B、 R0 地址寄存器DPTR中的数进行操作。 DPTR中的数进行操作 地址寄存器DPTR中的数进行操作。 A,R0; R0工作寄存器中的数据送到累加器 中去。 工作寄存器中的数据送到累加器A 例:MOV A,R0;将R0工作寄存器中的数据送到累加器A中去。

单片机c51汇编语言51单片机汇编语言

单片机c51汇编语言51单片机汇编语言

单片机c51汇编语言51单片机汇编语言单片机C51汇编语言单片机(C51)是指一种集成电路上只包含一个集中式控制器的微处理器,具有完整的CPU指令集、RAM、ROM、I/O接口等功能。

汇编语言是一种低级语言,是用于编写单片机指令的一种语言。

汇编语言能够直接操作单片机的寄存器和输入/输出端口,因此在嵌入式系统的开发中非常重要。

本文将介绍单片机C51的汇编语言编程。

一、了解单片机C51单片机C51是目前应用最广泛的一种单片机系列,广泛用于各种电子设备和嵌入式系统的开发。

C51指的是Intel公司推出的一种基于MCS-51架构的单片机。

该系列单片机具有较高的性能和低功耗的特点,可用于各种控制和通信应用。

二、汇编语言的基本概念汇编语言是一种低级语言,与机器语言紧密相关。

它使用助记符来代替机器指令的二进制表示,使程序的编写更加易读。

在单片机C51汇编语言中,每一条汇编指令都对应着特定的机器指令,可以直接在单片机上执行。

三、汇编语言的基本指令在单片机C51汇编语言中,有一些基本的指令用于控制程序的执行和操作寄存器。

以下是一些常用的指令:1. MOV指令:用于将数据从一个寄存器或内存单元复制到另一个寄存器或内存单元。

2. ADD指令:用于将两个操作数相加,并将结果存储到目的寄存器中。

3. SUB指令:用于将第一个操作数减去第二个操作数,并将结果存储到目的寄存器中。

4. JMP指令:用于无条件跳转到指定的地址。

5. JZ指令:用于在条件为零时跳转到指定的地址。

6. DJNZ指令:用于将指定寄存器的值减一,并根据结果进行跳转。

四、编写单片机C51汇编程序的步骤编写单片机C51汇编程序需要按照以下步骤进行:1. 确定程序的功能和目标。

2. 分析程序的控制流程和数据流程。

3. 设计算法和数据结构。

4. 编写汇编指令,实现程序的功能。

5. 调试程序,并进行测试。

六、实例演示以下是一个简单的单片机C51汇编程序的示例,用于实现两个数的相加,并将结果输出到LED灯上:org 0H ; 程序的起始地址为0mov a, 05H ; 将05H赋值给累加器mov b, 07H ; 将07H赋值给B寄存器add a, b ; 将A寄存器和B寄存器的值相加mov P1, a ; 将相加结果输出到P1口end ; 程序结束在这个例子中,首先将05H赋值给累加器A,然后将07H赋值给B寄存器,接着使用ADD指令将A和B的值相加,将结果存储到累加器A中,最后将累加器A的值输出到P1口。

51单片机汇编语言教程

51单片机汇编语言教程

51单片机汇编语言教程汇编语言是一种低级程序设计语言,直接操作计算机硬件,能够充分发挥硬件的性能,是学习嵌入式系统开发的基础。

而51单片机是广泛应用于嵌入式系统中的一种微控制器,具有功能强大、易于掌握等特点。

本篇文章将为大家介绍51单片机汇编语言的基本概念、编程指令以及应用实例,帮助读者快速入门。

一、51单片机汇编语言概述1.1 51单片机简介51单片机是一种由英特尔公司设计的8位微控制器,其核心是一个CPU,具有RAM、ROM、I/O端口等外围设备。

它采用的是汇编语言编程,具有指令集简单、易于学习等特点,因此深受嵌入式系统开发者的喜爱。

1.2 汇编语言的基本概念汇编语言是一种低级语言,与高级语言相比,更接近计算机底层的硬件操作。

在汇编语言中,程序员通过编写指令来告诉计算机具体的操作,如数据存储、运算等。

二、51单片机汇编语言基础知识2.1 寄存器寄存器是51单片机中的一种重要的存储设备,用于存储数据、地址等信息。

51单片机共有32个寄存器,其中一部分用于存储通用数据,一部分用于存储特定功能的数据。

在汇编语言编程中,我们可以使用这些寄存器来存储数据和进行运算。

2.2 程序存储器程序存储器是51单片机中存储程序的地方,它可以分为ROM和RAM两种类型。

其中,ROM存储的是不可修改的程序代码,而RAM 存储的是可以读写的数据。

2.3 I/O端口I/O端口是51单片机与外部设备进行数据交互的接口,通过输入/输出指令,可以实现数据的输入与输出。

在汇编语言中,我们需要了解如何使用I/O端口来与外部设备进行通信。

三、51单片机汇编语言编程指令3.1 数据传输指令数据传输指令用于将数据从一个地方传输到另一个地方。

常用的数据传输指令有MOV、MOVC、MOVX等,通过这些指令可以实现数据的读取、存储和传输等操作。

3.2 算术运算指令算术运算指令用于对数据进行加、减、乘、除等运算操作。

51单片机中的算术运算指令包括ADD、SUB、MUL、DIV等,通过这些指令可以对数据进行各种运算操作。

单片机主要使用汇编语言

单片机主要使用汇编语言

单片机主要使用汇编语言单片机(Microcontroller)是一种集成了微处理器、存储器和外设接口的微型计算机系统,常用于控制和监控等应用领域。

在单片机的编程中,汇编语言是一种重要的编程语言,它可以直接操作单片机的寄存器和硬件资源,实现精确而高效的控制。

一、汇编语言概述汇编语言是一种低级的编程语言,它与机器语言相近,使用助记符来表示指令和数据。

与高级语言相比,汇编语言对计算机硬件的控制更加直接。

汇编语言的学习曲线较陡,但一旦掌握,可以发挥出更强大的性能和灵活性。

二、单片机编程的优势1. 效率高:汇编语言充分发挥了单片机的性能,可以精确地控制硬件资源,提高程序的效率。

2. 资源少:相对于高级语言,汇编语言在存储空间和处理器方面要求较低,适用于资源受限的应用场景。

3. 灵活性强:汇编语言可直接操控寄存器和外设,可以按需定制功能,适应各种硬件需求。

4. 调试方便:由于汇编语言直接操作硬件,对于调试和排错非常方便,有助于提高开发效率。

三、汇编语言的基本结构汇编语言的基本单元是指令(Instruction),每条指令可包含操作码(Opcode)、操作数(Operand)和注释(Comment)。

操作码表示要执行的操作,操作数为操作码的参数,注释用于解释指令的作用和用途。

四、汇编语言的寄存器寄存器是单片机中用于存储和操作数据的重要硬件资源,通过它可以实现数据的传输、运算和控制。

常用的寄存器包括程序计数器(PC)、累加寄存器(ACC)、状态寄存器(SR)等。

在汇编语言中,使用寄存器可以提高程序的执行效率。

五、汇编语言的基本指令汇编语言提供了一系列的基本指令,可以用于实现算术运算、逻辑运算、条件判断、循环和数据传输等常见操作。

例如,MOV指令用于数据的传输,ADD指令用于整数的加法运算,CMP指令用于比较运算等。

六、汇编语言的开发环境为了编写和调试汇编语言程序,需要选择适合的开发环境。

常用的汇编语言开发工具有Keil C51、IAR Embedded Workbench等,它们提供了汇编编译器、调试器和仿真器等功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.单片机主要使用汇编语言,而编写汇编语言程序设计人员必须精通(指令系统)和(单片机硬件结构)。

2.CHMOS工艺是(CMOS)工艺和(HMOS)工艺结合,具有(低功耗)的特点。

3.与8051比较80C51的最大特点是(使用CHMOS工艺)。

4.MCS—51单片机的时钟电路包括2部分,即芯片内的(高增益反相放大器)和芯片外跨接的(晶体振荡器)与(微调电容)。

5.在MCS—51中,位处理器的数据位存储空间是由(专用寄存器)的可寻址位和内部RAN为寻址区的(128)个位。

6.MCS—51的4个I/O口中,P0是真正的双向口,而其它的口则为准双向的,这一区别在口线电路结构中表现在(口的输出缓冲器)的不同上。

7.在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的(地址)。

8.在直接寻址方式中,只能使用(8)位二进制数作为直接地址,因此其寻址对象只限于(内部RAM)。

9.在变址寻址方式中,以(累加器A)作变址寄存器,以(DPTR)或(PC)作基址寄存器。

10.在相对寻址方式中,寻址得到的结果是(程序转移的目的地址)。

11.中断技术是解决资源竞争的有效方法,因此可以说中断技术实质上是一个资源(共享)技术。

12.中断采样用于判断是否有中断请求信号,但MCS——51中只有(外中断)才有中断采样的问题。

13.响应中断后,首先把(PC)内容压入堆栈,然后把长指令送(PC),使程序转向(程序存储器)中的地址区。

14.从单片机的角度看,连接到数据总线的输出口应具有(锁存)功能,连接到数据总线的输入口应具有(三态缓冲)功能。

15.在MCS—51单片机系统中,采用的编址方式是(统一编址方式)。

16.在查询和中断两种数据输入输出控制方式中,效率较高的是(中断方式)。

17.输入口扩展是为了实现数据的(缓冲)功能,输出口扩展是为了实现数据的(锁存)功能。

18.异步串行数据通信侦格式由(起始)位、(数据)位、(奇偶校验)位和(停止)位组成。

19.串行接口电路的主要功能是(串行)化和(反串行)化,把侦中格式信息滤除而保留数据位的操作是(反串行)化。

20.MCS—51的串行口在工作方式0下,是把串行口作为(同步移位)寄存器使用。

在串入并出移位下作(并行输出)口使用,在并入串出移位下作(并行输入)口使用。

21.使用定时器/计数器1设置串行通信波特率时,应把定时器/计数器1设定为工作方式(2),即(自动重新加载)方式。

22.D/A转换必须设置数据锁存器,这是因为(转换需要一定时间才能完成,数字量需要稳定一段时间)。

23.对于电流输出的D/A转换器,为了得到电压的转换结果,应使用(运算放大器)。

24.在脉冲调控法控制电机启动和调节电机转速的控制电路中,可使用D/A转换器产生(调控脉冲)。

25.使用双缓冲方式的D/A转换器,可以实现多路模拟信号的(同步)输出。

26.A/D转换器,按转换原理可分为4种,即(计数)式、(双积分)式、(涿次逼近)式和(并行)式。

27.A/D转换器芯片ADC0809中,可作为查询的状态标志,可作为中断请求信号使用的(转换结束)信号。

28.把数/模转换器转换的数据传送给单片机,可使用的控制方式有(定时传送)、(查询)和(中断)3中。

29.假定累加器A是内容为30H,执行指令:1000H:MOVC A,·A+PC后把(1031H)单元送A中。

30.DPTR内容8100H,A内容40H执行MOVC A,·A+DPTR后送入A的是(8140H)单元的内容。

31.SP=60H,ACC=30H,B=70H,执行PUSH ACC PUSH B后SP为62H,61H为30H,62H为70H。

32.SP=62H,(61H)=30H,(62H)=70H执行POP DPH POP DPL后DPTR为7030H,SP为60H。

33.A=50H,B=0A0H执行MUL AB后,B为32H,A为00H,CY为0,OV为1。

34.A=0FBH,B=12H执行DIV AB后,A为0DH,B为11H,CY为0,OV为0。

35.A=83H,R0=17H,(17H)=34H,执行ANL A,#17H ORL 17H,A XRL A,@R0 CPL A后,A的内容为(CBH)。

1.80C51与87C51的区别在于(内部程序存储器的类型不同)。

2.80C51芯片采用的半导体工艺是(CHMOS)。

3.对程序计数器PC的操作(是自动进行啊)。

4.单片机程序存储器的寻址范围由PC决定,MCS—51的PC为16位,因此其寻址范围是(64KB)。

5.PC和DPTR的结论中错误的是(它们都具有加“1”功能)。

6.不属于位处理器资源的是(通用寄存器的可寻址位)。

7.在相对寻址方式中,“相对”是指相对于(当前指令的末地址)。

8.对程序存储器的读操作,只能使用(MOVC指令)。

9.执行返回指令时,返回的断点是(调用指令下一条指令的首地址)。

10.可以为访问程序存储器提供和构成地址的有(PC、A、DPTR)。

11.原来寄存器0组为当前寄存器,现要改1组为当前寄存器组,不能使用指令(MOV PSW。

3,1)。

12.不是给程序存储器扩展使用的是(/WR).13.不是给数据存储器扩展使用的是(/EA).14.2片INTEL2732(4K×8),除应使用P0的8条外,还至少使用P2口的口线(5条).15.中断查询,查询的是(中断标志位).16.在MCS—51中需要外加电路实现的中断撤除的是(电平方式的外部中断).17.执行中断返回指令,要从堆栈弹出断点地址, 从堆栈弹出的断点地址送给(PC).18.MCS—51中断优先级叙述中,错误的是(同时同级的多中断请求,将形成阻塞,系统无法响应).19.三态缓冲器的输出应具有3种状态,其中不包括(低阻抗状态).20.在接口电路中的“口”一定的一个(可编址的寄存器).21.在LED显示中,为了输出位控和段控信号,应使用指令(MOVX).22.在D/A转换\并分时输入数据应用中,它的2级数据锁存结构可以(保证各模拟电压能同时输出).23.把DAC0832连接双缓冲方式数据转换中,错误的是(在程序中使用一条MOVX指令输出数据).24.执行MOV SP,#3AH/ MOV A,#20H / MOV B,#30H/ PUSH ACC/PUSH B/ POP ACC/ POP B后,A和B的内容为(30H 20H)1.MCS—51单片机的/EA信号有何功能?在使用8031时/EA信号引脚如何处理?答:/EA访问程序存储器控制信号,当/EA信号为低电平时,则对ROM的读操作限定在外部程序存储器,而当/EA信号为高电平时,则对ROM的读操作的从内部程序存储器开始,并可延续至外部程序存储器.在使用8031时/EA信号引脚应接地.2.内部RAM低128单元划分为哪3个主要部分?说明个部分的使用特点答:分为寄存器区\位寻址区\用户RAM区寄存器区:一般有2种使用方法1是以寄存器的形式使用,用寄存器符号表示,2是以存储单元的形式使用,以单元地址表示.位寻址区:一种是以位地址的形式,另一种是以存储单元地址加位的形式表示.用户RAM区:只能以存储单元的形式使用,其它没有任何规定和限制.3.堆栈有哪些功能?堆栈指示器(SP)的作用是什么?在程序设计时,为什么要对SP重新赋值?答:堆栈功能:保护断点和保护现场.SP的作用:为了指示栈顶地址所以要设置堆栈指示器(SP)SP的内容一经确定,堆栈的位置也就跟着确定下来,因为堆栈的位置的浮动的,所以要对SP的初始化赋不同的值.4.使单片机复位有几种方法?复位后机器的初始状态如何?答:复位操作有上电自动复位和按键手动复位两重方式.. 复位后单片机进入初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序.1.把长度为10HD的字符串从内部RAM的输入缓冲区inbuf向设在外部RAM的输出缓冲区outbuf进行传送,一直进行到遇见回车符CR或整个字符串传送完毕。

MOV R0,#inbuf/ MOV DPTR,#outbuf/ MOV R,#10H/ LOOP1:MOV A,@R0/ CJNE A,#0DH,LOOP2/ SJMP HERE/ LOOP2:MOVX @DPTR A/ INCR0/ INC DPTR/ DJNZ R1,LOOP1/HERE:SJMP HERE / END2.内部RAM从list单元开始存放一正数表,表中之数作无序排列,并以“—1”作结束标志。

找出最小数。

MOV R0,#list/ LOOP1:MOV A,@R0/ CJNE A,#0FFH,LOOP2/ SJMPHERE/ LOOP2:INC R0/ MOV R1,A/ CLR C/ SUBB A,@R0/ JC LOOP3/MOV A,@R0/ LOOP3:INC R0/ MOV A,R1/ SJMP L1/ HERE:SJMP HERE/ END3.搜索一串ASCII码字符中最后一个非空格字符,字符串从外部RAM8100H单元开始存放,并用一个回车符(0DH)作结束。

编程实现搜索并把搜索到的非格字符的地址存入内部RAM单元40H和41H中,其中高字节放入41H单元。

MOV DPTR,#8100H/ LOOP1:MOVX A,@DPTR/ INC DPTR/ CJNE A,#0DH,LOOP1/ LOOP2:DEC DPL/ MOVX A,@DPTR/ CLR C/ SUBB A,#20H/ JZ LOOP2/ MOV 41H,DPH/ MOV 40H,DPL/ SJMP $/ END4.从内部RAM20H单元开始存放一组带符号数,字节个数存在1FH中。

请统计出其中大于0、等于0和小于0的数的数目,并把统计结果分别存入ONE、TWO、THREE3个单元中。

MOV R0,#20H/ MOV ONE,#00H/ MOV TWO,#00H/ MOV THREE,#00H/ L0:MOV A,@R0/ JNZ L1/ INC TWO/ SJMP L2/ L1:JNB ACC.7,L3/ INC THREE/ SJMP L3/ L3:INC ONE/ L2:INC R0/ DJNZ 1FH,L0/ HERE:SJMP HERE5.5个双字节数,存放在外部RAM从barf开始的单元中,求它们和,把和存放在sum单元中,请编程实现。

MOV R0,#barf/ MOV R3,#05H/ MOV R1,#SUM/ MOV R2,#03H/CLR A/ L1:MOV @R1,A/ DJNZ R2,L1/ L2:CLR C/ MOV R1,#SUM/ MOV A,@R1/ SDDC A,@R0/ MOV @R1,A/ INC R0/INC R1/ MOV A,@R0/ MOV A,R1,A/ INC R0/ MOV A,#00H/ MOV@R1,A/ INC R0/ DJNZ R3,L2HERE:SJMP HERE6.有晶振频率为6MHZ的MCS—51单片机,使用定时器0以定时方法在P1.0输出周期为400us,占空比为10:1的矩形脉冲,以定时工作方式2编程实现.X1=28-20=236=0ECH X2=28-180=76=4CHORG 0000H/ AJMP MAIN/ ORG 000BH/ AJMP S1/ ORG 0500H/MAIN:MOV TMOD,@#02H/ SETB P1.0/MOV TL0,#0ELH/ MOV TH0,#4CH/ MOV A,#0ECH/ SETB EA/ SETB ET0/SETB TL0/ HERE:SJMP HERE/ORG 06OOH/ S1:CPL P1.0/ XCH A,TH0/ RETI5.什么是指令周期,机器周期和时钟周期?如何计算机器周期的确切时间?答:指令周期的最大的时序定时单位,执行一条指令所需要的时间称之为指令周期.规定一个机器周期的宽度为6个状态,并依次表示为S1~S6.由于一个状态又包括2个节拍,因此一个机器周期总共有12个节拍,分别记作S1P1,S1P2,…….S6P2.由于一个机器周期共有12个振荡脉冲周期,因此机器周期就是振荡脉冲的十二分频.当振荡脉冲频率为12MHZ时,一个机器周期为1us,当震荡脉冲频率为6MHZ时,一个机器周期为2us.6.定时的方法有? 答:软件定时;硬件定时;可编程定时器定时.7.中断响应是有条件的,当存在哪些情况时,中断响应被封锁?答○1CPU正处在为一个同级或高级的中断服务中;○2查询中断请求的机器周期不是当前指令的最后一个机器周期;○3当前指令是返回指令(RET,RETI)或访问IE、IP的指令.在MCS-51单片机系统中,外接程序存储器和数据存储器共用16位地址线和8位数据线,为什么不会冲突?答:指令区分,读外部ROM使用指令“MOVC”读外部RAM使用指令“MOVX”选通信号,外部ROM的选通信号为PSEN,外部RAM的选通信号为RD和WR。

相关文档
最新文档