单片机课后第三章习题答案
单片机 第3章 习题解答

MOV C,P2.2 ORL C,TCON.5 ANL C,P1.1 MOV F0,C MOV C,TCON.3 ORL C,/20H.0 ANL C,F0 ANL C,/20H.1 MOV P3.3,C
试编写程序,查找内部RAM的20H—30H单 元中出现00H的次数,并将结果送入31H单元
编写一段程序,比较内部RAM中20H
CLR C MOV A, 20H SUBB A, 21H JNC MAX MOV A, 20H XCH A , 21H MOV 20H, A MAX:SJMP MAX
在内部RAM的20-2FH连续16个单元中存放单字节无
P.52 1—1
MOV R1, #00H MOV A, #00H MOV DPTR, #2000H LOOP1: MOVX @DPTR, A INC DPTR DJNZ R1, LOOP SJMP $
P.52 1—2
MOV R2, #16 MOV R0, #20H MOV R1, #30H LOOP: MOV A, @R0 XCH A, @R1 MOV @R0, A INC R0 INC R1 DJNZ R2,LOOP SJMP $
P.52 2—1
MOV A, 40H ADD A, 50H MOV R4, A MOV A, 41H ADDC A, 51H MOV R3, A
P.52 2—2
CLR C MOV A, 40H SUBB A, 50H MOV R7, A MOV A, 41H SUBB A, 51H MOV R6, A
PSW .5 P1.5 B.0 A.0 A.7
单片机原理及应用第三章习题答案

习题三1.在MCS-51单片机中,寻址方式有几种?其中对片内RAM 可以用哪几种寻址方式?对片外RAM可以用哪几种寻址方式?答:寻址方式可分为数的寻址和指令寻址,数的寻址有:常数寻址(立即寻址)、寄存器数寻址(寄存器寻址)、存储器数寻址(直接寻址方式、寄存器间接寻址方式、变址寻址方式)和位寻址,指令的寻址有绝对寻址和相对寻址。
片内RAM寻址有:寄存器寻址、直接寻址方式和寄存器间接寻址方式。
片外RAM寻址有:寄存器间接寻址方式。
2.在对片外RAM单元寻址中,用Ri间接寻址与用DPTR 间接寻址有什么区别?答:片外数据存储器寻址中,用Ri间接寻址只能访问低端的256字节单元,而用DPTR作指针间接访问可访问整个64K字节。
3.在位处理中,位地址的表示方式有哪几种?答:1.直接位地址(00H~0FFH)。
例如:20H2.字节地址带位号。
例如:20H.3表示20H单元的3位。
3.特殊功能寄存器名带位号。
例如:P0.1表示P0口的1位。
4.位符号地址。
例如:TR0是定时/计数器T0的启动位。
4.写出完成下列操作的指令。
(1)R0的内容送到R1中。
MOV A,R0MOV R1,A(2)片内RAM的20H单元内容送到片内RAM的40H单元中。
MOV 40H,20H(3)片内RAM的30H单元内容送到片外RAM的50H单元中。
MOV A,30HMOV R0,#50HMOVX @R0,A(4)片内RAM的50H单元内容送到片外RAM的3000H 单元中。
MOV A,50HMOV DPTR,#3000HMOVX @DPTR,A(5)片外RAM的2000H单元内容送到片内RAM的20H 单元中。
MOV DPTR,#2000HMOVX A,@DPTRMOV 20H,A(6)片外RAM的1000H单元内容送到片外RAM的4000H 单元中。
MOV DPTR,#1000HMOVX A,@DPTRMOV DPTR,#4000HMOV @DPTR,A(7)ROM的1000H单元内容送到片内RAM的50H单元中。
单片机第3章习题答案

第3章习题答案一、选择题1.在中断服务程序中,至少应该有一条( D )。
(A)传送指令(B)转移指令(C)加法指令(D)中断返回指令2.要用传送指令访问MCS-51片外RAM,它的指令操作码助记符应是( C )。
(A)MOV (B)MOVC (C)MOVX (D)以上都行3.JNZ rel指令的寻址方式是( C )。
(A)立即寻址(B)寄存器寻址(C)相对寻址(D)位寻址4.执行LCALL 1020H指令时,MCS-51所完成的操作是( D )。
(A)保护PC (B)PC←1020H(C)保护现场(D)PC+3入栈,PC←1020H5.下面哪条指令产生WR信号( D )。
(A)MOVX A,@DPTR (B)MOVC A,@A+PC(C)MOVC A,@A+DPTR (D)MOVX @DPTR,A6.在执行PUSH ACC指令时,MCS-51完成的操作是( A )。
(A)(SP)←(SP)+1,((SP))←(ACC)(B)(SP)←(ACC),((SP))←(SP)-1(C)(SP)←(SP)-1,((SP))←(ACC)(D)((SP))←(ACC),(SP)←(SP)+17.MCS-51执行完MOV A,#08H后,PSW的哪一位被置位( D )。
(A)C (B)F0 (C)OV (D)P8.指令AJMP的跳转范围是( C )。
(A)256B (B)1KB (C)2KB (D)64KB9.在寄存器间接寻址方式中,指定寄存器中存放的是( B )。
(A)操作数(B)操作数地址(C)转移地址(D)地址偏移量10.执行返回指令时,返回的断点是( C )。
(A)调用指令的首地址(B)调用指令的末地址(C)调用指令下一条指令的首地址(D)返回指令的末地址二、填空题:1.8051指令基本格式由标号、操作码助记符、操作数和注释组成。
2.MOV A,20H源寻址方式为直接寻址。
3.执行ANL A,#0FH指令后,累加器A的高4位=0000B 。
单片机原理及应用第三章课后答案

第三章作业答案2. MCS-51有(4)个8位并行I/O口,在作为通用I/O口使用时P0~P3是准双向口,所以由输出转输入时必须先写入(1)。
6. 设(TMOD)=0A5H,则定时器T0的状态是( 方式1计数),定时器T1的状态是( 方式2定时)。
或设(TMOD)=0A5H,则定时器T0的状态是( 软件控制的16位计数器),定时器T1的状态是(软硬件控制的可自动重装初值的8位定时器)。
27.请写出1INT为低电平触发的中断系统初始化程序。
解:INT为低电平触发的中断系统初始化程序如下:1ORG 0000HLJMP MAINORG 0013HLJMP INTN1ORG 0100HMAIN:MOV SP,#60HSETB EASETB EX1;开1INT中断CLR PX1 ;令1INT为低优先级CLR IT1 ;令1INT为电平触发SJMP $INTN1:……RETIEND用MOV指令实现:MOV IE,#84HANL IP,#0FBH(或ORL IP,#04H)ANL TCON,#0FBH28.MCS-51单片机响应中断后,写出中断服务子程序的入口地址。
解:36.使用一个定时器,如何通过软硬结合方法实现较长时间的定时?解:设定好定时器的定时时间,采用中断方式用软件进行溢出次数累计,从而得到较长的定时时间,定时时间=定时器的定时时间×软件累计的溢出次数。
37.利用定时器输出周期为2 ms的方波, 设单片机晶振频率为6 MHz。
试编程实现之。
解:选用定时器/计数器T0 作定时器,工作在方式1,输出为P1.0 引脚,2 ms 的方波可由1 ms的高低电平相间隔而成,因而只要每隔1 ms对P1.0 取反一次即可得到这个方波。
初值的计算如下:T0=12/(6×106)= 2×10-6STC=M-T/T0=216-1×10-3/2×10-6=65536-500=65036=FE0CH当定时器/计数器采用方式0时,初值为:TC=M-T/T0=213-1×10-3/2×10-6=8192-500=7692=1E0CH,则真正的16位计数初值为:1E0CH(高8位,低5位)利用定时器/计数器时,必须用文字说明工作方式的设置,计算初值。
单片机课后第三章习题答案

单片机课后第三章习题答案单片机课后第三章习题答案第一题:题目:请简述单片机中断的概念及其作用。
答案:单片机中断是指在程序执行过程中,当某个特定的事件发生时,会暂时中断当前正在执行的程序,转而去执行与该事件相关的处理程序。
中断的作用主要有两个方面:一是提高系统的响应速度,当有紧急事件发生时,可以立即中断当前任务去处理该事件,避免了因等待而造成的时间浪费;二是提高系统的可靠性,中断机制可以保证在紧急事件发生时,能够及时进行处理,避免了数据的丢失或系统的崩溃。
第二题:题目:请简述单片机中断的分类及其优先级。
答案:单片机中断可以分为外部中断和内部中断。
外部中断是指通过外部引脚接收到的中断信号,如按键、传感器等;内部中断是指通过内部定时器或其他模块产生的中断信号,如定时器溢出中断、串口接收中断等。
优先级方面,不同的中断源可以设置不同的优先级,一般来说,优先级越高的中断会先被响应和执行,优先级越低的中断会被延迟执行。
但是需要注意的是,在处理中断时,要尽量保证高优先级中断的处理时间短,以免影响低优先级中断的及时响应。
第三题:题目:请简述中断服务程序的编写流程。
答案:中断服务程序的编写流程如下:1. 定义中断向量表:将每个中断源对应的中断服务程序的入口地址存储在中断向量表中,以便单片机在中断发生时能够正确地找到对应的中断服务程序。
2. 初始化中断控制寄存器:根据需要,设置中断源的触发条件和优先级。
3. 编写中断服务程序:根据中断源的不同,编写相应的中断服务程序。
中断服务程序一般包括中断处理前的准备工作、中断处理代码和中断处理后的清理工作。
4. 注册中断服务程序:将编写好的中断服务程序的入口地址注册到中断向量表中,以便单片机在中断发生时能够正确地跳转到对应的中断服务程序。
5. 启用中断:根据需要,使能相应的中断源,使其能够触发中断。
第四题:题目:请简述单片机中断的优缺点。
答案:单片机中断的优点主要体现在两个方面:一是提高了系统的响应速度,当有紧急事件发生时,可以立即中断当前任务去处理该事件,避免了因等待而造成的时间浪费;二是提高了系统的可靠性,中断机制可以保证在紧急事件发生时,能够及时进行处理,避免了数据的丢失或系统的崩溃。
单片机原理及应用第三版课后答案

单片机原理及应用第三版课后答案1. 第一章题目答案:a) 单片机的定义: 单片机是一种集成电路,具有CPU、存储器和输入输出设备等功能,并且可以根据程序控制进行工作的微型计算机系统。
b) 单片机的核心部分是CPU,它可以通过执行程序指令来完成各种计算、逻辑和控制操作。
c) 存储器分为程序存储器和数据存储器,程序存储器用于存放程序指令,数据存储器用于存放数据和暂存中间结果。
d) 输入输出设备用于与外部环境进行数据交换,如开关、LED、数码管等。
e) 单片机的应用广泛,包括家电控制、智能仪器、工业自动化等领域。
2. 第二章题目答案:a) 单片机中的时钟系统用于提供CPU运行所需的时序信号,常见的时钟源有晶体振荡器和外部信号源。
b) 时钟频率决定了单片机的运行速度和精度,一般通过控制分频器、定时器等来调整时钟频率。
c) 单片机中的中断系统用于处理紧急事件,如外部输入信号、定时器溢出等,可以提高系统的响应能力。
d) 中断源包括外部中断、定时器中断和串口中断,通过编程设置中断向量和优先级来处理不同的中断事件。
e) 中断服务程序是处理中断事件的程序,包括保存现场、执行中断处理和恢复现场等步骤。
3. 第三章题目答案:a) I/O口是单片机与外部设备进行数据交换的接口,包括输入口和输出口两种类型。
b) 输入口用于接收外部信号,如开关、传感器等,可以通过编程设置输入口的工作模式和读取输入口的状态。
c) 输出口用于控制外部设备,如LED、继电器等,可以通过编程设置输出口的工作模式和输出口的状态。
d) I/O口的工作模式包括输入模式、输出模式和双向模式,可以根据具体应用需求设置相应的模式。
e) 串行通信接口是单片机与外部设备进行数据传输的一种常见方式,包括UART、SPI和I2C等多种通信协议。
4. 第四章题目答案:a) 定时器的作用是产生指定时间间隔的定时信号,可以用于延时、计时、PWM等功能。
b) 单片机的定时器一般由计数器和一些控制寄存器组成,通过编程设置定时器的工作模式和计数值。
单片机原理及应用第3章习题解答

第3章思考题及习题3参考答案一、填空1.访问SFR,只能使用寻址方式。
答:直接.2.指令格式是由和组成,也可仅由组成。
答:操作码,操作数,操作码。
3.在基址加变址寻址方式中,以作为变址寄存器,以或作为基址寄存器。
答:A,PC,DPTR4.假定累加器A中的内容为30H,执行指令1000H:MOVC A,@A+PC后,把程序存储器单元的内容送入累加器A中。
答:1031H5.在AT89S52中,PC和DPTR都用于提供地址,但PC是为访问存储器提供地址,而DPTR是为访问存储器提供地址。
答:程序,数据6.在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的 .答:地址7.下列程序段的功能是。
答:A的内容与B的内容互换。
PUSH AccPUSH BPOP AccPOP B8.已知程序执行前有(A)=02H,(SP)=52H,(51H)=FFH,(52H)=FFH.下述程序执行后, (A)= ,(SP)= ,(51H)= ,(52H)= ,(PC)=。
POP DPHPOP DPLMOV DPTR,#4000HRL AMOV B,AMOVC A,@A+DPTRPUSH AccMOV A,BINC AMOVC A,@A+DPTRPUSH AccRETORG 4000HDB 10H,80H,30H,50H,30H,50H答:(A)=50H,(SP)=50H,(51H)=30H,(52H)=50H,(PC)=5030H9.假定(A)=83H,(R0)=17H,(17H)=34H,执行以下指令后,(A)= .ANL A,#17HORL 17H,AXRL A,@R0CPL A答:(A)=0CBH。
10.假设(A)=55H,(R3)=0AAH,在执行指令“ANL A,R3”后,(A)= ,(R3)= .答:(A)=00H,(R3)=0AAH。
11.如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后,(DPH)= ,(DPL)= ,(SP)= 。
(完整版)单片机,第三章答案

思考题:【3-1】汇编语言与C语言哪种语言的可读性和可移植性强?在对速度和时序敏感的场合应该使用什么语言?对于复杂的单片机系统一般采用C与汇编混合编程的形式这句话对吗?【3-2】二进制机器语言与C和汇编语言两者之间是什么关系?用C或汇编编制的程序在ROM中是以编译后的二进制代码的形式存放这句话对吗?【3-3】80C51系列单片机指令的格式包含哪几个部分?各部分之间的间隔符是什么?四个部分中哪个部分是必须存在的,哪几个部分是可有可无的?标号的格式和代表的意义是?【3-4】80C51系列单片机有哪几种寻址方式?【3-5】80C51单片机中立即数是存放在ROM中还是RAM中?【3-6】判断下列说法是否正确。
(1)立即数寻址方式是被操作的数据本身就在指令中,而不是它的地址在指令中。
()(2)指令周期是执行一条指令的时间。
()(3)指令中直接给出的操作数称为直接寻址。
()(4)内部寄存器Rn(n=0~7)可作为间接寻址寄存器。
()【3-7】80C51单片机可以进行直接寻址的区域是?【3-8】80C51单片机可以进行寄存器寻址的范围是?【3-9】80C51单片机可以进行寄存器间接寻址的寄存器是?寻址的范围是?【3-10】在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的()。
【3-11】80C51单片机变址寻址方式中可以作基址的寄存器是?可以作变址的寄存器是?@A+PC,@A+DPTR所找到的操作数是在ROM中对吗?【3-12】80C51单片机相对寻址改变的是PC的当前值,即改变的CPU执行指令的顺序这句话对否?【3-13】若访问特殊功能寄存器,只可以采用那种寻址方式?【3-14】若访问外部RAM单元,只可以使用哪种寻址方式?【3-15】若访问内部RAM单元,可使用哪些寻址方式?【3-16】若访问内外程序存储器,可使用哪些寻址方式?【3-17】80C51单片机可以进行位寻址的字节单元范围除11个可位寻址的特殊功能寄存器外还包括哪个区域?分别找出位地址是00H、08H、22H、7FH、D0H、E0H对应的字节地址?【3-18】已知(30H)=40H,(40H)=10H,(10H)=32H,(P1)=0EFH,试写出执行以下程序段后有关单元的内容。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机原理与应用作业第三章1 设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A,R0和内部RAM中50H,51H单元的内容为何值?MOV A,59H ;A=50HMOV R0,A ;R0=50HMOV A,#00H ;A=00HMOV @R0,A ;50H=00HMOV A,#25H ;A=25HMOV 51H,A ;51H=25HMOV 52H,#70H ;52H=70HA=25H R0=50H 50H=00H 51H=25H2请选用适合的指令对P0口内容作修改(例如使P0.0~P0.3不变,P0.4~P0.7为0)mov A,P0ANL A ,0fhmov P0,A3访问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。
答:访问外部数据存储器指令有:MOVX @DPTR,A MOV DPTR,#0100H MOV @DPTR,AMOVX A,@DPTR MOV DPTR,#0200H MOV A,@DPTRMOVX A,@Ri MOVX A,@R0MOVX @Ri,A MOVX @R1,A访问程序存储器指令有:MOVC A,@A+PCMOVC A,@A+DPTR4设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元的内容分别为24H和10H,执行下列程序段后,61H,62H,30H,31H,DPTR及SP中的内容将有何变化?PUSH 30H ;61H=24HPUSH 31H ;62H=10H SP=62HPOP DPL ;DPL=10HPOP DPH ;DPH=24H SP=60HMOV 30H,#00H ;30H=00HMOV 31H,#0FFH ;31H=0FFH5设(A)=40H,(R1)=23H,(40H)=05H。
执行下列两条指令后,累加器A和R1以及内部RAM中40H单元的内容各为何值?XCH A,R1 ;A=23H R1=40HXCHD A,@R1 ;A=25H 40H=03H6两个四位BCD码数相加,被加数和加数分别存于50H,51H和52H,53H单元中(千位、百位在低地址中,十位、个位在高地址中),和存放在54H,55H和56H中(56H用来存放最高位的进位),试编写加法程序。
ORG 0000HLJMP STARTORG 0100HSTART:MOV A,53HADD A,51HDA AMOV 55H,AMOV A,52HADDC A,50HDA AMOV 56H,CSJMP $END7设(A)=01010101B,(R5)=10101010B,分别写出执行下列指令后结果。
ANL A ,R5 ;00000000BORL A ,R5 ;11111111BXRL A ,R5 ;111111118指令SJMP rel中,设rel=60H,并假设该指令存放在2114H和2115H单元中。
当该条指令执行后,程序将跳转到何地址?答:2116H+60H=2176H9简述转移指令AJMP addr11、SJMP rel、LJMP addr16及JMP @A+DPTR的应用场合。
答:AJMP addr11 为2K字节范围内的无条件转跳指令,把程序的执行转移到指定的地址。
SJMP rel是无条件转跳指令,执行时在PC加2后,把指令中补码形式的偏移量值加到PC 上,并计算出转向目标地址。
转向的目标地址可以在这条指令前128字节到后127字节之间。
LJMP addr16执行这条指令时把指令的第二和第三字节分别装入PC的高位和低位字节中,无条件地转向指定地址。
转移的目标地址可以在64K程序存储器地址空间的任何地方,不影响任何标志。
JMP @A+DPTR 指令的功能是把累加器中8位无符号数与数据指针DPTR 中的16位数相加,将结果作为下条指令地址送入PC,利用这条指令能实现程序的散转。
10试分析下列程序段,当程序执行后,位地址00H,01H中的内容将为何值?P1口的8条I/O线为何状态?CLR C ;CY=0MOV A,#66H ;A=66HJC LOOP1CPL C ;CY=1SETB 01H ;20H.1=1LOOP1:ORL C,ACC.0 ;CY=1JB ACC.2,LOOP2 ;CLR 00HLOOP2:MOV P1,A ;P1=01100110BSJMP $20H.0=0 20H.1=1 P1=66H11查指令表,写出下列两条指令的机器码,并比较一下机器码中操作数排列次序的特点。
MOV 78H,80H ;85 80 78MOV 78H,#80H ;75 78 80答直接寻址单元传送到直接寻址单元的机器码是第二个操作数在前,而立即数传送到直接地址单元是第一个操作数在前,次序正好相反。
12手工汇编下列程序段ORG 873BHAAA EQU 851AHQQQ: MOV A,35HCLR CSUBB A,#0AHJC QQ16MOV A,36HSUBB A,#0AHJC QQ15AJMP AAAQQ15: MOV 35H,#00HQQ16: JNB 02H,QQ17MOV R6,39HDEC R6SJMP QQ18QQ17: MOV R6,39HINC 39HQQ18: CLR 05HLJMP 8500HEND13若有两个无符号数x,y分别存放在内部存储器50H、51H单元中,试编写一个程序实现x*10+y,结果存人52H、53H两个单元中。
ORG 0000HSJMP STARTORG 0030HSTART: MOV A,50HMOV B,#10MUL AB ;(50H)x10积的高、低字节分别在B、A中ADD A,51HMOV 53H,A ;积的低字节加(51H)其和存放在53H中MOV A,#00HADDC A,BMOV 52H,A ;积的高字节加进位位存放在52H中。
SJMP $14从内部存储器20H单元开始,有30个数据。
试编一个程序,把其中的正数、负数分别送51H和71H开始的存储单元,并分别记下正数、负数的个数送50H 和70H单元。
ORG 0000HSJMP STARTORG 0030HSTART: MOV 1EH,#51H ;正数存放首地址51H存暂存于1EH单元 MOV 1FH,#71H ;负数存放首地址71H存暂存于1EH单元 MOV R0,#20H ;建立取数(源操作数)的地址指针 MOV R2,#30 ;预置数据长度MOV 50H,#00H ;正数个数统计单元清零MOV 70H,#00H ;负数个数统计单元清零LOOP: MOV A,@R0 ;取数JB ACC.7,NEG ;是负数转 NEG处理POSI: MOV R1,1EH ;是正数,将暂存的地址送R1(间址寄存器) MOV @R1,A ;将正数入存INC 50H ;正数个数加1INC 1EH ;正数暂存地址加1修正LOOP1: INC R0 ;取数地址加1修正DJNZ R2,LOOP ;计数长度减1,不等于零,继续循环统计SJMP $ ; 结束NEG: MOV R1,1FH ;是负数,将暂存的地址送R1(间址寄存器) MOV @R1,A ;将负数入存INC 70H ;负数个数加1INC 1FH ;负数暂存地址加1修正SJMP LOOP1 ;转取数地址修正15内部存储单元40H中有一个ASCII码字符,试编一程序,给该数的最高位加上奇校验。
ORG 0000HSJMP STARTORG 0030HSTART: MOV A,40H ;取数给ACLR ACC.7 ;A最高位(奇偶校验位)清零JB P,LOOP ;40H中的ACSII码原来就是奇数个1(最高位给零) SETB ACC.7 ;40H 中的ACSII码原来是偶数个1,最高位置1 LOOP: MOV 40H,A ;入存SJMP $ ; 结束END16编写一段程序,将存放在自DATA单元开始的一个四字节数(高位在前),取补后送回原单元。
一:若DATA在内部数据存储器中(假如存放在30H起始的4个单元中);解1、采用求反加1的算法;ORG 0000HSJMP STARTORG 0030HSTART: SETB C ; 置进位位为1MOV R2,#04H ; 预置计数长度MOV R0,#DATA1+3 ; 取数指针指向低字节的地址LOOP: MOV A,@R0 ; 取数CPL A ; 求反ADDC A,#00H ; 加进位MOV @R0,A ; 入存DEC R0 ; 地址指针修正DJNZ R2,LOOP ; 4字节未处理完,继续循环处理SJMP $ ; 结束DATA1 EQU 30H ;END17以BUFl为起始地址的外存储区中,存放有16个单字节无符号二进制数,试编一程序,求其平均值并送BUF2单元。
解:设R2、R3存放和,将其除以16(R2、R3联合左移4位)即为平均置值(单字节存放)ORG 0000HSJMP STARTORG 0030HSTART: MOV R2,#00H ; 和高字节清零MOV R3,#00H ; 和低字节清零MOV DPTR,#DATA1 ; 建立外部数据存储器的地址指针MOV R4,#10H ; 预置计数长度LOOP: MOVX A,@DPTR ; 从外部数据存储器取数ADD A ,R3MOV R3,AMOV A, R2 ;ADDC A,#00H ;MOV R2,A ; 累加INC DPTR ; 地址指针修正DJNZ R4,LOOP ; 16字节未累加完,继续循环累加MOV R4,#04H ; R2、R3联合移位4次(除以16)LOOP1: CLR CMOV A,R2RRC AMOV R2,AMOV A,R3RRC AMOV R3,ADJNZ R4,LOOP1 ; 平均值存放于R3中SJMP $ ; 结束DATA1 EQU 1000H ;END18在DATAl单元中有一个带符号8位二进制数。
编一程序,按以下关系计算y 值,送DATA2x+5 x>0x x=0x-5 x<0解1:设DATA1、DATA2为内部数据存储器的二个单元(假设为30H、31H)且y 的值单字节不会产生溢除出ORG 0000HSJMP STARTORG 0030HSTART: MOV A,30H ; 取数X给AJZ ZERO ; 若X=0,则Y=0,转入存JB ACC.7,NEG ; 若X<0,则转X-5POZI: ADD A,#05H ; 若x>0,则X=5,入存SJMP ZERO ;NEG: CLR C ;SUBB A,#05H ;ZERO: MOV 31H,A ; 结果入存SJMP $ ;END19设内部RAM中30H和31H单元中有两个带符号数,求出其中的大数存放在32H单元中。