2020年 05月 10日 星期日
您的位置: 威廉希尔主页 > 单片机技术 >

单片机原理及其应用课后习题答案

来源:未知     作者:威廉希尔     发布时间:2020-05-09 10:34         

  Settings\Administrator\LocalSettings\Temp\Rar$EX01.578\01311\ 案.htm《单片机原理及应用》思考题与习题参考答案 绪论 0.1 单片微型计算机(Single-ChipMicrocomputer),简称单片机。就是将微处理器(CPU)、 存储器(存放程序或数据的ROM和RAM)、总线、定时器/计数器、输入/输出接口(I/O 和其他多种功能器件集成在一块芯片上的微型计算机。单片机的主要特点有:(1)可靠性高(2)便于扩展(3)控制功能强(4)低电压、低功 耗(5)片内存储容量较小,除此之外,单片机还具有集成度高、体积小、性价比高、应用广 泛、易于产品化等特点 0.2 当前单片机的主要产品有:Intel的8051 系列、Motorola 的M68HC 系列、Philips(飞 利浦)的80C51 系列、义隆公司(EMC)EM78 系列单片机、美国Microchip 公司的PIC 单片机系列、Atmel 公司的AT90 系列单片机Ubicom 公司的Scenix 单片机、日本爱普生科技 公司的Epson 单片机、Zilog 公司的Z86 系列、美国国家半导体公司NSCOP8 单片机、 Winbond(华邦)的W78 系列等。 MCS-51 为主流产品。 MSP430 的功能较强。是一种特低功耗的Flash 微控制器。主要用于三表及超低功耗场合。 EM78 系列单片机采用高速CMOS 工艺制造,低功耗设计为低功耗产品,价格较低。具 有三个中断源、R-OPTION 功能、I/O 功能、多功能I/O 口等。具有优越的数据处能, 采用RISC 结构设计。 Microship 单片机是市场份额增长较快的单片机。它的主要产品是PIC 系列8 位单片机。 CPU 采用RISC 结构,运行速度快,价格低适于用量大、档次低、价格的产品。 Motorola 是世界上最大的单片机生产厂家之一,品种全、选择余地大、新产品多。其特 点是噪声低,抗干扰能力强,比较适合于工控领域及恶劣的。 AVR 是增强RISC 内载Flash 的单片机,单片机内部32 个寄存器全部与ALU 直接连接, 突破瓶颈,每1MHz 可实现1MIPS 的处理能力,为高速、低功耗产品。端口有较强的负 载能力,可以直接驱动LED。支持ISP、IAP,I/O 口驱动能力较强。 Scenix 单片机除传统的I/O 功能模块如并行I/O、UART、SPI、I C、A/D、PWM、PLL、DTMF 等,增加了新的I/O 模块(如USB、CAN、J1850、虚拟I/O 等)。其特点是双时钟设 置,指令运行速度较快,具有虚拟外设功能,柔性化 端口都可单独编程设定。 Epson 单片机主要为日本爱普生科技公司生产的 LCD 配套。其单片机的特点是 LCD 动部分性能较好,低电压、低功耗。Z8 单片机是Zilog 公司的主要产品,采用多累加器结构,有较强的中断处理能力。价格 COP8单片机片内集成了 16 A/D,内部使用了抗电磁干扰EMI(Electro Magnetic Interference)电,在看门狗电及单片机的方式上都有独到之处。程序加密控制功能 也比较好。 W78 系列与标准的8051 兼容,W77 系列为增强型51 系列,对8051 的时序作了改进, 在同样时钟频率下,速度提高2.5 倍。Flash ROM容量从4KB 到64KB,有ISP 功能。 0.3 (1)第一阶段(1974—1976年):制造工艺落后,集成度低,而且采用了双片形式。典 型的代表产品有Fairchild 公司的F8 系列。其特点是:片内只包括了8 位CPU,64B 的RAM 和两个并行口,需要外加一块3851 芯片(内部具有1KB 的ROM、定时器/计数器和两个并行 口)才能组成一台完整的单片机。 (2)第二阶段(1977—1978 年):在单片芯片内集成CPU、并行口、定时器/计数器、RAM 和ROM 等功能部件,但性能低,品种少,应用范围也不是很广。典型的产品有Intel 公司的 MCS-48 系列。其特点是,片内集成有 位的定时器/计数器,中断源有2个。片外寻址 范围为4KB,芯片引脚为40 位单片机成熟的阶段。其存储容量和寻址范围增大,而且中断源、并行 口和定时器/计数器个数都有了不同程度的增加,并且集成有全双工串行通信接口。在指令系统方面增设了乘除法、位操作和比较指令。其特点是,片内包括了 位的CPU,4KB或8KB 的ROM,128B 或256B 的RAM,具有串/并行接口,2 个16位的定时器/计数器,有 个中断源。片外寻址范围可达64KB,芯片引脚为40 个。代表 产品有Intel 公司的MCS-51 系列,Motorola 公司的MC6805 系列,TI 公司的TMS7000 系列, Zilog 公司的Z8 系列等。 (4)第四阶段(1983 年至今): 16 位单片机和 位高性能单片机并行发展的时代。16位机的工艺先进,集成度高,内部功能强,运算速度快,而且允许用户采用面向工业控制的 专用语言,其特点是,片内包括了 16 RAM,具有串/并行接口,4 个16 位的定时器/计数器,有8 个中断源,具有看门狗(Watchdog),总线控制部 件,增加了D/A 转换电,片外寻址范围可达64KB。代表产品有Intel公司的MCS-96 系列,Motorola 公司的MC68HC16 系列,TI 公司的TMS9900 系列,NEC 公司的783系 列和NS 公司的HPC16040 等。然而,由于16 位单片机价格比较贵,销售量不大,大量应用 领域需要的是高性能、大容量和多功能的新型8 位单片机。 近年来出现的 32 位单片机,是单片机的产品,具有较高的运算速度。代表产品有 Motorola 公司的M68300 系列和Hitachi(日立)公司的SH 系列、ARM等。 0.4 面对工控领域对象,嵌入到工控应用系统中,实现嵌入式应用的计算机称之为嵌入式计算机系统,简称嵌入式系统。单片机从体系结构到指令系统都是按照嵌入式应用特点专门设 计的,能最好的满足对控制对象、应用系统的嵌入、现场的可靠运行以及非凡的控制品质要 选择原则:主要从指令结构、运行速度、程序存储方式和功能等几个方面选择单片机。MCS-51 为主流产品。 Motorola 是世界上最大的单片机厂商。品种全、选择余地大、新产品多。其特点是噪声 低,抗干扰能力强,比较适合于工控领域及恶劣的。 Microship 单片机是市场份额增长较快的单片机。它的主要产品是PIC 系列8 位单片机。 其特点是运行速度快,低价位,适用于量大、档次低、价格的产品。 美国仪器(TI)公司生产的MSP430 系列单片机是一种特低功耗的Flash 微控制器。 主要用于三表及超低功耗场合。 在嵌入式系统低端的单片机领域,Intel 公司的MCS-51 形成了既具有经典性又不乏生命 力的一个单片机系列。许多半导体厂家、电器公司以MCS-51 系列中的8051 为基核,推出了 许多兼容性的CHMOS 单片机----80C51 系列。 此外,还有 Zilog、EM78、Senix、NEC、Epson、NS、三星、富士通、华邦、Philips、 ARM等单片机。 MCS-51为主流产品。 MSP430 的功能较强。是一种特低功耗的Flash 微控制器。主要用于三表及超低功耗场合。 EM78 系列单片机采用高速CMOS 工艺制造,低功耗设计为低功耗产品,价格较低。具 有三个中断源、R-OPTION 功能、I/O 功能、多功能I/O 口等。具有优越的数据处能, 采用RISC 结构设计。 PIC 系列8 位单片机是Microship 公司的产品。CPU 采用RISC 结构,运行速度快,价格 低适于用量大、档次低、价格的产品。 Motorola 是世界上最大的单片机生产厂家之一,品种全、选择余地大、新产品多。其特 点是噪声低,抗干扰能力强,比较适合于工控领域及恶劣的。 AVR 是增强RISC 内载Flash 的单片机,单片机内部32 个寄存器全部与ALU 直接连接, 突破瓶颈,每1MHz 可实现1MIPS 的处理能力,为高速、低功耗产品。端口有较强的负 载能力,可以直接驱动LED。支持ISP、IAP,I/O 口驱动能力较强。 1.2 MCS-51单片机在片内集成了中央处理器(CPU)、程序存储器(ROM)、数据存储器 (RAM)、定时器/计数器、并行I/O 接口、串行I/O 接口和中断系统等几大单元。 CPU 是整个单片机的核心部件,由运算器和控制器组成。运算器可以完成算术运算和逻 辑运算,其操作顺序在控制器控制下进行。控制器是由程序计数器PC(Program Counter)、 指令寄存器IR(Instruction Register)、指令译码器ID(Instruction Decoder)、定时控制逻辑和 振荡器OSC 等电组成。CPU 根据PC 中的地址将欲执行指令的指令码从存储器中取出,存 放在IR 中,ID 对IR 中的指令码进行译码,定时控制逻辑在OSC 配合下对ID 译码后的信号 进行分时,以产生执行本条指令所需的全部信号。 程序存储器(ROM)用于存储程序、、表格等。 数据存储器(RAM)用于存储数据。 8051 内部有两个16 位可编程序的定时器/计数器T0 和T1,均为二进制加1 计数器。可 用于定时和对外部输入脉冲的计数。 8051 的中断系统主要由中断允许控制器IE 和中断优先级控制器IP 等电组成。可实现 个中断源的管理。8051的中断系统主要由中断允许控制器IE 和中断优先级控制器IP 电组成。其中,IE用于控制 个中断源中哪些中断请求被允许向CPU 提出,哪些中断源 的中断请求被;IP 用于控制5 个中断源的中断请求的优先权级别。 接口是MCS-51 单片机对外部实现控制和信息交换的必经之,用于信息传送过程 中的速度匹配和增加它的负载能力。可分为串行和并行I/O 接口。 1.3 80C51单片机有4 端口,每个端口都是8位双向口,共占32 根引脚。每个端口都 包括一个锁存器(即专用寄存器 P0~P3)、一个输入驱动器和输入缓冲器。通常把 个端口称为P0~P3。在无片外扩展的存储器的系统中,这4 个端口的每一位都可以作为双向通用I/O 端口使用。在具有片外扩展存储器的系统中,P2 口作为高 位地址线口分时作为低 位地址线)ALE/:地址锁存允许/编程线 口引脚的第二功能使用。在访问片外存储 器时,8051CPU在P0.7~P0.0 引脚上输出片外存储器低8位地址的同时在ALE/ 出一个高电位脉冲,用于把这个片外存储器低8位地址锁存到外部专用地址锁存器,以便空出P0.7~P0.0 引脚线去传送随后而来的片外存储器读写数据。在不访问片外存储器时,8051 自动在ALE/ 上输出频率为fosc/6 的脉冲序列。该脉冲序列可用作外部时钟源或作为定 时脉冲源使用。 /Vpp:允许访问片外存储器/编程电源线使用片内ROM还是使用 片外ROM。若 =0,则允许使用片内ROM;若 =1则允许使用片外ROM。 :片外ROM选通线,在执行访问片外ROM的指令MOVC时,8051自动在 上产生一个负脉冲,用于为片外ROM芯片的选通。其他情况下 线)RST/VPD :复位/备用电源线解: 指令:人为输入计算机,由计算机识别并执行一步步操作的命令的形式称为指令。 程序:一系列指令的有序集合称为程序。 程序在计算机中是按序执行的,CPU 通过程序计数器PC 控制程序的执行顺序,一般情 况下程序是按序执行的,当执行转移、调用、返回等指令时,程序转移到相应的目的地址处 执行。CPU 根据程序计数器PC 中的地址将欲执行指令的指令码从存储器中取出,存放在IR 中,ID 对IR 中的指令码进行译码,定时控制逻辑在OSC 配合下对ID 译码后的信号进行分 时,产生执行本条指令所需的全部信号,完成本条指令的执行。 1.6 (1)80C51在结构上的特点80C51采用将程序存储器和数据存储器截然分开,分别寻址的结构,称为 Harvard 结构。 (2)在物理和逻辑上的地址空间 存储器上设有4个存储器空间:片内程序存储器、片外程序存储器、片内数据存储器、 片外数据存储器。 在逻辑上有3个存储器地址空间:片内、片外统一的64KB程序存储器地址空间,片 内256B数据存储器地址空间,片外64KB的数据存储器地址空间。 (3)访问格式 访问片内RAM采用MOV格式 访问片外RAM采用MOVX格式 1.7 堆栈是一个特殊的存储区。主要功能是暂时存放数据和地址,通常用来断点和现场。它的特点是按照“先进后出”的存取数据。堆栈指针 SP 是一个 位寄存器,是用于堆栈的栈顶地址的寄存器,它决定了堆栈在内部RAM中的物理。 1.8 8051有21个特殊功能寄存器(PC 除外),它们被离散地分布在内部RAM的80H~ FFH 地址单元中,共占据了128 个存储单元,其中有83 位可以位寻址。特殊功能寄存器SFR 的分布和功能见教材P 18 表1.2.2。 1.9 8051单片机的4个I/O口在结构上是基本相同的,但又各具特点。这四个端口都是8位双向口,每个端口都包括一个锁存器、一个输出驱动器和输入缓冲器。在无片外扩展 存储器的系统中,这四个端口的每一位都可以作为双向通用I/O端口使用。在作为一般的 通用I/O输入时,都必须先向锁存器写入“1”,使输出驱动场效应管FET截止,以免误 读数据。各自特点如下: (1)P0 口为双向8 位三态I/O 口,它既可作为通用I/O 口,又可作为外部扩展时的数据 总线 位地址总线的分时复用口。作为通用 口时,输出数据可以得到锁存,不需外接专用锁存器;输入数据可以得到缓冲,增加了数据输入的可靠性。每个引脚可驱动8 个TTL 负载。 (2)P1 位准双向I/O口,内部具有上拉电阻,一般作通用I/O 位都可以分别定义为输入线或输出线,作为输入时,锁存器必须置1。每个引脚可驱动 TTL负载。 (3)P2 位准双向I/O口,内部具有上拉电阻,可直接连接外部I/O 设备。它与地 址总线 个TTL 负载。一般作为外部扩展时的高8 位地址总线 口,内部具有上拉电阻,它是双功能复用口,每个引脚可驱动4 个TTL 负载。作为通用I/O 口时,功能与P1 口相同,常用第二功能。作为第二功能 使用时,各位的作用见教材P 23 表1.2.5 所示。 1.10 数据指针DPTR是16 位的专用寄存器,它由两个8 位的寄存器DPH(高8 位)和DPL 位)组成。专门用来寄存片外RAM 及扩展 口进行数据存取时的地址。编程时,既可以按16 位寄存器来使用,也可以按两个8 位寄存器来使用(即高位字节寄存器DPH 低位字节寄存器DPL)。DPTR 主要是用来保存16 位地址,当对64KB 外部数据存储器寻址时,可作为间址寄存 器使用, 1.11 程序状态字PSW是8位寄存器,用于存放程序运行的状态信息,PSW中各 位状态通常是在指令执行的过程中自动形成的,但也可以由用户根据需要采用传送指令 加以改变。各个标志位的意义如下: PSW.7(C ):进位标志位。PSW.6(AC):辅助进位标志位,又称为半进位标志位。 PSW.5(F0):用户标志位。 PSW.4、PSW.3(RS1 RS0):寄存器组选择位。PSW.2(OV):溢出标志位。 PSW.1(空缺位):此位未定义。 PSW.0(P):奇偶校验位。 1.12 开机复位后,CPU使用的是第0组工作寄存器。它们的地址是00H-07H。CPU通过对程序状态字PSW中RS1和RS0的设置来确定和改变当前工作寄存器组。 1.13 8051片内数据存储器有256B寻址空间。存储器空间的地址范围为:00H—-FFH 在这个存储器空间又可分为: 基本的数据存储区:00H—-7FH,可划分为工作寄存器、位寻址区、堆栈与数据 缓冲区。 SFR空间:80H——FFH 1.14 片内RAM低128单元划分及主要功能如下:(1)工作寄存器组(00H——1FH) 这是一个用寄存器直接寻址的区域,内部数据RAM区的0—31,共32个单元。它 是4个通用工作寄存器组,每个组包含8个8位寄存器,编号为R0——R7。 (2)位寻址区(20H——2FH) 16个字节单元,共包含128位,这16个字节单元既可以进行字节寻址,又可以实 现位寻址。主要用于位寻址。 (3)堆栈与数据缓冲区(30H——7FH) 用于设置堆栈、存储数据。 1.15 程序存储器通过/Vpp 引脚选择。若 =0,则允许使用片内ROM;若 允许使用片外ROM。数据存储器通过指令区分:访问片内RAM采用MOV指令,访问片外RAM采用MO VX指令。 1.16 时钟周期又称为振荡周期,由单片机内部振荡电OSC产生,定义为OSC 时钟频率的 倒数。时钟周期又称为节拍(用 表示)。时钟周期是时序中的最小单位。一个状态有两个节拍, 机器周期定义为实现特定功能所需的时间。MCS-51 的机器周期由12 个时钟周期构成。 执行一条指令所需要的时间称为指令周期,指令周期是时序中的最大单位。由于机器执 行不同指令所需的时间不同,因此不同指令所包含的机器周期数也不尽相同。MCS-51 令可能包括1~4个不等的机器周期。 当MCS-51 的主频为12MHz 时,一个机器周期为1s。执行一条指令需要的最长时间为 8051单片机复位后机器的初始状态,即各寄存器的状态:PC之外,复位操作还对其它 一些特殊功能寄存器有影响,它们的复位状态如下: 寄存器 复位时内容 寄存器 复位时内容 PC 0000H TCON 0000000B ACC 00H TL0 00H 00HTH0 00H PSW 00H TH1 00H SP 07H TH1 00H DPTR 0000H SCON 00H P0—P3 FFH SBUF 不确定 TMOD 000000B PCON 00000B 单片机复位方法有:上电自动复位,按键电平复位和外部脉冲三种方式。 8051的指令系统由111 条指令组成。如果按字节数分类,有49 条单字节指令46 条双字 节指令和16 条三字节指令,以单字节指令为主;如果按照指令执行时间分类,有64 期指令、45条双周期指令和2条四周期指令,以单周期指令为主。 8051 的指令系统具有以下特点: (1)存储效率高、执行速度快,可以进行直接地址到直接地址的数据传送,能把一个并行 口中的内容传送到内部RAM单元中而不必经过累加器A或工作寄存器Rn。这样可以大 大提高传送速度和缓解累加器A 的瓶颈效应。 (2)用变址寻址方式访问程序存储器中的表格,将程序存储器单元中的固定或表格字 节内容传送到累加器A 中。这为编成翻译算法提供了方便。 (3)在算术运算指令中设有乘法和除法指令 (4)指令系统中一些对I/O 口进行操作的指令具有“读——修改——写”的功能。这一功 能指:在执行读锁存器的指令时,CPU 首先完成将锁存器的值通过缓冲器BUF2 度入内部,进 行修改、改变,然后重新写到锁存器中去。这种类型指令包含所有的逻辑操作和位操作指令。 (5)8051 单片机内部有一个布尔处理器,对为地址空间具有丰富的位操作指令。布尔操 作类指令有17 条,包括布尔传送指令、布尔状态控制指令、布尔逻辑操作指令、布尔条件转 移指令。 2.2 MCS-51单片机指令系统按功能可分为5 (1)数据传送指令(2)算术运算指令 (3)逻辑运算和移位指令 (4)控制转移指令 (5)位操作指令 MCS-51 单片机的指令系统提供了七种寻址方式,其对应的寻址范围如下表: 2.3 访问特殊功能寄存器,应采用直接寻址、位寻址方式。访问外部数据存储器,应采用寄存器间接寻址方式。 在0~255B 范围内,可用寄存器R0、R1 间接寻址: MOVX A,@R0 MOVXA,@R1 MOVX @R0,A MOVX@R1,A 在0~64KB 范围内,可用16 位寄存器DPTR 间接寻址: MOVX A,@DPTR MOVX @DPTR,A 2.4 寻址方式使用的变量 寻址范围 立即寻址 程序存储器 直接寻址 内部RAM低128 个字节; 特殊功能寄存器SFR 寄存器寻址 R0~R7;A、B、DPTR、C 寄存器间接寻址 @R0、@R1、SP 内部RAM、堆栈指针SP @R0、@R1、@DPTR 外部RAM 变址寻址 @A+PC、@A+DPTR 程序存储器 相对寻址 PC+偏移量 程序存储器 位寻址 内部RAM低128B 位寻址区 可位寻址的特殊功能寄存器位 这条指令是在进行BCD 码加法运算时,跟在“ADD”和“ADDC”指令之后,用来对 BCD 码的加法运算结果自动进行修正的,使其仍为BCD 码表达形式。 在计算机中,遇到十进制调整指令时,中间结果的修正是由ALU 硬件中的十进制修正电 自动进行的。用户不必考虑何时该加“6”,使用时只需在上述加法指令后面紧跟一条“DA A”指令即可。 2.5 虽然内部RAM位寻址区的位地址范围00H~7FH与低128个单元的单元地址范围00H~7FH 形式完全相同,但是在应用中可以通过指令的类型区分单元地址和位地址。 位寻址的操作只适用于下列位指令,而直接寻址操作对这些指令是无效的。 MOV C,bit MOV bit,C CLR bit SETB bit CPL bit ANL C,bit ANLC,/bit JB bit,rel JNB bit,rel 2.6 在实际应用中,可从寻址范围和指令长度两个方面来选择长跳转指令LJMP和短跳转指 令AJMP、长调用指令LCALL 和短调用指令ACALL。 长跳转LJMP在64KB范围内转移,而短跳转AJMP只能在2KB空间转移。长调用LCALL 调用位于64KB 程序空间的子程序,而短调用ACALL 调用位于2KB 程序空间范围的子程序。 AJMP、ACALL 指令代码长度为2个字节;LJMP、LCALL 指令代码长度为3个字节。 2.7 指令的转移范围不同。SJMP是256B范围内的相对转移指令,AJMP是2KB范围内的无条件短跳转指令,LJMP 是64KB 范围内的无条件长跳转指令。 2.8 @DPTR:访问外部数据存储器指令,功能为外部数据存储器内容送累加器指令. 2.9 使用@A+DPTR基址变址寻址时,DPTR 为且是表格的首地址,A 被访问字节地址的偏移量。使用@A+PC 基址变址寻址时,PC 仍是下条指令首地址,而A 则是从下条指令首地址到 表格中的被访问字节的偏移量。 2.10 结果为:(A)=30H(R0)=50H (50H)=00H (51H)=30H 2.11 结果为:(61H)=24H (62H)=10H (30H)=00H (31H)=0FFH DPTR=2410H SP=60H 2.12 指令源操作数的寻址方式 执行指令后的结果 MOV A,40H 直接寻址 (A)=50H MOV R0,A 寄存器寻址 (R0)=50H MOV P1,#80H 立即寻址 (P1)=80H MOV @R0,20H 寄存器间接寻址 (50H)=30H MOV DPTR,#2000H 立即寻址 (DPTR)=2000H MOV 40H,30H 直接寻址 (40H)=40H MOV R0,30H 直接寻址 (R0)=40H MOV D0H,R0 直接寻址 (D0H)=40H MOV 10H,#10H 立即寻址 (10H)=10H MOV A,@R0 寄存器间接寻址 (A)=50H MOV P2,P1 寄存器寻址 (P2)=80H 2.13 (1)R1的内容传送到R0 R1MOV R0, (2)片外RAM20H 单元内容送R0 MOVDPTR, #0020H MOVX @DPTRMOV R0, RAM20H 单元的内容送片内RAM 20H 单元; MOV DPTR, #0020H MOVX @DPTRMOV 20H, (4)片外RAM1000H 单元的内容送片内 RAM 20H 单元; MOV DPTR, #1000H MOVX @DPTRMOV 20H, (5)ROM2000H 单元的内容送R0 单元; MOV #00HMOV DPTR, #2000H MOVC @A+DPTRMOV R0H, (6)ROM2000H 单元的内容送片内RAM 20H 单元; MOV #00HMOV DPTR, #2000H MOVC @A+DPTRMOV 20H, (7)ROM2000H 单元的内容送片外RAM 20H 单元。 MOV #00HMOV DPTR, #2000H MOVC @A+DPTRMOV DPTR, #0020H MOVX @DPTR, ORG0000H LJMP START ORG 0030H START: MOV A,22H ADD A,32H DA MOV42H,A MOV A,23H ADDC A,33H DA MOV43H,A SJMP END2.15 ORG0000H LJMP MAIN ORG 0030H MAIN: MOV R7,#20H MOV R1,#40H MOV DPTR,#3000H LOOP:MOV A,@R1 MOVX @DPTR,A INC R1 INC DPTR DJNZ R7,LOOP SJMP END2.16 ORG0000H LJMP MAIN ORG 0030H MAIN: MOV R0,#30H MOV R1,#00H MOV R2,#00H MOV R3,#07H LP2: MOV A,@R0 ADD A,R2 MOV R2,A JNC LP1 INC R1 LP1: INC R0 DJNZ R3,LP2 MOV R3,#03H LP3: CLR MOVA,R1 RRC MOVR1,A MOV A,R2 RRC MOVR2,A DJNZ R3,LP3 MOV 3AH,R2 SJMP END2.17 ORG0000H LJMP START ORG 0030H START: MOV DPTR,#2001H MOVX A,@DPTR MOV 30H,A MOV DPTR,#2002H MOVX A,@DPTR ADD A,30H MOV MULAB MOV R1,A CJNE A,#10,NET1 MOV DPTR,#2000H MOVX @DPTR,A SJMP NET3 NET1: JNC NET2 CLR MOVA,R1 SUBB A,#10 MOV DPTR,#2000H MOVX @DPTR,A SJMP NET3 NET2: MOV A,R1 ADD A,#10 MOV DPTR,#2000H MOVX @DPTR,A NET3: SJMP END2.18 ORG0000H LJMP MAIN ORG 0030h MAIN: MOV DPTR,#2000H MOV A,#OFFH MOVX @DPTR,A MOV DPTR,#2100H MOV A,#34H MOVX @DPTR,A MOV DPTR,#2008H MOV A,#33H MOVX @DPTR,A MOV DPTR,#2108H MOV A,#44H MOVX @DPTR,A MOV DPTR,#200EH MOV A,#0EEH MOVX @DPTR,A MOV DPTR,#210EH MOV A,#32H MOVX @DPTR,A MOV DPTR,#2000H MOV R1,#30H MOV R2,#15 LOOP: MOVX A,@DPTR MOV @R1,A INC DPTR INC R1 DJNZ R2,LOOP MOV R1,#30H MOV DPTR,#2100H MOV R2,#15 MOV R0,#40H LOOP2: MOVX A,@DPTR CLR ADDCA,@R1 INC LOOP1 MOV @R0,@01 SJMP LOOP4 LOOP1: MOV @R0,#00 LOOP4: INC R0 MOV @R0,A INC R1 INC DPTR INC R0 DJNZ R2,LOOP2 MOV R0,#40H MOV DPTR,#2200H MOV R2,#30 LOOP3: MOV A,@R0 MOVX @DPTR,A INC R0 INC DPTR DJNZ R2,LOOP3 SJMP END2.19 ORG0000H LJMP MAIN ORG 0030H MAIN: MOV R2,#100 MOV R3,#00H MOV R4,#00H MOV R5,#00H MOV DPTR,#2000H LOOP: MOVX A,@DPTR CJNE A,#00H,NET1 INC R3 INC DPTR DJNZ R2,LOOP SJMP NET3 NET1: JC NET2 INC R4 INC DPTR DJNZ R2,LOOP SJMP NET3 NET2: INC R5 INC DPTR DJNZ R2,LOOP NET3: SJMP END2.20 ORG0000H LJMP MAIN ORG 0030H MAIN: MOV DPTR,#1000H MOV A,#22H MOVX @DPTR,A MOV DPTR,#1030H MOV A,#33H MOVX @DPTR,A MOV DPTR,#1000H MOV R2,#31H MOV R0,#30H LOOP: MOVX A,@DPTR MOV @R0,A INC DPTR INC R0 DJNZ R2,LOOP MOV DPTR,#1000H MOV A,#00 MOV R2,#31H LOOP1: MOVX @DPTR,A INC DPTR DJNZ R2,LOOP1 SJMP END2.21 ORG0000H LJMP MAIN ORG 0100H MAIN: MOV DPTR,#2040H MOV R2,#50 CLR 7FH DEC R2 LS: MOVX A,@DPTR MOV 20H,A INC DPTR MOVX A,@DPTR MOV 21H,A MOV A,20H CJNE A,21H,LOOP LOOP: JNC LOOP1 MOV A,20H MOVX @DPTR,A DEC DPTR MOV A,21H MOVX @DPTR,A

      威廉希尔