单片机习题参考答案08-12
- 格式:doc
- 大小:2.89 MB
- 文档页数:21
单片机课后习题答案单片机内包含哪些主要逻辑功能部件?答:80C51系列单片机在片内集成了以下主要逻辑功能部件:(l)CPU(中央处理器):8位 (2)片内RAM:128B(3)特殊功能寄存器:21个 (4)程序存储器:4KB (5)并行I/O口:8位,4个(6)串行接口:全双工,1个(7)定时器/计数器:16位,2个(8)片内时钟电路:1个的EA端有何用途?答:/EA端接高电平时,CPU只访问片内flash Rom并执行内部程序,存储器。
/EA端接低电平时,CPU只访问外部ROM,并执行片外程序存储器中的指令。
/EA 端保持高电平时,CPU执行内部存储器中的指令。
的存储器分哪几个空间?如何区别不同空间的寻址?答:ROM(片内ROM和片外ROM统一编址)(使用MOVC)(数据传送指令)(16bits 地址)(64KB)片外RAM(MOVX)(16bits地址)(64KB)片内RAM(MOV)(8bits 地址)(256B)4.简述89C51片内RAM的空间分配。
答:片内RAM有256B,低128B是真正的RAM区,高128B是SFR(特殊功能寄存器)区。
5.简述布尔处理存储器的空间分配,片内RAM中包含哪些可位寻址单元。
答:片内RAM区从00H~FFH(256B)其中20H~2FH(字节地址)是位寻址区对应的位地址是00H~7FH6. 如何简捷地判断89C51正在工作?答:用示波器观察8051的XTAL2端是否有脉冲信号输出(判断震荡电路工作是否正常?) ALE(地址锁存允许)(Address Latch Enable)输出是fosc的6分频用示波器观察ALE是否有脉冲输出(判断 8051芯片的好坏?)观察PSEN(判断8051能够到EPROM 或ROM中读取指令码?)因为/PSEN接外部EPROM(ROM)的/OE端子 OE=Output Enable(输出允许)7. 89C51如何确定和改变当前工作寄存器组?答:PSW(程序状态字)(Program Status Word)中的RS1和RS0 可以给出4中组合,用来从4组工作寄存器组中进行选择 PSW属于SFR(Special Function Register)(特殊功能寄存器)9.读端口锁存器和“读引脚”有何不同?各使用哪种指令?答:读锁存器(ANLP0,A)就是相当于从存储器中拿数据,而读引脚是从外部拿数据(如MOV A,P1这条指令就是读引脚的,意思就是把端口p1输入数据送给A)传送类MOV,判位转移JB、JNB、这些都属于读引脚,平时实验时经常用这些指令于外部通信,判断外部键盘等;字节交换XCH、XCHD算术及逻辑运算ORL、CPL、ANL、ADD、ADDC、SUBB、INC、DEC控制转移CJNE、DJNZ都属于读锁存器。
单片机试题库分章节答案(C语言)(总24页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--(红色是考试考过的,蓝色是老师给的习题“重点看“)第1部分单片机概述及数学基础一、填空题1、十进制255的二进制是,十六进制是 FF 。
2、单片机是将CPU、存储器、特殊功能寄存器、定时/计数器和输入/输出接口电路、以及相互连接的总线等集成在一块芯片上。
3、十进制127的二进制是 1111111,十六进制是7F。
4、+59的原码是 00111011,-59的补码是。
5、十进制数100转换为二进制数是1100100;十六进制数100转换为十进制数是256。
6、十进制数40转换为二进制数是101000;二进制数转换为十进制数是 2. 5。
7、十进制99的二进制是 1100 011 ,十六进制是 63 。
二、判断题(×) 1、AT89S51是一种高性能的16位单片机。
8位机(×) 2、有符号正数的符号位是用1表示的。
三、选择题()1、计算机中最常用的字符信息编码是( A)A. ASCII 码 C. 余3码 D. 循环码四、简答题1、何谓单片机单片机与一般微型计算机相比,具有哪些特点第2部分 51单片机硬件结构、存储系统及I/O接口一、填空题1、AT89S51单片机共有 4 个8位的并行I/O口,其中既可用作地址/数据口,又可用作一般的I/O口的是 P0 。
2、若采用12MHz的晶振,则MCS-51单片机的振荡周期为__ 1/12 μS __ ,机器周期为____1μS __。
3、AT89S51单片机字长是___8___位,有___40根引脚。
4.89S51单片机是 8 位单片机,其PC计数器是 16 位。
5.若单片机使用的晶振频率是6MHz,那么一个振荡周期是 1/6 µS,一个机器周期是 2μS µS。
6.89S51单片机是+5 V供电的。
单片机复习题一、选择1.二进制数110110110对应的十六进制数可表示为( )。
A. 1D3H B.1B6H C.DBOH D. 666H2.-3的补码是( )。
A. 10000011 B. 11111100 C.11111110 D.111111013.CPU主要的组成部部分为( )。
A.运算器,控制器 B.加法器,寄存器 C. 运算器,寄存器 D.运算器,指令译码器4.INTEL 8051 CPU是( )位的单片机。
A. 16 B.4 C. 8 D.准16位5.对于以 8051为核心的小单片机应用系统来说,/EA脚总是( )A.接地B.接电源C. 悬空D.不用6.程序计数器PC用来( )。
A.存放指令 B.存放正在执行的指令地址C. 存放下一条的指令地址 D.存放上一条的指令地址7.指令和程序是以( )形式存放在程序存储器中。
A. 源程序B. 汇编程序C. 二进制编码 D.BCD码8.单片机应用程序一般存放在( )中。
A. RAM B.ROM C. 寄存器 D.CPU9.单片机8051的XTALl和XTAL2引脚是()引脚A. 外接定时器 B.外接串行口 C. 外接中断 D.外接晶振10.8031复位后,PC与SP的值为( )。
A.0000H,00H B.0000H,07H C.0003H,07H D. 0800H,00H11.P0,P1口作输入用途之前必须( )。
A. 相应端口先置1 B.相应端口先置0 C.外接高电平 D.外接上拉电阻12.8051的内部RAM中,可以进行位寻址的地址空间为( )。
A. 00H~2FH B. 20H~2FH C. 00H~FFH D. 20H~FFH13.8051的程序计数器PC为16位计数器,其寻址范围是( ) 。
A. 8KB. 16K C. 32K D. 64K14.8051单片机中,唯一一个用户不能直接使用的寄存器是( )。
A.PSW B. DPTR C. PC D. B15.对MCS-51单片机来说,其内部RAM( )。
单片机原理及应用考试题及参考答案一、单选题(共30题,每题1分,共30分)1、MOVC A, @A+PC是()A、数据传送指令B、算术运算指令C、逻辑运算指令D、控制转移指令E、位操作指令正确答案:A2、指令MUL AB 执行前(A)=18H ,(B)=05H,执行后,A、B的内容是()。
A、90H,05HB、90H,00HC、78H,05HD、78H,00H正确答案:D3、5转换成十六进制数是()。
A、111HB、94.8HC、49.8HD、49H正确答案:C4、已知晶振频率为6MHz,在P1.0引脚上输出周期为500微秒的等宽矩形波,若采用T1中断,工作方式2。
TMOD=#( )A、19HB、20HC、21HD、22H正确答案:B5、A7H和5BH两个立即数相加后,和为(),(CY)是()。
A、1CH,0B、C1H,0C、02H,1D、C1H,1正确答案:C6、INTEL 8051 CPU是()位的单片机.A、16B、4C、8D、32正确答案:C7、执行LACLL 4000H指令时, MCS-51所完成的操作是( )A、保护PCB、(PC )=4000HC、保护现场D、PC+3入栈,(PC )=4000H正确答案:D8、下列指令能使R0的最高位置0的是()。
A、ANL A,#7FHB、ANL A,#80HC、ORL A,#7FHD、ORL A,#80H正确答案:A9、MOV @Ri , direct 是()A、控制转移指令B、逻辑运算指令C、算术运算指令D、数据传送指令E、位操作指令正确答案:D10、汇编结束指令是():A、ORGB、BITC、EQUD、END正确答案:D11、SJMP rel 是()A、逻辑运算指令C、算术运算指令D、控制转移指令E、数据传送指令正确答案:D12、下列各条指令其源操作数的寻址方式是什么?各条指令单独执行后,A中的结果是什么?设(60H)=35H,(A)=19H,(R0)=30H,(30H)=0FH。
章1 绪论1.第一台计算机的问世有何意义?答:第一台电子数字计算机ENIAC问世,标志着计算机时代的到来。
与现代的计算机相比,ENIAC有许多不足,但它的问世开创了计算机科学技术的新纪元,对人类的生产和生活方式产生了巨大的影响。
2.计算机由哪几部分组成?答:由运算器、控制器、存储器、输入设备和输出设备组成,运算器与控制器合称为CPU。
3.微型计算机由哪几部分构成?答:微型计算机由微处理器、存储器和I/O接口电路构成。
各部分通过地址总线(AB)、数据总线(DB)和控制总线(CB)相连。
4.微处理器与微型计算机有何区别?答:微处理器集成了运算器和控制器(即CPU);而微型计算机包含微处理器、存储器和I/O接口电路等。
5.什么叫单片机?其主要特点有哪些?答:在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。
单片机主要特点有:控制性能和可靠性高;体积小、价格低、易于产品化;具有良好的性能价格比。
6.微型计算机有哪些应用形式?各适于什么场合?答:微型计算机有三种应用形式:多板机(系统机)、单板机和单片机。
多板机,通常作为办公或家庭的事务处理及科学计算,属于通用计算机。
单板机,I/O设备简单,软件资源少,使用不方便。
早期主要用于微型计算机原理的教学及简单的测控系统,现在已很少使用。
单片机,单片机体积小、价格低、可靠性高,其非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势。
目前,单片机应用技术已经成为电子应用系统设计的最为常用技术手段。
7.当前单片机的主要产品有哪些?各有何特点?答:多年来的应用实践已经证明,80C51的系统结构合理、技术成熟。
因此,许多单片机芯片生产厂商倾力于提高80C51单片机产品的综合功能,从而形成了80C51的主流产品地位,近年来推出的与80C51兼容的主要产品有:●ATMEL公司融入Flash存储器技术推出的AT89系列单片机;●Philips公司推出的80C51、80C552系列高性能单片机;●华邦公司推出的W78C51、W77C51系列高速低价单片机;●ADI公司推出的ADμC8xx系列高精度ADC单片机;●LG公司推出的GMS90/97系列低压高速单片机;●Maxim公司推出的DS89C420高速(50MIPS)单片机;●Cygnal公司推出的C8051F系列高速SOC单片机等。
单片机习题答案第1章习题参考答案1-1什么是单片机?它与一般微型计算机在结构上何区别?微型计算机的基本结构由CPU(运算器、控制器)、存储器、输入设备和输出设备五大部分组成,各部分通过外部总线连接而成为一体。
单片机的结构是在一块芯片上集成了中央处理器(CPU)、存储器、定时器/计数器、中断控制、各种输入/输出接口(如并行I/O口、串行I/O口和A/D转换器)等,它们通过单片机内部部总线连接而成为一体。
1-2MCS-51系列单片机内部资源配置如何?试举例说明8051与51兼容的单片机的异同。
答:MCS-51系列单片机内部资源配置型号8031/80C318051/80C51程序存储器片内RAM定时/计数器并行I/O口串行口中断源/中断优先级无128B128B128B256B256B2某162某162某163某163某164某84某84某84某84某8111115/25/25/26/26/24KBROM无8751/87C514KBEPROM8032/80C328052/80C524KBROM8051与51兼容的单片机的异同厂商型号程序存储片内定时/并行串行中断源/优先级5/26/2直接驱动LED输出,片上模拟比较器256B3某163219/2SPI,WDT,2个数据指针其它特点器RAM计数器I/O口口IntelATMEL8051/80C514KBROM128BAT89C20512KBFlahROMAT89S5312KBFlah ROMAnalogADuC812DeviceW77E5832KB256B+3某1636212/2扩展了4位I/O 口,双数据指针,WDT。
19/2WDT,SPI,8通道12位ADC,2通道12位DAC,片上DMA控制器。
.飞利浦80C552无256B3某1648115/4CMOS型10位ADC,捕捉/比较单元,PWM83/87C5528KBEEPROM83/89CE55832KBEEPROM256B+3某16401024B115/4256B3某1648115/4CMOS型10位ADC,捕捉/比较单元,PWM8通道10位ADC,捕捉/比较单元,PWM,双数据指针,IC总线,PLL (32kHz)。
单片机试题带答案二、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
每小题1分,共10分)1.MCS-51单片机复位操作的主要功能是把PC初始化为( )。
A.0100HB.2080HC.0000HD.8000H2.若单片机的振荡频率为6MHz,设定时器工作在方式1需要定时1ms,则定时器初值应为( )。
A.500B.1000C.216-500D.216-10003.定时器1工作在计数方式时,其外加的计数脉冲信号应连接到( )引脚。
A.P3.2B.P3.3C.P3.4D.P3.54.当外部中断请求的信号方式为脉冲方式时,要求中断请求信号的高电平状态和低电平状态都应至少维持( )。
A.1个机器周期B.2个机器周期C.4个机器周期D.10个晶振周期5.MCS-51单片机在同一优先级的中断源同时申请中断时,CPU首先响应( )。
A.外部中断0B.外部中断1C.定时器0中断D.定时器1中断6.定时器若工作在循环定时或循环计数场合,应选用( )。
A.工作方式0B.工作方式1C.工作方式2D.工作方式37.MCS-51单片机的外部中断1的中断请求标志是( )。
A.ET1B.TF1C.IT1D.IE18.下列标号中,正确的标号是( )。
A.1BT:B.BEGIN:C.ADD:D.STAB31:9.串行口每一次传送( )字符。
A.1个B.1串C.1帧D.1波特10.要想把数字送入DAC0832的输入缓冲器,其控制信号应满足( )。
A.ILE=1,CS=1,WR1=0B.ILE=1, CS=0, WR1=0C.ILE=0, CS=1, WR1=0D.ILE=0,CS=0, WR1=0一、填空题(每空格1分,共10分)2.P1口通常用作_______,也可以作通用的I/O口使用。
3.若由程序设定RS1、RS0=01,则工作寄存器R0~R7的直接地址为______。
4.8051的堆栈区一般开辟在_______。
单片机原理及应用(第3版)参考答案《单片机原理及应用(第3版)》习题参考答案姜志海黄玉清刘连鑫编著电子工业出版社目录第1章概述 ............................................................. 2 第2章 MCS,51系列单片机硬件结构 . (5)第3章 MCS,51系列单片机指令系统 .......................................10 第4章 MCS,51系列单片机汇编语言程序设计 ............................... 13 第5章 MCS,51系列单片机硬件资源的应用 ................................. 18 第6章 MCS,51系列单片机并行扩展接口技术 ............................... 23 第7章 MCS,51系列单片机串行总线扩展技术 ............................... 28 第8章单片机应用系统设计 . (30)第1章概述1(简述微型计算机的结构及各部分的作用微型计算机在硬件上由运算器、控制器、存储器、输入设备及输出设备五大部分组成。
运算器是计算机处理信息的主要部分;控制器控制计算机各部件自动地、协调一致地工作;存储器是存放数据与程序的部件;输入设备用来输入数据与程序;输出设备将计算机的处理结果用数字、图形等形式表示出来。
通常把运算器、控制器、存储器这三部分称为计算机的主机,而输入、输出设备则称为计算机的外部设备(简称外设)。
由于运算器、控制器是计算机处理信息的关键部件,所以常将它们合称为中央处理单元CPU(Central Process Unit)。
2(微处理器、微型计算机、微型计算机系统有什么联系与区别,微处理器是利用微电子技术将计算机的核心部件(运算器和控制器)集中做在一块集成电路上的一个独立芯片。
第一章习题参考答案1-1 :何谓单片机?与通用微机相比,两者在结构上有何异同?答:将构成计算机的基本单元电路如微处理器 (CPU) 、存储器、 I/O 接口电路和相应实时控制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。
单片机与通用微机相比在结构上的异同:(1)两者都有 CPU,但通用微机的 CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度和精度的进一步提高。
例如,现今微机的CPU都支持浮点运算,采用流水线作业,并行处理、多级高速缓冲 (Cache) 技术等。
CPU的主频达到数百兆赫兹 (MHz) ,字长普遍达到 32 位。
单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度和精度也相对要低一些。
例如,现在的单片机产品的 CPU大多不支持浮点运算, CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范围内;在一些简单应用系统中采用 4 位字长的CPU,在中、小规模应用场合广泛采用8位字长单片机,在一些复杂的中、大规模的应用系统中才采用 16 位字长单片机, 32 位单片机产品目前应用得还不多。
(2)两者都有存储器,但通用微机中存储器组织结构主要针对增大存储容量和CPU 对数据的存取速度。
现今微机的内存容量达到了数百兆字节 (MB),存储体系采用多体、并读技术和段、页等多种管理模式。
单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上, CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为 64 KB 。
(3)两者都有 I/O 接口,但通用微机中 I/O 接口主要考虑标准外设 ( 如 CRT、标准键盘、鼠标、打印机、硬盘、光盘等 ) 。
用户通过标准总线连接外设,能达到即插即用。
单片机应用系统的外设都是非标准的,且千差万别,种类很多。
单片机的I/O 接口实际上是向用户提供的与外设连接的物理界面。
单片机习题参考答案第四章P97 6,7,9,10,12,16,17,18,19,23,27,28,296.在80C51片内RAM中,已知(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H,请分析下段程序中各指令的作用,并翻译成相应的机器码;说明源操作数的寻址方式及顺序执行每条指令后的结果。
机器码(H) 指令结果源操作数的寻址方式E540 MOV A,40H ;A=(40H)=48H 直接寻址F8 MOV R0,A ;R0=48H 寄存器寻址7590F0 MOV P1,#0F0H ;P1=0F0H 立即寻址A630 MOV @R0,30H ;(48H)= 38H 直接寻址901246 MOV DPTR,#1246H;DPTR=1246H 立即寻址853840 MOV 40H,38H ;(40H)=40H 直接寻址A830 MOV R0,30H ;R0=38H 直接寻址8890 MOV 90H,R0 ;(90H)=38H 寄存器寻址754830 MOV 48H,#30H ;(48H)=30H 立即寻址E6 MOV A,@R0 ;A=40H 寄存器间接寻址8590A0 MOV P2,P1 ;P2=P1=38H 直接寻址7.试说明下列指令的作用,并将其翻译成机器码,执行最后一条指令对PSW有何影响A的终值为多少机器码(H) 指令结果(1) 7872 MOV R0,#72H ;R0=72HE8 MOV A,R0 ;A=72H,P=0244B ADD A,#4BH ;A=BDH,CY=0,OV=1,AC=0,P=0(2) 7402 MOV A,#02H ;A=02H,P=1F5F0 MOV B,A ;B=02H740A MOV A,#0AH ;A=0AH,P=025F0 ADD A,B ;A=0CH,CY=0,OV=0,AC=0,P=0A4 MUL AB ;A=18H,B=0,CY=0,OV=0,AC=0,P=0(3) 7420 MOV A,#20H ;A=20H,P=1F5F0 MOV B,A ;B=20H25F0 ADD A,B ;A=40H,CY=0,OV=0,AC=0,P=19410 SUBB A,#10H ;A=30H,CY=0,OV=0,AC=0,P=084 DIV AB ;A=01H,B=10H,CY=0,OV=0,AC=0,P=19.试编程将片外数据存储器60H中的内容传送到片内RAM 54H单元中。
MOV DPTR,#0060HMOVX A,@DPTRMOV 54H,A(MOV P2,#0MOV R0,#60HMOVX A,@R0MOV 54H,A)10.试编程将寄存器R7内容传送到R1中去。
MOV A,R7MOV R1,A12.试说明下段程序中每条指令的作用,并分析当执行完指令后,R0中的内容是什么MOV R0,#0A7H ;R0=A7HXCH A,R0 ;A=A7H,A的内容暂存R0SWAP A ;A=7AHXCH A,R0 ;R0=7AH,A的内容恢复16.试编程将片外RAM中30H和31H单元的内容相乘,结果存放在32H和33H单元中,高位存放在33H单元中。
MOV P2,#0 MOV R0,#30H MOVX A,@R0 MOV B,A INC R0MOVX A,@R0 MUL ABINC R0MOVX @R0,AINC R0MOV A,B MOVX @R0,A MOV DPTR,#30H MOVX A,@DPTR MOV B,AINC DPTRMOVX A,@DPTR MUL ABINC DPTRMOVX @DPTR,AINC DPTRMOV A,B MOVX @DPTR,A17.试用三种方法将累加器A中无符号数乘2。
(1)CLR CRLC A(2)MOV R0,AADD A,R0或ADD A,ACC(3)MOV B,#2MUL AB18.请分析依次执行下面指令的结果:MOV 30H,#0A4H ;(30H)=A4HMOV A,#0D6H ;A=D6H,P=1 MOV R0,#30H ;R0=30HMOV R2,#47H ;R2=47HANL A,R2 ;A=46H,P=1ORL A,@R0 ;A=E6H,P=1SWAP A ;A=6EH,P=1CPL A ;A=91H,P=1XRL A,#0FFH ;A=6EH,P=1ORL 30H,A ;(30H)=EEH19.求执行下列指令后,累加器A及PSW中进位位CY、奇偶位P和溢出位OV的值。
(1)当A=5BH时;ADD A,#8CH0101 1011+)1000 11001110 0111结果:A=E7H,CY=0,OV=0,P=0,AC=1(2)当A=5BH时;ANL A,#7AH0101 1011∧)0111 10100101 1010结果:A=5AH,P=0(3)当A=5BH时;XRL A,#7FH0101 1011⊕)0111 11110010 0100结果:A=24H,P=0(4)当A=5BH,CY=1时;SUBB A,#0E8H0101 1011 或将减法转换成补码加法0101 10111110 1000 -E8H的补码0001 1000-) 1 -1的补码+)1111 11110111 0010 10111 0010结果:A=72H,CY=1,OV=0,P=0,AC=023.执行下述程序后,SP=A=B=解释每一条指令的作用,并将其翻译成机器码。
地址(H) 机器码(H) ORG 200H0200 758140 MOV SP,#40H ;SP=40H0203 7430 MOV A,#30H ;A=30H0205 120250 LCALL 250H ;调用250H开始的子程序SP=42H,;(42H)=02H,(41H)=08H0208 2410 ADD A,#10H ;此句没有执行020A F5F0 MOV B,A ;B=30H020C 80FE L1:SJMP L1 ;ORG 0250H0250 90020A MOV DPTR,#20AH;DPTR=020AH0253 C082 PUSH DPL ;DPL进栈,SP=43H,(43H)=0AH0255 C083 PUSH DPH ;DPH进栈,SP=44H,(44H)=02H0257 22 RET ;返回,此处是利用RET将栈顶内容弹出PC=020AH,SP=42H44H43H栈区42H41H40H执行程序后,SP,B=30H27.试编一程序将外部数据存储器2100H单元中的高4位置“1”,其余位清”0”。
MOV DPTR,#2100HMOVX A,@DPTRANL A,#0F0H MOV A,#0F0HORL A,#0F0HMOVX @DPTR,A28.试编程将内部数据存储器40H单元的第0位和第7位置”1”,其余位变反。
MOV A,40HCPL ASETB (或ORL A,#81H)SETBMOV 40H,A29.请用位操作指令,求下面逻辑方程:ACCP∨B=P∧∨7.10.)1.2)1(P(0.2.3MOV C,ORL C,ANL C,ORL C,/MOV ,CACCPPSW∧∧=∨5.5.1.1B2.3.1)2(PMOV C,ANL C,ORL C,ANL C,/MOV ,CPBP∧∧=∨ACC7.0.1)3(P4.5.13.2MOV C,ANL C,/ORL C,/ANL C,MOV ,C第五章P112 1,3,6,7,11,201.编程将片内40H~60H单元中内容送到以3000H为首的片外RAM存储区中方法1:MOV R0,#40HMOV DPTR,#3000HMOV R2,#21HLOOP:MOV A,@R0MOVX @DPTR,AINC R0INC DPTRDJNZ R2,LOOP┋方法2:MOV R0,#40HMOV DPTR,#3000HMOV R2,#0LOOP:MOV A,@R0MOVX @DPTR,AINC R0INC DPTRINC R2CJNE R2,#21H,LOOP┋方法3:MOV R0,#40HMOV DPTR,#3000HLOOP:MOV A,@R0MOVX @DPTR,AINC R0INC DPTRCJNE R0,#61H,LOOP┋补充:编程将ROM中3000H~3020H单元的内容送片内RAM40H~60H单元中去。
MOV R0,#40HMOV DPTR,#3000HMOV R2,#21HLOOP:CLR AMOVC A,@A+DPTRMOV @R0,AINC R0INC DPTRDJNZ R2,LOOP3.编程计算片内RAM区50H~57H 8个单元中数的算术平均值,结果存放在5AH中。
解:ORG 2000HMOV R0,#50HCLR AMOV R2,ALOOP:ADD A,@R0JNC DOWNINC R2DOWN: INC R0CJNE R0,#58H,LOOPMOV R7,#3SHIFT:XCH A,R2CLR CRRC AXCH A,R2RRC ADJNZ R7,SHIFTMOV 5AH,A┋6.设有100个有符号数,连续存放在以2000H为首地址的片外RAM存储区中,试编程统计其中正数、负数、零的个数。
方法1:CLR AMOV R5,A ;存零的个数MOV R6,A ;存负数的个数MOV R7,A ;存正数的个数MOV R2,#100MOV DPTR,#2000HLOOP:MOVX A,@DPTRJNZ NZEROINC R5SJMP DOWNNZERO: JNB ,PLUSINC R6SJMP DOWNPLUS:INC R7DOWN: INC DPTRDJNZ R2,LOOP┋方法2:CLR AMOV R5,A ;存零的个数MOV R6,A ;存负数的个数MOV R7,A ;存正数的个数MOV R2,#100MOV DPTR,#2000HLOOP:MOVX A,@DPTRINC DPTRCJNE A,#0,NZEROINC R5SJMP DOWNNZERO:JC NEGATIVEINC R7SJMP DOWNNEGATIVE:INC R6DOWN:DJNZ R2,LOOP┋7.请将片外数据存储器地址为1000H~1030H的数据块,全部搬迁到片内RAM 30H~60H 中,并将原数据块区域全部清“0”。
解:ORG 1000HMOV DPTR,#1000HMOV R0,#30HMOV R2,#31HLOOP:MOVX A,@DPTRMOV @R0,ACLR AMOVX @DPTR,AINC R0INC DPTRDJNZ R2,LOOP┋8.试编写一子程序,使间址寄存器R1所指向的2个片外RAM连续单元中的高4位二进制数合并为1个字节装入累加器A中。