单片机原理及应用chp04[1]

合集下载

单片机的工作原理与应用

单片机的工作原理与应用

单片机的工作原理与应用单片机(Microcontroller)是一种集成了微处理器核心、存储器、输入输出接口和时钟等基本功能的微型计算机系统。

它由微处理器、存储器、输入输出(I/O)端口、计时/计数器等部件组成。

单片机广泛用于电子产品中,如家电、车载设备、工业自动化、医疗设备等领域。

本文将详细介绍单片机的工作原理以及应用领域。

一、单片机的工作原理1.1 微处理器核心单片机的微处理器核心通常采用ARM、MCS-51等架构。

微处理器核心是单片机最重要的部分,负责解析和执行程序指令。

它包含算术逻辑单元(ALU)、寄存器以及总线接口等重要模块,能够对数据进行运算和逻辑操作。

1.2 存储器单片机内部集成了不同类型的存储器,包括程序存储器(ROM或Flash)和数据存储器(RAM)。

程序存储器用于存放程序指令,数据存储器用于存放程序执行过程中的临时数据。

存储器的容量决定了单片机能够存储的程序和数据量的大小。

1.3 输入输出接口单片机通过输入输出接口实现与外部设备的数据交互。

输入接口用于接收外部设备的信号输入,而输出接口用于向外部设备输出数据。

常见的输入输出接口包括GPIO(通用输入输出口)、串口、模拟/数字转换器(ADC/DAC)等。

1.4 时钟单片机需要一个准确的时钟信号来同步其工作。

时钟信号可以是外部引脚接入的晶振,也可以是内部产生的振荡电路。

时钟信号的频率决定了单片机的工作速度,一般以MHz为单位。

二、单片机的应用领域2.1 家电单片机在家电领域有着广泛的应用。

例如空调、洗衣机、电视等家电产品经常使用单片机作为控制器,实现功能的调控和智能化操作。

2.2 车载设备单片机在车载设备中发挥着重要作用。

汽车电子控制单元(ECU)就是由单片机实现的,它可以监测和控制车辆的各种系统,如发动机控制、制动系统等,提高了车辆的性能和安全性。

2.3 工业自动化工业自动化是单片机的另一大应用领域。

单片机通过与传感器、执行器等设备的配合,实现工业生产中的自动控制、数据采集和处理等功能。

单片机原理与应用

单片机原理与应用

单片机原理与应用单片机(Microcontroller,简称MCU)是一种高度集成的计算机系统,具备微处理器、存储器和外设等功能模块,广泛应用于各个领域。

本文将介绍单片机的原理与应用。

一、单片机的原理单片机内部由中央处理器(CPU)、存储器、输入/输出端口(I/O Port)和时钟电路等组成。

中央处理器是单片机的核心,负责执行指令和数据处理。

存储器用于存储程序指令和数据,包括ROM(只读存储器)和RAM(随机存储器)。

输入/输出端口用于与外部设备进行通信。

时钟电路提供系统的时钟信号,用于同步各个模块的操作。

单片机工作时,首先读取存储器中的程序指令,然后解码执行。

通过输入/输出端口与外部设备进行数据传输,实现各种功能。

由于单片机集成度高、功耗低,可编程性强,并且具备丰富的接口和外设,因此被广泛应用于嵌入式系统、电子设备控制、通信等领域。

二、单片机的应用1. 嵌入式系统嵌入式系统是指集成了计算机处理器、存储器和软件等的特定功能系统。

单片机作为嵌入式系统的核心,广泛应用于智能家居、工业自动化、汽车电子、医疗设备等领域。

例如,智能家居系统通过单片机控制各种家电设备的自动化运行,实现舒适、便捷的家居体验。

2. 电子设备控制单片机在电子设备中的应用非常广泛,如电视机、空调、洗衣机等消费电子产品中常见。

通过单片机控制,这些设备可以实现功能多样化、智能化的操作。

另外,单片机在各种电源管理电路、电池管理电路中也发挥着重要作用,提高系统的效率和稳定性。

3. 通信领域在通信领域,单片机用于实现各种通信协议和通信接口,如UART (串口通信)、SPI(串行外设接口)等。

单片机可以控制数据的传输和处理,实现与外部设备的高效通信。

此外,单片机还可以用于无线通信模块的控制,如蓝牙、Wi-Fi等,实现无线传输功能。

4. 自动化控制单片机被广泛应用于工业自动化领域,实现生产线上的自动化控制。

通过采集传感器数据、执行控制算法,单片机可以控制各种工业设备的运行,提高生产效率和品质。

单片机的工作原理及应用

单片机的工作原理及应用

单片机的工作原理及应用工作原理单片机是一种集成电路,是由微处理器、存储器、输入输出口以及时序控制电路等多种功能组件集成在一片硅芯片上的集成电路。

其工作原理主要包含以下几个方面:1.微处理器单元(CPU):单片机的核心部分,负责执行程序指令,控制各个功能模块的工作。

2.存储器单元:单片机内部包含的存储器包括程序存储器(ROM)和数据存储器(RAM)。

程序存储器存储了单片机的程序代码,数据存储器用于存储数据。

3.输入输出口:单片机通过输入输出口与外部设备进行数据交互。

输入口用于接收外部信号,如按钮、开关等;输出口用于控制外部设备的工作,如LED灯、电机等。

4.时序控制电路:单片机的时序控制电路用于实现各个模块的协调工作,按照一定的时序进行指令执行和数据处理。

应用领域单片机由于其体积小、功耗低、性能稳定等特点,广泛应用于各个领域。

以下列举几个常见的应用领域:嵌入式系统单片机在嵌入式系统中得到了广泛应用。

嵌入式系统是指将计算机技术应用于非计算机领域中的系统,如家用电器、汽车设备、医疗设备等。

单片机作为嵌入式系统的核心控制器,控制设备的运行和交互。

自动化控制单片机在自动化控制中充当了重要的角色。

通过输入外部传感器的信号,单片机可以对控制对象进行控制和调节。

例如,工业生产中常用的温度控制、湿度控制等都需要使用单片机来实现。

电子产品单片机在各类电子产品中得到了广泛应用。

如手机、数码相机、电视机等,这些电子产品中的控制和功能实现大部分都依赖于单片机的工作。

DIY电子对于电子爱好者来说,单片机是进行DIY电子的重要工具。

通过单片机的编程和控制,可以实现各种有趣的电子项目,如智能家居、机器人等。

结语单片机作为一种重要的集成电路,具备了小巧、低功耗、可靠性强等特点,在各个领域得到了广泛的应用。

对于从事电子相关工作的人员来说,了解单片机的工作原理及其应用是非常重要的基础知识。

通过不断学习和实践,我们可以更加深入地了解单片机,并应用于实际项目中。

单片机的基本原理和应用

单片机的基本原理和应用

单片机的基本原理和应用单片机(Microcontroller)是一种集成电路芯片,主要由中央处理器(CPU)、存储器、输入输出端口等基本部件组成,具有可编程功能。

它被广泛应用于各种电子设备和系统中,如家电、汽车电子、医疗仪器等。

本文将探讨单片机的基本原理和应用。

一、基本原理单片机的基本原理涉及到以下几个方面:1.1 中央处理器(CPU)单片机的核心部件是中央处理器,它负责执行程序指令、完成各种运算和逻辑操作。

中央处理器通常由算术逻辑单元(ALU)、寄存器组、控制单元等部件组成。

1.2 存储器存储器是单片机用于存储程序指令和数据的部件。

常见的存储器包括随机存取存储器(RAM)和只读存储器(ROM)。

RAM用于暂时存储数据和程序运行时的临时变量,而ROM用于存储不可修改的程序指令和常量数据。

1.3 输入输出端口单片机通过输入输出端口与外部设备进行数据交互。

输入端口用于接收外部信号,如传感器的输入信号;输出端口用于控制外部设备,如LED灯、电机等。

1.4 程序和指令集单片机需要通过程序指令来执行特定的任务。

程序指令由一系列二进制编码组成,单片机按照指令集中的规定对指令进行解码和执行。

二、应用领域基于单片机的应用非常广泛,下面列举几个常见的应用领域:2.1 家电控制单片机被广泛应用于家电控制领域,如空调、洗衣机、冰箱等。

通过单片机的控制,可以实现电器的自动化控制、温度、湿度等参数的调节,增加电器的智能化程度。

2.2 汽车电子在现代汽车中,单片机被广泛应用于引擎控制单元(ECU)、车载娱乐系统、电子稳定控制系统等。

单片机可以实现对各种传感器信号的处理和控制信号的输出,提高汽车的性能和安全性。

2.3 工业自动化在工业生产过程中,单片机起着重要的作用。

它可以控制生产线的运行、监控各种参数、采集数据等。

通过单片机的应用,可以实现生产线的自动化控制,提高生产效率和产品质量。

2.4 医疗仪器单片机在医疗仪器中的应用日益广泛,如心电图仪、血压计、血糖仪等。

单片机原理及应用(专科)

单片机原理及应用(专科)

单片机原理及应用(专科)单片机原理及应用(专科)单片机是一种微型计算机系统,它集成了中央处理器、存储器和输入/输出接口等功能,广泛应用于各种电子设备中。

本文将介绍单片机的基本原理和常见应用。

一、单片机的基本原理单片机是一种固化了程序的芯片,其内部包含了运算器、控制器、存储器和输入/输出端口,可以通过编程进行不同功能的控制。

单片机的工作原理主要包括指令执行、寄存器存储、输入输出等几个方面。

1. 指令执行单片机内部包含了指令集,通过执行指令来完成各种操作。

指令执行的过程主要分为取指、分析、执行三个阶段。

取指阶段是指从存储器中读取指令,分析阶段是对指令进行解码并获取操作数,执行阶段是根据指令完成相应的操作。

2. 寄存器存储寄存器是单片机内部的一种存储器,用于存储数据和地址等信息。

常见的寄存器包括累加器、程序计数器、堆栈指针等。

通过寄存器存储,单片机可以高效地进行数据处理和运算。

3. 输入输出单片机通过输入/输出端口与外部设备进行交互。

输入可以是来自键盘、传感器等外部信号,输出可以是控制显示器、驱动电机等操作。

通过输入输出的功能,单片机可以实现各种应用需求。

二、单片机的应用领域单片机作为一种集成度高、功能丰富的微型计算机系统,广泛应用于各个领域。

以下将介绍几个常见的单片机应用领域。

1. 工业自动化控制单片机在工业自动化控制领域中广泛应用,例如控制生产线的运行、监测温度、湿度等参数、实现自动化的测量和控制等。

单片机具有成本低、稳定性高、可编程性强等特点,非常适合于工业场景的应用。

2. 智能家居系统随着物联网的发展,智能家居系统逐渐普及。

单片机作为智能家居系统的核心控制单元,可以实现家庭设备的自动化控制,例如智能灯光控制、智能门锁、智能家电等。

通过编程控制,实现家居设备的智能化管理。

3. 嵌入式系统单片机也被广泛应用于嵌入式系统中,例如汽车电子系统、医疗设备、安防监控等。

嵌入式系统要求芯片体积小、功耗低、性能稳定,并且能够适应复杂的环境条件。

单片机的基本原理与应用实例

单片机的基本原理与应用实例

单片机的基本原理与应用实例概述单片机(Microcontroller,简称MCU)是一种集成了微处理器核心、存储器、输入输出接口和各种功能模块的微型计算机系统。

它在现代电子设备中广泛应用,包括家电、汽车电子、医疗器械、工业自动化等领域。

本文将重点介绍单片机的基本原理和一些实际应用示例。

第一部分:单片机的基本原理1. 单片机的构成单片机主要由微处理器核心、存储器、输入输出接口和功能模块组成。

- 微处理器核心:通常采用RISC(Reduced Instruction Set Computer)结构,包括运算器、控制器和总线控制单元。

- 存储器:分为程序存储器(ROM)和数据存储器(RAM),用于存储程序指令和数据。

- 输入输出接口:用于和外部设备进行数据交互,如GPIO(General Purpose Input Output)、串口、SPI(Serial Peripheral Interface)等。

- 功能模块:根据具体的应用需求加入各种特定的模块,如模数转换器(ADC)、定时器、PWM(脉宽调制)、看门狗定时器等。

2. 单片机的工作原理单片机的工作原理可以分为两个阶段:初始化和工作。

- 初始化阶段:包括系统上电后的自检、外设初始化、引脚配置等。

- 工作阶段:根据程序指令和外部输入信号进行数据处理和控制,并将结果输出给外部设备。

3. 单片机的编程语言单片机的编程语言主要有汇编语言和高级语言(如C语言)两种形式。

汇编语言直接面向硬件,编写过程相对繁琐;而高级语言更易于理解和编写,但编译后的代码执行效率稍低。

不同的单片机支持不同的编程语言,开发者可以根据项目需求和自身经验选择合适的编程语言。

第二部分:单片机的应用实例1. 家电控制系统单片机在家用电器中的应用非常广泛。

例如,可以通过单片机控制冰箱的温度、洗衣机的转速、空调的风速等。

通过采集传感器数据,单片机可以对环境进行监控,并根据设定的条件来实现智能控制。

单片机的基本原理及应用

单片机的基本原理及应用

单片机的基本原理及应用单片机(Microcontroller,简称MCU)是嵌入式系统的核心部件,也是一种高度集成的芯片。

它集成了微处理器、内存、输入输出端口、计时器、计数器、模拟到数字转换器(ADC)等核心元件,具有控制功能的芯片。

单片机应用非常广泛,应用领域涵盖了自动化、工业、家居、智能车和无线控制等多个领域。

那么,本文将为大家介绍单片机的基本原理及其应用。

一、单片机的基本原理单片机是由微处理器、内存、闪存(Flash)、随机存储器(SRAM)、输入输出端口(I/O)、计数器、计时器、模拟到数字转换器(ADC)等核心组件构成的一种控制芯片。

其中,微处理器是单片机的核心部分,它由运算器、控制器和寄存器组成。

运算器用于进行算数和逻辑运算,控制器用于控制程序的运行,而寄存器则用于存放运算器执行指令所需的地址和数据。

内存是单片机的存储器,用于存储程序和数据。

闪存则是一种可重写的非易失性存储器,它用于存储程序。

SRAM是一种数据存储器,它用于存储程序运行时所需的数据。

输入输出端口是单片机与外部设备之间的接口,它用于控制外部设备。

计数器和计时器则用于进行时间和频率的计数。

ADC则用于将模拟信号转换为数字信号。

二、单片机的应用1. 自动化控制单片机应用最广泛的领域之一就是自动化控制。

在自动化控制领域,单片机可以用于控制装置的运行、监测环境的变化、收集数据以及处理反馈信号等工作。

例如,在工厂中,单片机可以用于控制生产流程、监控设备状态以及实现智能化物流等工作。

在家中,单片机可以用于控制灯光、窗帘、音响、电视和空调等设备的运行。

2. 工业控制在工业控制领域,单片机可以用于控制机器人、自动化生产线、自动化仓储等工作。

例如,在自动化生产线上,单片机可以用于控制传送带的运行、检测产品的尺寸和颜色、计算生产时间以及控制灯光和声音等方面。

3. 智能车控制在智能车领域,单片机可以用于对车速、转向、制动等方面进行控制,以实现智能化驾驶。

单片机的工作原理及其应用场景分析

单片机的工作原理及其应用场景分析

单片机的工作原理及其应用场景分析单片机(Microcontroller)是一种高度集成的计算机系统,其内部包含处理器、存储器、输入/输出接口和定时/计数器等重要模块。

在现代电子应用中,单片机被广泛应用于各种控制系统和嵌入式系统中,其工作原理和应用场景备受关注。

一、单片机的工作原理单片机的工作原理主要涉及以下几个方面:1. 中央处理器:单片机的核心部分是中央处理器(CPU),负责进行数据处理和控制指令的执行。

CPU根据程序内部存储区的指令序列,依次读取并执行。

2. 存储器:单片机内部包含多种存储器,包括ROM(只读存储器)和RAM(随机存储器)。

ROM存储程序代码和常量数据,而RAM主要用于存储变量数据和临时数据。

3. 输入/输出接口:单片机可以通过输入/输出接口与外部设备进行通信。

输入接口用于接收外部信号,如传感器信号;输出接口用于向外部设备发送信号,如控制执行器。

4. 定时/计数器:单片机中的定时/计数器可以用来生成精确的时间延时,或者计算外部事件的频率或脉冲宽度。

二、单片机的应用场景分析单片机由于其高度集成、体积小、功耗低、性能稳定等特点,被广泛应用于各个领域的控制系统和嵌入式系统中。

以下是几个典型的应用场景:1. 家电控制系统:单片机被广泛应用于家用电器领域,如空调、洗衣机、电饭煲等。

它可以实现各种功能控制,如温度控制、定时开关等,提高了家电产品的智能化程度和用户体验。

2. 工业自动化:单片机在工业控制系统中起着重要的作用。

通过单片机,可以实现对生产线的自动化控制,如自动测量、自动分拣、自动化装配等,提高了生产效率和产品质量。

3. 智能交通系统:单片机在交通领域的应用非常广泛,如智能交通信号灯、自动收费系统、车辆管理系统等。

通过单片机的控制,交通系统可以实现更高效安全的运行。

4. 医疗设备:单片机在医疗设备中的应用也越来越广泛,如心电图仪、血压监测仪、体温计等。

单片机可以实现对医疗设备的控制与数据处理,提高了医疗设备的准确性和稳定性。

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

【例4-2】两个无符号双字节数相加.设被加数存放在内部存 储器30H(高位字节),31H(低位字节)单元,加数存放在内 部存储器40H(高位字节),41H(低位字节)单元,和存入30H (高位字节),31H(低位字节)单元. 程序如下: ORG 0000H CLR C MOV R0 ,#31H MOV R1 ,#41H MOV A ,@R0 ADD A ,@R1 MOV @R0 ,A DEC R0 DEC R1 MOV A,@R0 ADDC A,@R1 MOV @R0 , A END
;取数送A ;除数100送B中 ;商(百位数BCD码)在A中,余数在B中 ;百位数送22H ;余数送A做被除数 ;除数10送B中 ;十位数BCD码在A中,个位数在B中 ;十位数BCD码移至高4位 ;并入个位数的BCD码 ;十位,个位BCD码存人21H
分支程序的结构有两种,如图4.2所示.
图4.2 分支程序结构
(4)定义字节指令DB 格式:[标号:] DB 8位二进制数表 DB命令是从指定的地址单元开始,定义若干个8 位内存单元的内容.例如, ORG 1000H TAB; DB 23H,73, "6", "B" TABl: DB 110B 以上伪指令经汇编以后,将对从1000H开始的若干 内存单元赋值: (1000H)=23H (1001H)=49H (1002H)=36H (1003H)=42H (1004H)=06H 其中36H和42H分别是字符6和B的ASCII码,其余 的十进制数(73)和二进制数(110B)也都换算为十 六进制数了.
(5)定义字命令 DW 格式:[标号:] DW 16位二进制数表 例如, ORG 1000H TAB: DW 1234H , 0ABH , 10 汇编后: (1000H)=12H (1001H ) = 34H (1002H ) = 00H ( 1003H ) = ABH (1004H ) =00H (1005H) =0AH DB,DW伪指令都只对程序存储器起作用,不能 用来对数据存储器的内容进行赋值或进行其它初始化 的工作.
4.2 顺序程序设计
顺序结构程序是一种最简单,最基本的程序(也称为简单 程序),它是一种无分支的直线形程序,按照程序编写的顺序 依次执行. 【例4-1】 两个8位无符号数相加,和仍为8位. 假设两个无符号数X1 , X2 分别存放于内部RAM60H, 61H单元中,求其和并将和送入62H单元. 程序如下: ORG 0000H CLR C MOV R0 ,# 60H ;设R0为数据指针 MOV A ,@R0 ;取X1 1NC R0 ADDC A ,@R0 ;X1+X2 1NC R0 MOV @R0,A ;保存结果 END
R3=0 N R3=1 N R3=2 N
Y
转向第0分支
Y
转向第1分支
Y
转向第2分支
4.4 循环程序设计
循环程序一般由4部分组成. (1)置循环初值. (2)循环体. (3)循环修改. (4)循环控制. 图4.7(a)结构是"先执行后判断",适用于循环次数已 知的情况. 图4.7(b)结构是"先判断后执行",适用于循环次数 未知的情况.
;左移一位,下一个发光二极管亮
;使L1灯亮,其它不亮 ;从P1口输出到发光二单字节数求知. 已 知 有 10 个 单 字 节 数 , 依 次 存 放 在 内 部 RAM 40H单元开始的数据存储区中,求和并将 结果存人寄存器R2,R3中(高位存R2,低位存 R3). 本题中,要重复进行加法运算,因此采用 循环结构程序.循环次数就是数据块字节数,这 是已知的.在置初值时,将数据块长度置人寄存 器R5;将数据块首地址送人寄存器R0,即以R0 作为数据块的地址指针,采用间接寻址方式:每 做一次加法之后,修改地址指针,以便取出下一 个数来相加,并且使计数器R5减l.到R5减为0 时,求和结束.程序流程图如图4.8所示.
A (41H)
Y
N
A与(61H)交换
A
(60H)
结束
图4.4 [例4-6]程序框图
【例4-7】某温度控制系统,采集的温度值(Ta)放在累加器 A中.此外,在内部RAM54H单元存放控制温度下限制(T54), 在55H单元存放控制温度上限制(T55).若Ta >T55,程序转向 JW(降温处理程序);若Ta<T54,则程序转向SW(升温处理程 序);T55≥Ta≥T54,则程序转向FH(返回主程序). 程序如下:
【例4-6】内部RAM40H和41H单元中各有 一无符号数,比较其大小,将大数存放于内部 RAM60H单元,小数存放于内部RAM61H单元, 如两数相等,则分别送往这2个单元. 解 用比较不等转移指令CJNE比较力两个 无符号书,先确定它们是否相等,若不相等时 再根据借位标志确定这两个无符号书的大小. 程序框图如图4.4所示. 程序如下:
4.3 分支程序设计
MOV A,30H JZ ZER0 JNB ACC.7,PLUS ADD A,#5 MOV 30H,A PLUS: SJMP $ ZERO: MOV 30H,#20H SJMP $ END
开始 (30H) A
A=0?
A>0?
20H (30H)
(30H)
(30H)+5
结束 图4.3 [例4-5]程序框图
第四章 汇编语言程序设计
4.1 汇编语言程序设计概述
所谓程序设计,就是按照给定的任务要求,编写 出完整的计算机程序.要完成同样的任务,使用的方 法或程序并不是唯一的.因此,程序设计的质量将直 接影响到计算机系统的工作效率,运行可靠性. 前面我们学过了汇编语言形式的指令系统,本章 重点介绍汇编语言程序结构以及如何利用汇编语言指 令进行程序设计的方法.
START:CLC C SUBB A, #30H JC NASC CJNE A, # 0AH,NN MM: JC ASC SUBB A, # 07H CJNE A, # 0AH, NN NN: JC NASC CJNE A, # 10H, LL LL: JC ASC NASC: SETB F0 ASC: RET
图4.2(a) 结构使用条件转移指令来实现分支, 当给出的条件成立时,执行程序段A,否则执行程序 段B. 图4.2 (b) 结构使用散转指令JMP来实现多分支转 移,它首先将分支程序按序号的值来实现分支转移.
【例4-5】设补码X放在内部RAM30H单元中,函数 Y与X有如下的关系式:
X Y 试编写程序,根据X的值求出Y,并放回原单元. 解 取出X后先做取值范围的判断,用累加器A状态转 移指令判断X是否为0,用位状态转移指令判断X是大 于0还是小于0.程序流程图如图4.3所示. 程序如下:
4.1.1 汇编语言程序设计步骤
使用汇编语言设计一个程序大致上可分为以下几个步骤. (1) 分析题意,明确要求. (2) 确定算法. (3) 画程序流程图,用图解来描述和说明解题步骤.
图4.1 常用的流程图符号
(4)分配内存工作单元,确定程序与数据区的存放地址. (5) 编写源程序 (6) 程序优化. (7)上机调试,修改和最后确定源程序.
开始 置循环初 值
开始 置 循环初值
循 环处理 循 环修改 N
Y
循环结束?
N 循 环处理 循 环修改
循环结束?
Y 结 束处理 结束 ( a)先执行后判断 结 束处理 结束 (b)先 判断 后执行
二,程序清单
ORG START : MOV LOOP: MOV MOV DEL1: DEL2: DEL3: MOV MOV DJNZ DJNZ DJNZ RL AJMP END OOOOH A,#01H P1,A R1,#10H R2,#200 R3,#126 R3,DEL3 R2,DEL2 R1,DEL1 A LOOP
开始 A (A)-30H N
(A) N
0?
(A) A
0AH?
(A)-07H N
(A)>09H?
N
(A)>10H?
F0
1
返回
图 4.5 [例 4-8]程 序 框 图
【例4-9】N路分支程序,N≤8.要求程序根据其运 行中所产生的寄存器R3的值,来决定如何进行分支. 解:为实现N路分支,可以多次使用比较转移指令: CJNE R3, #data , rel流程图如图4.6所时,但这样比 较次数太多,当N较大时,执行速度就较慢. 我们可以用变址寻址的转移指令JMP@A+DPTR使 问题得到解决.首先安排存放一个转移分支入口的地 址表,把入口地址表的首地址送到DPTR,再把R3的 内容送累加器A.现以4个分支为例写出程序.假设4 个分支的不同功能分别是给不同的位置. 程序如下:
;将C清零 ;送被加数首址 ;送加数首址 ;取被加数低字节 ;两个低字节相加 ;低字节和存人被加数低字节 ;修改指针,指向被加数高字节 ;修改指针,指向加数高字节 ;取被加数高字节 ;高字节相加 ;存结果
【例4-3】编写16位二进制数求补程序 二进制数的求补可归结为"求反加1"的过程,求反可用 CPL指令实现;加1时应注意,加1只能加在低8位的最低位上. 因为现在是16位数,有两个字节,因此要考虑进位问题,即低8 位取反加1,高8位取反后应加上低8位加1时可能产生的进位, 还要注意这里的加1不能用INC指令,因为INC指令不影响CY标 志. ORG 0200H 程序如下: MOV A ,R0 ;低8位送A CPL A ;取反 ADD A ,#01H ;加l MOV R2 ,A ;存结果 MOV A ,R1 ;高8位送A CPL A ;取反 ADDC A ,#00H ;加进位 MOV R3 ,A ;存结果 END
【例4-4】编程将20H单元中的8位无符号二进制数转换成3位 BCD码,并存放在22H(百位)和21H(10位,个位)两个单元中. 程序如下: ORG 1000H MOV A ,20H MOV B ,# 64H DIV AB MOV 22H ,A MOV A,B MOV B , #0AH DIV AB SWAP A ORL A,B MOV 21H , A END
相关文档
最新文档