《单片机》读程序题题库答案

合集下载

单片机试题及答案

单片机试题及答案

单片机试题及答案在以下的文章中,我将为您提供一些关于单片机的试题及答案。

请您留意,文章中会涉及到一些技术术语的解释和实例,希望对您有所帮助。

试题一:1. 请解释什么是单片机?答案:单片机是一种集成电路芯片,它集成了中央处理器、内存、输入/输出接口以及其他一些外设电路。

它可以用来控制和执行各种任务,比如数据的采集和处理、通信、显示等。

2. 单片机与微处理器有什么区别?答案:单片机是集成了中央处理器和外设接口的完整系统,而微处理器只是中央处理器,需要外部电路和外设接口来实现完整的系统功能。

3. 请简要解释单片机的工作原理。

答案:单片机通过读取程序存储器中的指令,执行指令来完成各种任务。

它可以通过输入/输出接口与外部设备进行通信,并通过内存存储数据。

4. 请解释什么是中断?答案:中断是一种事件,它可以打断单片机的正常执行流程,并引导程序执行特定的子程序。

中断可以是内部的(比如定时器溢出中断)或外部的(比如按键中断)。

5. 请解释什么是串口通信?答案:串口通信是一种通过串行数据传输进行的通信方式。

数据是逐位地发送和接收的,其中一根信号线用于发送数据,另一根信号线用于接收数据。

试题二:1. 请写出单片机的常见应用领域。

答案:单片机的常见应用领域包括家电控制、工业自动化、电子设备、医疗设备、交通工具控制等。

2. 请简述单片机的编程语言。

答案:单片机的编程语言主要有汇编语言和高级语言。

汇编语言是直接操作单片机硬件的语言,使用机器指令进行编程;高级语言(如C语言)则是通过编译器将程序转换为单片机可以执行的机器指令。

3. 请解释什么是GPIO口?答案:GPIO口是指单片机上的通用输入输出口,它可以配置为输入或输出模式。

通过GPIO口,单片机可以与其他外部设备进行数字信号的交互。

4. 请解释什么是PWM信号?答案:PWM(脉宽调制)信号是一种周期性的方波信号,通过调节方波的高电平持续时间(脉宽)和周期来实现对电压的控制。

单片机复习题含答案

单片机复习题含答案

单片机模拟试卷001六、设计题(1题13分;2题12分,共25分)1.某单片机控制系统有8个发光二极管。

试画出89C51与外设的连接图并编程使它们由左向右轮流点亮。

2.某控制系统有2个开关K1和K2,1个数码管,当K1按下时数码管加1,K2按下时数码管减1。

试画出8051与外设的连接图并编程实现上述要求。

单片机模拟试卷002四、读程序题(每小题4分,共20分) 1.执行下列程序段后,(P1)=_______。

MOV P1,#5DH CPLCPL CLR SETB2.执行下列程序段后,(A)=_______,(C Y )=____。

MOV A ,#C5H RL A3.下列程序段执行后,(R 0)=_______,(7EH)=____,(7FH)=_______。

MOV R 0,#7EH MOV 7EH ,#0FFH MOV 7FH ,#40H 1NC @R 0 1NC R 0 1NC @R 04.已知(SP)=60H ,子程序SUBTRN 的首地址为0345H ,现执行位于0123H 的ACALL SUBTRN 双字节指令后,(PC)=___,(61H)=_______,(62H)= ____。

5.阅读下列程序,说明其功能。

MOV R 0,#data MOV A,@R 0 RL AMOV R 1,A RL A RL AADD A ,R 1 MOV @R 0,A RET五、编程题(每小题4分,共20分)1.已知在累加器A 中存放一个BCD 数(0~9),请编程实现一个查平方表的子程序。

2.请使用位操作指令实现下列逻辑操作: BIT=(10H ∨∧(11H ∨C Y )3.已知变量X 存于V AR 单元,函数值Y 存于FUNC 单元,按下式编程求Y 值。

Y=100100x x x >-=<⎧⎨⎪⎩⎪4.已知在R 2中存放一个压缩的BCD 码,请将它拆成二个BCD 字节,结果存于SUM 开始的单元中(低位在前)。

单片机题库 (1)

单片机题库 (1)

单片机题库一:判断题您的姓名: [填空题] *_________________________________1、#define LED P2是宏定义,即用P2来代替LED。

[判断题] *对错(正确答案)2、X>>1表示将X中的各个位都向左移动1位,右边空出来的位用0补足。

[判断题] *对错(正确答案)3、在C语言中,函数体部分需要用{ }括起来。

() [单选题] *A、对(正确答案)B、错4、a==1表示将变量a赋值为1 [判断题] *对错(正确答案)5、51单片机的每个中断源都具有高低两个中断优先级。

[判断题] *对错(正确答案)4、int型数据和无符号int型数据的取值范围是一样的。

[判断题] *对错(正确答案)5、数组中的数据可以是不同类型的。

[判断题] *对错(正确答案)6、在C语言中,常量可以是数值型常量也可以是符号型常量 [判断题] *对(正确答案)错7、数组可以分为一维数组,二维数组和多维数组。

[判断题] *对(正确答案)错8、在LED闪烁方式控制的电路所用的发光二极管具有单向导通性。

[判断题] *对(正确答案)错9、#define LED P2是宏定义,即用P2来代替LED。

[判断题] *对错(正确答案)10、算数运算符%表示取余运算,10%3的结果是1。

[判断题] *对(正确答案)错11、C语言中一个分号可以作为一个执行语句。

[判断题] *错12、拉幕灯实验中使用到的LED灯是发光二极管,它具有单向导通性。

[判断题] *对(正确答案)错13、同级优先级不能相互断。

[判断题] *对(正确答案)错14、除法运算7/3的结果是1。

[判断题] *对错(正确答案)15、void delay_1ms(uint x)该函数有一个参数x [判断题] *对(正确答案)错16、陶瓷电容和电解电容在结构上是相同的,在硬件电路中可互换。

[判断题] *对错(正确答案)13、8段LED数码管显示器只有共阳极结构。

(完整版)单片机题库分章节答案(C语言)

(完整版)单片机题库分章节答案(C语言)

第1部分单片机概述及数学基础一、填空题1、十进制255的二进制是11111111,十六进制是FF 。

2、单片机是将CPU、存储器、特殊功能寄存器、定时/计数器和输入/输出接口电路、以及相互连接的总线等集成在一块芯片上。

3、十进制127的二进制是1111111,十六进制是7F。

4、+59的原码是00111011,-59的补码是11000101。

5、十进制数100转换为二进制数是1100100;十六进制数100转换为十进制数是256。

6、十进制数40转换为二进制数是101000;二进制数10.10转换为十进制数是 2. 5。

7、十进制99的二进制是1100 011,十六进制是63。

二、判断题(×)1、AT89S51是一种高性能的16位单片机。

8位机(×)2、有符号正数的符号位是用1表示的。

三、选择题()1、计算机中最常用的字符信息编码是(A)A. ASCIIB.BCD码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供电的。

4.0-5.5V7.堆栈是内部数据RAM区中,数据按先进后出的原则出入栈的。

8.MSC-51系列单片机具有 4 个并行输入/输出端口,其中_P0_口是一个两用接口,它可分时输出外部存储器的低八位地址和传送数据,而_P1__口是一个专供用户使用的I/O口,常用于第二功能的是P3 口。

单片机习题及参考答案

单片机习题及参考答案

(一)填空题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.用户构建单片机应用系统,只能使用芯片提供的信号引脚。

单片机习题及参考答案

单片机习题及参考答案

习题及参考答案一、填空题1、指令格式是由操作码和操作数所组成,也可能仅由操作码组成。

2、若用传送指令访问MCS-51的程序存储器,它的操作码助记符应为MOVC 。

3、若用传送指令访问MCS-51的片内数据存储器,它的操作码助记符应为MOV 。

4、若访问MCS-51的片外数据存储器,它的操作码助记符应为MOVX 。

5、累加器(A)=80H,执行完指令ADD A,#83H后,进位位C= 1 。

6、执行ANL A,#0FH指令后,累加器A的高4位= 0000 。

7、JZ rel的操作码地址为1000H,rel=20H,它的转移目的地址为1022H 。

8、JBC 00H,rel 操作码的地址为2000H,rel=70H,它的转移目的地址为2073H 。

9、累加器(A)=7EH,(20H)= #04H,MCS-51执行完ADD A,20H指令后PSW.0= 0 。

10、MOV PSW,#10H是将MCS-51的工作寄存器置为第 2 组。

11、指令LCALL 37B0H,首地址在2000H,所完成的操作是2003H 入栈,37B0H →PC。

12、MOVX A,@DPTR源操作数寻址方式为寄存器间接寻址。

13、ORL A,#0F0H是将A的高4位置1,而低4位保持不变。

14、SJMP rel的指令操作码地址为0050H,rel=65H,那么它的转移目标地址为 00B7H 。

15、设DPTR=2000H,(A)=80H,则MOVC A,@A+DPTR的操作数的实际地址为2080H 。

16、MOV C,20H源寻址方式为位寻址。

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

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

19、在变址寻址方式中,以 A 作变址寄存器,以PC 或DPTR 作基址寄存器。

20、假定累加器A中的内容为30H,执行指令1000H:MOVC A,@A+PC后,把程序存储器1031H 单元的内容送入累加器A中。

单片机习题 解答 (仅供参考)

单片机习题 解答 (仅供参考)

单片机习题解答 (仅供参考)单片机习题解答(仅供参考)在单片机学习过程中,习题解答是非常重要的一部分。

通过解答习题,我们可以加深对单片机原理的理解,提高解决问题的能力。

本文将提供一些常见的单片机习题解答,供大家参考。

一、基础知识题1. 单片机的基本概念是什么?单片机是指将微处理器、存储器和输入输出接口电路等功能集成在一个芯片上的一种微型计算机系统。

它具有体积小、功耗低、可靠性高等优点,广泛应用于嵌入式系统中。

2. 单片机有哪些主要的寄存器?单片机主要包括通用寄存器、程序计数器、状态寄存器、堆栈指针、数据指针等。

其中,通用寄存器用于存放临时数据,程序计数器用于存放下一条指令的地址,状态寄存器用于记录程序运行的状态,堆栈指针用于管理函数的调用和返回,数据指针用于存放数据的地址。

3. 单片机的时钟信号是如何产生的?单片机的时钟信号是通过外部晶体振荡器或者内部振荡电路产生的。

晶体振荡器通过振荡晶体使得IC内部产生稳定的时钟信号,内部振荡电路则通过RC电路或者LC电路产生时钟信号。

4. 如何配置单片机的I/O口?单片机的I/O口通常需要配置为输入模式或者输出模式。

配置为输入模式时,需要将相应的引脚配置为高阻态或者低电平输入;配置为输出模式时,需要将相应的引脚配置为高电平输出或者低电平输出。

二、编程实践题1. 编写一个程序实现LED灯的闪烁。

#include <reg52.h> // 包含寄存器定义文件sbit LED = P1^0; // 定义LED连接的引脚void delay(unsigned int t) // 延时函数{unsigned int i, j;for(i = t; i > 0; i--)for(j = 110; j > 0; j--);}void main(){while(1){LED = 0; // 点亮LEDdelay(500); // 延时500msLED = 1; // 熄灭LEDdelay(500); // 延时500ms}}2. 编写一个程序实现按键控制LED灯的亮灭。

《单片机》读程序题题库答案

《单片机》读程序题题库答案

四、阅读下列程序,注释并填写指令执行后的结果(每题10分)1、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART:MOV R0,#20H ;#20H->R0 (R0)=20HMOV R1,#30H ; #30H->R1 (R1)=30HMOV A,R0 ;(R0)->A (A)=20HADD A,#36H ;(A)+#36H->A (A)=56HMOV P1,A ;(A)->P1 (P1)=56HINC R0 ;(R0)+1->R0 (R0)=21HINC R1 ;(R1)+1->R0 (R1)=31HANL A,R1 ;(A)&(R1)->A (A)=10HSWAP A ;累加器A的高低4位交换 (A)=01HPUSH ACC ;累加器A内容压栈MOV P1,A ;(A)->P1 (P1)=01HPOP B ;堆栈内容出栈到B寄存器 (B)=01HMOV R0,A ;(A)->R0 (R0)=01HMOV DPTR,#2200H ;#2200H->DPTR (DPTR)=2200HSETB C ;1->Cy (Cy)=1ADDC A,#0 ;(A)+0+(Cy)->A (A)=02HMOVX @DPTR,A ;(A)->(DPTR) (2200H)=02HEND(R0)= 01H (R1)= 31H (P1)= 01H(B)= 01H (2200H)= 02H2、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART:MOV SP,#50H ;#50H->SP (SP)=50H第1页共55页MOV R2,#10H ;#10H->R2 (R2)=10HMOV DPTR,#3000H ;#3000H->DPTR (DPTR)=3000HCRL A ;0->A (A)=0LOOP: MOVX @DPTR,A ;(A)->(DPTR)INC DPTR ;(DPTR)+1->DPTRDJNZ R2,LOOP ;(R2)-1->R2 若(R2)不等于零则转移到LOOP处INC DPH ;(DPH)+1->DPH (DPH)=31H (R2)=00H (DPL)=10H INC DPH ;(DPH)+1->DPH (DPH)=32HMOV 20H,#36H ;#36H->(20H) (20H)=36HSETB 00H ;位地址00H置1 20H.0=1 (20H)=37HMOV A,20H ;(20H)->A (A)=37HMOVX @DPTR,A ;(A)->(DPTR) (DPTR)=3210H (3210H)=37HINC A ;(A)+1->A (A)=38HINC A ;(A)+1->A (A)=39HPUSH ACC ;累加器A内容压栈 (SP)=51HXCH A,R2 ;累加器A的内容与R2内容互换 (A)=00H (R2)=39H POP DPH ;堆栈内容弹到DPH (DPH)=39HADD A,#55H ;(A)+#55H->A (A)=55HPUSH ACC ;累加器A内容压栈END(A)= 55H (R2)= 39H (20H)= 37H (DPTR)= 3910H (SP)= 51H3、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART:MOV R0,#30H ;#30H->R0 (R0)=30HMOV A,#12H ;#12H->A (A)=12HSETB C ;(Cy)=1ADDC A,R0 ;(A)+(R0)+Cy->A (A)=43HMOV @R0,A ;(A)->(R0) (30H)=43H第2页共55页SWAP A ;累加器A高低4位交换 (A)=34HINC A ;(A)+1->A (A)=35HMOV DPTR,#2000H ;#2000H->DPTR (DPTR)=2000HINC DPH ;(DPH)+1->DPH (DPH)=21HMOV P1,A ;(A)->P1 (P1)=35HINC A ;(A)+1->A (A)=36HMOVX @DPTR,A ;(A)->(DPTR) (2100H)=36HXCH A,R0 ; (A) R0 (A)=30H (R0)=36HRL A ;累加器A内容循环左移 (A)=60HPUSH ACC ;累加器A的内容入栈RL A ;累加器A内容循环左移 (A)=0C0HPOP ACC ;堆栈内容弹出到累加器A (A)=60HEND(A)= 60H (R0)= 36H (DPTR)= 2100H(P1)= 35H (30H)= 43H4、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV SP,#50H ;#50H->SP (SP)=50HMOV DPTR,#3000H ;#3000H->DPTR (DPTR)=3000HMOV R0,#20H ;#20H->R0 (R0)=20HMOV A,#23H ;#23H->A (A)=23HMOV R2,#0FH ;#0FH->R2 (R2)=0FHSETB 01H ;置位20H.1 (20H.1)=1SETB C ;置位Cy (Cy)=1ADDC A,@R0 ;(A)+((R0))+Cy->A (A)=26HINC R0 ;(R0)+1->R0 (R0)=21HMOV @R0,A ;(A)->((R0)) (21H)=26HLOOP: DJNZ R2, LOOP ;(R2)-1->R2 若R2内容不等于零则转移SWAP A ;累加器A内容的高低4位交换 (A)=62HPUSH ACC ;累加器A内容入栈INC DPH ;(DPH)+1->DPH (DPH)=31HMOVX @DPTR,A ;(A)->(DPTR) (3100H)=62HPOP B ;堆栈内容弹出到B (B)=62H第3页共55页RR A ;累加器A内容循环右移 (A)=31HADD A,B ;(A)+(B)->A (A)=93HMOV P1,A ;(A)->P1 (P1)=93HEND(21H)= 26H (R2)= 00H (A)= 93H (B)= 62H (3100H)= 62H5、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV DPTR,#1000H ;#1000H->DPTR (DPTR)=1000HMOV A,#13H ;#13H->A (A)=13HMOV R0,#20H ;#20H->R0 (R0)=20HSETB C ;1->Cy (Cy)=1MOV @R0,A ;(A)->((R0)) (20H)=13HRLC A ;累加器A的内容带进位循环左移 (A)=27HXCH A,@R0 ;累加器A的内容与20H单元的内容互换 (A)=13H (20H)=27H PUSH ACC ;累加器A的内容入栈POP DPL ;堆栈内容弹出到DPL (DPL)=13HMOVX @DPTR,A ;(A)->(DPTR) (1013H)=13HDEC A ;(A)-1->A (A)=12HPUSH DPH ;DPH内容压栈POP B ;堆栈内容弹出到B (B)=10HADD A,B ;(A)+(B)->A (A)=22HMOV P1,A ;(A)->P1 (P1)=22HCLR A ;累加器A内容清零ADD A,B ;(A)+(B)->A (A)=10HEND(P1)= 22H (B)= 10H (20H)= 27H (DPTR)= 1013H (R0)= 20H6、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART:MOV SP,#50H ;#50H->SP (SP)=50HMOV R0,#20H ;#20H->R0 (R0)=20HMOV R2,#10H ;#10H->R2 (R2)=10HMOV A,#24H ;#24H->A (A)=24H第4页共55页LOOP: MOV @R0,A ;(A)->((R0))INC R0 ;(R0)+1->R0DJNZ R2,LOOP ;(R2)-1->R2 若R2内容不等于0则跳转到LOOP处SETB 00H ;1->位地址为00H的位 (20H.0)=1 (20H)=25HSETB C ;1->Cy (Cy)=1ADDC A,#00H ;(A)+00H+(Cy)->A (A)=25HSWAP A ;累加器A内容高低四位互换 (A)=52HPUSH ACC ;累加器A内容压栈POP DPH ;堆栈内容弹出到DPH (DPH)=52HPUSH ACC ;累加器A内容压栈POP B ;堆栈内容弹出到B (B)=52HMOV A,R2 ;(R2)->A (A)=00HMOV DPL,A ;(A)->DPL (DPL)=00HMOV A,B ; (B)->A (A)=52HPUSH ACC ;累加器A内容压栈 (SP)=51HEND(A)= 52H (R2)= 00H (20H)= 25H (DPTR)= 5200H (SP)= 51H7、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV DPTR,#2100H ;#2100H->DPTR (DPTR)=2100HCLR A ;0->A (A)=00HMOV R1,#30H ;#30H->R1 (R1)=30HSETB C ;1->Cy (Cy)=1ADDC A,R1 ;(A)+(R1)+Cy->A (A)=31HMOV @R1,A ;(A)->((R1)) (30H)=31HPUSH ACC ;累加器A的内容压栈POP DPL ;堆栈内容弹出到DPL (DPL)=31HRR A ;累加器A的内容循环右移 (A)=98HMOV R0,A ;(A)->R0 (R0)=98HORL A,#24H ;(A) or 24H->A (A)=0BCHMOV P1,A ;(A)->P1 (P1)=0BCHSWAP A ;累加器A的内容高低四位交换 (A)=0CBHMOV DPH,A ;(A)->DPH (DPH)=0CBH第5页共55页MOV B,#02H ;#02H->B (B)=02HADD A,B ;(A)+(B)->A (A)=0CDHCLR ACC.3 ;0->ACC.3 (A)=0C5HSWAP A ;累加器A的内容高低四位交换 (A)=5CHEND(A)= 5CH (R0)= 98H (DPTR)= 0CB31H (P1)= 0BCH (30H)= 31H8、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV SP,#50H ;#50H->SP (SP)=50HMOV R3,#10H ;#10H->R3 (R3)=10HCLR A ;累加器A内容清零 (A)=00HMOV R0,#20H ;#20H->R0 (R0)=20HLOOP: MOV @R0,A ;(A)->((R0)) (20H)=00HINC R0 ;(R0)+1->R0 (20H)=01HDJNZ R3,LOOP ;(R3)-1->R3 若R3不等于零则跳转到LOOP处SETB 00H ;1->位地址00H位 (20H.0)=1 (20H)=01HSETB C ;1->Cy (Cy)=1SUBB A,#00H ;(A)-00H-Cy->A (A)=0FFHMOV DPL,A ;(A)->DPL (DPL)=0FFHPUSH ACC ;累加器A的内容压栈MOV A,R3 ;(R3)->A (A)=00HMOV DPH,A ;(A)->DPH (DPH)=00HPOP ACC ;堆栈内容弹出到A (A)=0FFHMOVX @DPTR,A ;(A)->(DPTR) (00FFH)=0FFHANL A,#55H ;(A) and 55H->A (A)=55HPUSH ACC ;累加器A的内容压栈 (SP)=51HCLR A ;累加器A内容清零 (A)=00HEND(A)= 00H (R3)= 00H (20H)= 01H (DPTR)= 00FFH (SP)= 51H9、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV R0,#30H ;#30H->R0 (R0)=30H第6页共55页MOV R1,#20H ; #20H->R1 (R1)=20HMOV A,R0 ;(R0)->A (A)=30HADD A,#37H ;(A)+#36H->A (A)=67HMOV P1,A ;(A)->P1 (P1)=67HINC R0 ;(R0)+1->R0 (R0)=31HINC R1 ;(R1)+1->R0 (R1)=21HANL A,R1 ;(A)&(R1)->A (A)=21HSWAP A ;累加器A的高低4位交换 (A)=12HPUSH ACC ;累加器A内容压栈MOV P1,A ;(A)->P1 (P1)=12HSWAP A ;累加器A的高低4位交换 (A)=21HPOP B ;堆栈内容出栈到B寄存器 (B)=12HMOV R0,A ;(A)->R0 (R0)=21HMOV DPTR,#2200H ;#2200H->DPTR (DPTR)=2200HSETB C ;1->Cy (Cy)=1ADDC A,B ;(A)+(B)+(Cy)->A (A)=34HMOVX @DPTR,A ;(A)->(DPTR) (2200H)=34HEND(R0)= 21H (R1)= 21H (P1)= 12H (B)= 12H (2200H)= 34H 10、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV SP,#50H ;#50H->SP (SP)=50HMOV R2,#20H ;#20H->R2 (R2)=20HMOV DPTR,#3000H ;#3000H->DPTR (DPTR)=3000HCLR A ;0->A (A)=0LOOP: MOVX @DPTR,A ;(A)->(DPTR)INC DPTR ;(DPTR)+1->DPTRDJNZ R2,LOOP;(R2)-1->R2 若(R2)不等于零则转移到LOOP处INC DPH ;(DPH)+1->DPH (DPH)=31H (R2)=00H (DPL)=20HINC DPH ;(DPH)+1->DPH (DPH)=32HMOV 20H,#38H ;#36H->(20H) (20H)=38HSETB 01H ;位地址01H置1 20H.1=1 (20H)=3AHMOV A,20H ;(20H)->A (A)=3AH第7页共55页MOVX @DPTR,A ;(A)->(DPTR) (DPTR)=3220H (3220H)=3AHINC A ;(A)+1->A (A)=3BHINC A ;(A)+1->A (A)=3CHPUSH ACC ;累加器A内容压栈XCH A,R2 ;累加器A的内容与R2内容互换 (A)=00H (R2)=3CHPOP DPH ;堆栈内容弹到DPH (DPH)=3CHADD A,#55H ;(A)+#55H->A (A)=55HPUSH ACC ;累加器A内容压栈,(SP)=51HEND(A)= 55H (R2)= 3CH (20H)= 3AH (DPTR)= 3C20H (SP)= 51H11、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV R0,#20H ;#20H->R0 (R0)=20HMOV A,#31H ;#31H->A (A)=31HSETB C ;(Cy)=1ADDC A,R0 ;(A)+(R0)+Cy->A (A)=52HMOV @R0,A ;(A)->(R0) (20H)=52HSWAP A ;累加器A高低4位交换 (A)=25HDEC A ;(A)-1->A (A)=24HMOV DPTR,#2000H ;#2000H->DPTR (DPTR)=2000HINC DPH ;(DPH)+1->DPH (DPH)=21HDEC DPL ;(DPL)-1->DPL (DPL)=0FFHMOV P1,A ;(A)->P1 (P1)=24HINC A ;(A)+1->A (A)=25HMOVX @DPTR,A ;(A)->(DPTR) (21FFH)=25HXCH A,R0 ; (A) R0 (A)=20H (R0)=25HRL A ;累加器A内容循环左移 (A)=40HPUSH ACC ;累加器A的内容入栈RL A ;累加器A内容循环左移 (A)=80HPOP ACC ;堆栈内容弹出到累加器A (A)=40HEND(A)= 40H (R0)= 25H (DPTR)= 21FFH (P1)= 24H (20H)= 52H12、 ORG 0第8页共55页LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV SP,#50H ;#50H->SP (SP)=50HMOV DPTR,#2000H ;#3000H->DPTR (DPTR)=2000HMOV 20H,#06H ;#06H->20H (20H)=06HMOV R0,#20H ;#20H->R0 (R0)=20HMOV A,#35H ;#35H->A (A)=35HMOV R2,#10H ;#10H->R2 (R2)=10HSETB 00H ;置位20H.0 (20H.0)=1 (20H)=07HSETB C ;置位Cy (Cy)=1ADDC A,@R0 ;(A)+((R0))+Cy->A (A)=3DHINC R0 ;(R0)+1->R0 (R0)=21HMOV @R0,A ;(A)->((R0)) (21H)=3DHLOOP: DJNZ R2, LOOP ;(R2)-1->R2 若R2内容不等于零则转移SWAP A ;累加器A内容的高低4位交换 (A)=0D3HPUSH ACC ;累加器A内容入栈INC DPH ;(DPH)+1->DPH (DPH)=21HMOVX @DPTR,A ;(A)->(DPTR) (2100H)=0D3HPOP B ;堆栈内容弹出到B (B)=0D3HRR A ;累加器A内容循环右移 (A)=0E9HADD A,B ;(A)+(B)->A (A)=0BCHMOV P1,A ;(A)->P1 (P1)=0BCHEND(21H)= 3DH (R2)= 00H (A)= 0BCH (B)= 0D3H (2100H)= 0D3H 13、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV DPTR,#2000H ;#2000H->DPTR (DPTR)=2000HMOV A,#36H ;#36H->A (A)=36HMOV R0,#30H ;#30H->R0 (R0)=30HSETB C ;1->Cy (Cy)=1MOV @R0,A ;(A)->((R0)) (30H)=36HRLC A ;累加器A的内容带进位循环左移 (A)=6DHXCH A,@R0 ;累加器A的内容与20H单元的内容互换 (A)=36H (30H)=6DH第9页共55页PUSH ACC ;累加器A的内容入栈POP DPL ;堆栈内容弹出到DPL (DPL)=36HMOVX @DPTR,A ;(A)->(DPTR) (2036H)=36HDEC A ;(A)-1->A (A)=35HPUSH DPH ;DPH内容压栈POP B ;堆栈内容弹出到B (B)=20HADD A,B ;(A)+(B)->A (A)=55HMOV P1,A ;(A)->P1 (P1)=55HCLR A ;累加器A内容清零ADD A,B ;(A)+(B)->A (A)=20HEND(P1)= 55H (B)= 20H (30H)= 6DH (DPTR)= 2036H (R0)= 30H 14、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV SP,#60H ;#60H->SP (SP)=60HMOV R0,#20H ;#20H->R0 (R0)=20HMOV R2,#10H ;#10H->R2 (R2)=10HMOV A,#24H ;#24H->A (A)=24HLOOP: MOV @R0,A ;(A)->((R0))INC R0 ;(R0)+1->R0DJNZ R2,LOOP ;(R2)-1->R2 若R2内容不等于0则跳转到LOOP处SETB 01H ;1->位地址为01H的位 (20H.1)=1 (20H)=26HSETB C ;1->Cy (Cy)=1ADDC A,20H ;(A)+(20H)+(Cy)->A (A)=4BHSWAP A ;累加器A内容高低四位互换 (A)=0B4HPUSH ACC ;累加器A内容压栈POP DPH ;堆栈内容弹出到DPH (DPH)=0B4HPUSH ACC ;累加器A内容压栈POP B ;堆栈内容弹出到B (B)=0B4HMOV A,R2 ;(R2)->A (A)=00HMOV DPL,A ;(A)->DPL (DPL)=00HADD A,B ;(A)+(B)->A (A)=0B4HPUSH ACC ;累加器A内容压栈 (SP)=61H第10页共55页END(A)= 0B4H (R0)= 30H (20H)= 26H (DPTR)= 0B400H (SP)= 61H15、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV DPTR,#1100H ;#1100H->DPTR (DPTR)=1100HCLR A ;0->A (A)=00HMOV R1,#20H ;#20H->R1 (R1)=20HSETB C ;1->Cy (Cy)=1ADDC A,R1 ;(A)+(R1)+Cy->A (A)=21HMOV @R1,A ;(A)->((R1)) (20H)=21HINC A ;(A)+1->A (A)=22HINC A ;(A)+1->A (A)=23HPUSH ACC ;累加器A的内容压栈POP DPL ;堆栈内容弹出到DPL (DPL)=23HRR A ;累加器A的内容循环右移 (A)=91HMOV R0,A ;(A)->R0 (R0)=91HORL A,#24H ;(A) or #24H->A (A)=0B5HMOV P1,A ;(A)->P1 (P1)=0B5HSWAP A ;累加器A的内容高低四位交换 (A)=5BHMOV DPH,A ;(A)->DPH (DPH)=5BHMOV B,#02H ;#02H->B (B)=02HADD A,B ;(A)+(B)->A (A)=5DHCLR ACC.4 ;0->ACC.4 (A)=4DHSWAP A ;累加器A的内容高低四位交换 (A)=0D4HEND(A)= D4H (R0)= 91H (DPTR)= 5B23H (P1)= 0B5H (20H)= 21H16、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV SP,#60H ;#60H->SP (SP)=60HMOV R3,#20H ;#20H->R3 (R3)=20HMOV A,#20H ;#20H->A (A)=20HMOV R0,#20H ;#20H->R0 (R0)=20H第11页共55页LOOP: MOV @R0,A ;(A)->((R0))INC R0 ;(R0)+1->R0DJNZ R3,LOOP ;(R3)-1->R3 若R3不等于零则跳转到LOOP处SETB 02H ;1->位地址02H位 (20H.2)=1 (20H)=24HSETB C ;1->Cy (Cy)=1SUBB A,20H ;(A)-(20H)-Cy->A (A)=0FBHMOV DPL,A ;(A)->DPL (DPL)=0FBHPUSH ACC ;累加器A的内容压栈MOV A,R3 ;(R3)->A (A)=00HMOV DPH,A ;(A)->DPH (DPH)=00HPOP ACC ;堆栈内容弹出到A (A)=0FBHMOVX @DPTR,A ;(A)->(DPTR) (00FBH)=0FBHANL A,#55H ;(A) and 55H->A (A)=51HPUSH ACC ;累加器A的内容压栈 (SP)=61HSWAP A ;累加器A内容高低4位交换 (A)=15HEND(A)= 15H (R3)= 00H (20H)= 24H (DPTR)= 00FBH (SP)= 61H17、ORG 0MOV R2,#8 ;#8->R2 (R2)=8HMOV R0,#30H ;#30H->R0 (R0)=30HCLR A ; #0->A (A)=0CPL A ; 累加器A的内容取反,(A)=0FFHLOOP: MOV @R0,A ; (A)-> (R0) (30H)~(37H)=0FFHINC R0 ; (R0)+1->R0DJNZ R2,LOOP ; (R2)-1 -> R2 , (R2)≠0则转移到LOOP处MOV B,R2 ; (R2) ->B (B)=(R2)=0INC B ; (B)+1 ->B (B)=1M OV A,R0 ; (R0) ->A (A)=(R0)=38HC LR C ; 0 -> Cy Cy=0ADDC A,B ; (A)+(B)+Cy -> A (A)=39HMOV R0,A ; (A) ->R0 (R0)=(A)=39HR LC A ; 累加器A的内容带进位左移,(A)=72HMOV DPTR,#1234H ; #1234H ->DPTR (DPTR)=1234HM OVX @DPTR,A ; (A) ->(DPTR) (1234H)=72H第12页共55页SWAP A ;累加器A的内容高低4位交换,(A)=27HPUSH ACC ; 累加器内容入栈POP DPH ; 堆栈内容弹出到DPH (DPH)=27HE ND(R0)= 39H (A)= 27H(33H)= 0FFH (DPTR)= 2734H (1234H)= 72H评分办法:指令注释占5分,对于程序段注释部分写对的学生可酌情给1-4分;程序段执行结果每空1分,共5分。

(完整word版)《单片机》编程题题库答案

(完整word版)《单片机》编程题题库答案

(完整word 版)《单片机》编程题题库答案第1页 共85页《单片机原理及应用》编程题题库参考答案六、编程(每题10分)1、 内部RAM 30H 和31H 单元中存放着2个0—9的ASCII 码(高位字节在前),请将其转换为压缩BCD 码(高位在前)并存入外部RAM 2300H 单元中。

解: ORG 0H LJMP START ORG 30H START : MOV A,30H ANL A,#0FH SWAP A MOV R0,A MOV A ,31HANL A ,#0FH ORL A,R0MOV DPTR,#2300H MOVX @DPTR ,A END评分办法:不要求写出程序的注释。

程序设计思路正确可得5分,指令完全写对可得10分。

若仅写对少量指令,可酌情给1-3分;若仅有少量指令写错,可酌情扣1—3分。

2、将存放在内部RAM 30H —35H 单元的压缩型BCD 码转换成相应的ASCII 码,依次存放到外部RAM 2100H 开始的单元区中.ORG 0H(完整word 版)《单片机》编程题题库答案第2页 共85页LJMP START ORG 30H START:MOV R0,#30H MOV R2,#06H MOV DPTR,#2100H LOOP :MOV A,@R0 SWAP A ANL A ,#0FH ORL A ,#30H MOVX @DPTR ,A INC DPTR MOV A ,@R0 ANL A,#0FHORL A ,#30H MOVX @DPTR ,A INC DPTR INC R0 DJNZ R2,LOOP SJMP $ END评分办法:不要求写出程序的注释.程序设计思路正确可得5分,指令完全写对可得10分。

若仅写对少量指令,可酌情给1-3分;若仅有少量指令写错,可酌情扣1-3分。

(完整word 版)《单片机》编程题题库答案第3页 共85页3、内部RAM 20H 和30H 开始的单元分别存放着16个16进制数,请将对应单元的内容相加(不考虑溢出),并将和存入外部RAM 2000H 开始的单元中。

(完整版)单片机试题库(有答案)

(完整版)单片机试题库(有答案)

(完整版)单片机试题库(有答案)以下题目及答案因时间及水平关系,仅供参考,也请大家对错误提出修正MCS-51单片机原理与结构1. MCS-51单片机CPU勺主要组成部分为A。

A.运算器、控制器 B .加法器、寄存器C .运算器、加法器 D .运算器、译码器2. 单片机能直接运行的程序叫C。

A.源程序B .汇编程序 C .目标程序D .编译程序3. 单片机中的程序计数器PC用来C oA .存放指令B .存放正在执行的指令地址C .存放下一条指令地址D.存放上一条指令地址4. 单片机上电复位后,PC的内容和SP的内容为B oA. 0000H 00H B . 0000H, 07H C . 0003H, 07H D . 0800H 08H5. 单片机8051的ALE引脚是B。

A.输出高电平B .输出矩形脉冲,频率为fosc的1/6C.输出低电平D .输出矩形脉冲,频率为fosc的1/26. 单片机8051的EA引脚C oA.必须接地B .必须接+5V C .以上两种视需要而定7. 访问外部存储器或其它接口芯片时,作数据线和低8位地址线的是A。

A. P0 口B . P1 口C . P2 口D . P0 口禾口P2 口8. PSV中的RS1禾口RSO用来A。

A. 选择工作寄存器组号B .指示复位C .选择定时器D.选择工作方式9. 上电复位后,PSW勺值为D。

A. 1 B . 07H C . OFFH D . 010. 8051单片机上电复位后,堆栈区的最大允许范围是B个单元。

A. 64 B . 120 C . 128 D . 25611.8051单片机上电复位后,堆栈区的最大允许范围是内部RAM 勺D<A. OOH-FFH B . OOH-07H C . 07H- 7FH D . 08H- 7FH12 .复位后,堆栈指针SP在内部RAM中的直接地址是C。

A. 00H B . 07H C . 81H D . FFH13. 8051的P0 口,当使用外部存储器时它是一个D。

单片机指令与程序阅读题参考答案

单片机指令与程序阅读题参考答案

三指令与程序阅读题参考答案1、解:(1)、(R0)=35H(2)、(6FH)=35H(3)、(A)=90H(4)、(80H)=81H(5)、(0C0)=35H(6)、(A)=6FH(7)、(R00=35H2、解:(1)、(A)=70H(2)、(2FFEH)=02H(3)、(A)=64H3、解:将data指出的内部存储单元中的数据*104、解:(A)=0CBH5、解:将内部RAM的30H地址开始的32B数据,传到外部RAM的2000H单元开始的区域。

6、解:冒泡排序7、解:找出从(R0)开始的(R7)个数据中的最大值。

8、解:是软件延程序。

一个机器周期为2us,程序的延时时间为:((256*5+3)*256+1)=656898us9、解:(40H)=0ABH,(41H)=0FFH10、解:(R1)=-1。

11、解:(50H)=56H12、解:求内部RAM中从50H开始的字符串的长度,其值放入R2中。

13、解:(HEX)=‘A’。

14、解:将(R4R3)*(R2)的内容存入(R7R6R5)中。

15、解:p1.0为0P1.0=/P1.0∨P1.1∧/P1.2∨/P1.1∧P1.2∨/P1.4∧/P1.5∧/P1.6∧P1.716、解:将内部RAM中从30H、40H开始的2FH个DCB码相加,其结果存放在30H开始的存储单元中。

17、解:(R5R4)=0DCBBH18、解:函数为(30H)+(31H)((31H)>=10)(32H)=(30H)-(31H)((31H)<10)19、解:(R0)=7AH20、解:(1)、(A)=57H,C=1(2)、(A)=3EH,C=021、解:(SP)=2FH,(DPH)=01H,(DPL)=23H,(A)=20H22、解:将内部数据RAM30H——33H和40H——43H中的内容进行一一交换。

23、答:42H,40H,40H24、答:(CBAAH)25、(31H)26、28、答:一、A=57H,CY=1,OV=1,P=1二、A=3BH,CY=0,AC=1,OV=129、答:A=0EEH30、答:作用:若((R1))=7AH则顺序执行程序,否则转移后继执行。

单片机考试题目及答案

单片机考试题目及答案

单片机考试题目及答案一、单项选择题(每题2分,共20分)1. 单片机中,以下哪个寄存器用于存储程序计数器(PC)的值?A. SPB. PCC. DPTRD. SCON答案:B2. 在8051单片机中,下列哪个指令用于将累加器A的内容传送到外部数据存储器?A. MOV A, @R0B. MOVX A, @DPTRC. MOV A, #dataD. MOV A, R0答案:B3. 下列哪个指令是8051单片机的无条件跳转指令?A. SJMPB. CJNEC. DJNZD. JZ答案:A4. 在8051单片机中,以下哪个中断源的中断优先级最高?A. 外部中断0B. 定时器0中断C. 外部中断1D. 串行通讯中断答案:C5. 8051单片机的定时器/计数器工作在方式1时,其计数器的计数范围是多少?A. 0到255B. 0到65535C. 0到32767D. 0到65536答案:C6. 8051单片机中,哪个指令用于将累加器A的内容与立即数进行逻辑“或”操作?A. ORL A, #dataB. ORL A, directC. ORL A, @R0D. ORL direct, #data答案:A器R0的内容进行逻辑“与”操作?A. ANL A, R0B. ANL R0, AC. ANL A, #dataD. ANL direct, A答案:A8. 8051单片机中,哪个指令用于将累加器A的内容与直接地址中的数据进行逻辑“异或”操作?A. XRL A, #dataB. XRL A, directC. XRL direct, AD. XRL A, @R0答案:B器R0的内容进行逻辑“异或”操作?A. XRL A, R0B. XRL R0, AC. XRL A, #dataD. XRL direct, A答案:A10. 8051单片机中,哪个指令用于将累加器A的内容与寄存器R0的内容进行逻辑“与”操作后,结果存回R0?A. ANL A, R0B. ANL R0, AC. ANL A, #dataD. ANL direct, A答案:B二、填空题(每题2分,共20分)1. 8051单片机的内部RAM分为______和______两部分。

单片机试题和答案解析

单片机试题和答案解析

单⽚机试题和答案解析2013A卷⼀、填空题(每空1分,共20分)1、+1000001的反码是。

⼗进制数-4的8位⼆进制补码是。

2、计算机所能执⾏的指令的集合称为。

指令的编码规则称为,⼀般由和操作数两部分组成。

3、CPU⼀次可以处理的⼆进制数的位数称为CPU的。

4、当EA为电平时,CPU总是从外部存储器中去指令。

5、89C52单⽚机有6个中断源,其中内部中断源有个,外部中断源有个。

6、汇编指令中,对程序存储器的访问⽤指令来访问,外部RAM⽤指令来访问。

7、C51的数据类型sfr占个字节,C51中整型变量占个字节。

8、指令MOV 20H,#20H中,源操作数的寻址⽅式是,⽬的操作数的寻址⽅式是。

9、定时器T1⽅式2的8位常数重装初值存放于寄存器中。

定时器T0⽅式0,寄存器⽤于存放计数初值的低5位。

10、多机通信中,主机的SM2= 。

11、EPROM存储器27C256内部容量是32K字节,若不考虑⽚选信号,则对其内部全部存储单元进⾏寻址共需根地址线。

12、波特率倍增位位于特殊功能寄存器中。

13、8155A内部具有1个位减法定时器/计数器。

⼆、单项选择题(共20题,每题1分,共20分)1、单⽚机的应⽤程序⼀般存放于()中A、RAMB、ROMC、寄存器D、CPU2、定时器0⼯作于计数⽅式,外加计数脉冲信号应接到()引脚。

A、 B、P3.3 C、 D、3、MCS51单⽚机在同⼀优先级的中断源同时申请中断时,CPU⾸先响应()。

A、外部中断0B、外部中断1C、定时器0D、定时器14、ADC0809是()AD的转换器件A、4通道8位B、8通道8位C、4通道12位D、8通道12位5、执⾏中断返回指令后,从堆栈弹出地址送给()A、AB、RiC、PCD、DPTR6、串⾏通信中,发送和接收寄存器是()A、TMODB、SBUFC、SCOND、DPTR7、要使MCS-51能响应外部中断1和定时器T0中断,则中断允许寄存器IE的内容应该是()A、98HB、86HC、22HD、A2H8、要将P1⼝⾼4位清0,低4位不变,应使⽤指令()A、ORL P1,#0FHB、ORL P1,#F0HC、ANL P1,#F0HD、ANL P1,#0FH9、当选中第1⼯作寄存器区时,⼯作寄存器R1的地址是。

单片机课后习题参考答案(全).

单片机课后习题参考答案(全).

单片机课后习题参考答案(全).单片机课后习题参考答案1. 什么是单片机?单片机是一种集成电路芯片,其中包含了处理器、存储器以及各种输入输出接口。

它能够完成各种控制任务,并且在各种嵌入式系统中广泛应用。

2. 单片机的特点有哪些?- 小巧、体积小:单片机可以集成多个功能在一个芯片内部,所以体积相对较小。

- 低功耗:单片机工作时功耗较低,适合用于一些需要长时间运行的电子产品。

- 低成本:相对于使用多个离散电子元件实现同样功能的电路,单片机的成本较低。

- 高可靠性:单片机内部通过硬件逻辑实现各种功能,不易受外界干扰,提高了系统的可靠性。

- 程序可编程:单片机可以通过编程改变其功能,具有较强的灵活性。

3. 单片机的工作原理是什么?单片机内部通过运算器、控制器、存储器等硬件组成,运算器负责执行各种算术、逻辑操作,控制器负责协调和控制各种操作,存储器用于存储程序和数据。

当单片机上电后,控制器开始执行存储器中的程序,按照指令的执行顺序执行各个操作。

单片机的输入输出接口与外部设备进行数据交换,实现与外部环境的交互。

4. 单片机的应用领域有哪些?单片机被广泛应用于各种嵌入式系统中,包括电子产品、电子仪器、通讯设备、汽车电子、医疗设备等。

它能够实现各种控制任务,如温度控制、风扇控制、光控制、家电控制等。

5. 单片机的编程语言有哪些?常见的单片机编程语言包括汇编语言、C语言和基于C语言的高级语言。

汇编语言是一种底层的编程语言,直接面向单片机的硬件操作;C语言是一种高级语言,可以方便地进行开发和调试;基于C语言的高级语言如Basic、Pascal等是对C 语言进行了扩展和封装,更加简化了编程过程。

6. 单片机系统的开发流程是什么?单片机系统的开发流程一般包括以下几个步骤:- 硬件设计:确定系统所需的输入输出接口及硬件电路,并进行电路设计和原理图绘制。

- 软件设计:编写程序代码,实现系统的各种功能。

- 系统调试:将软件下载到单片机中,通过调试工具进行调试和测试,确保系统能够正常运行。

(完整版)单片机考试试题带答案

(完整版)单片机考试试题带答案

单片机原理及应用试卷A一、填空题(每空1分,共20分)1、单片微型计算机由CPU、存储器和I/O 三部分组成。

2、MCS-51系统中,当PSEN信号有效时,表示从P0口稳定地送出了低8位地址。

3、访问8031片外数据存储器采用的是寄存器间接寻址方式。

4、累加器(A)=80H,执行完指令ADD A,#83H后,进位位CY= 1 。

5、指令LCALL 37B0H,首地址在2000H,所完成的操作是2003H入栈,37B0H送入PC。

6、51有5个中断源,有2个中断优先级,优先级由软件填写特殊功能寄存器IP 加以选择。

7、在变址寻址方式中,以A作为变址寄存器,以PC或DPTR作基址寄存器。

8、中断请求信号有电平触发和脉冲触发两种触发方式9、用串行口扩展并行口时,串行接口的工作方式应选为方式0。

10、74LS273通常用来作简单输出接口扩展;而74LS244则常用来作简单输入接口扩展。

11、51的并行I/O口信息有读引脚和读锁存器两种读取方法,读—改—写操作是针对并行I/O口内的锁存器进行的。

12、A/D转换器的三个重要指标是转换速度、分辨率和转换精度。

二、选择题(从备选答案中选择一个正确答案,并将代号写在括号内。

每题1.分,共10分)1、计算机能识别的语言是( C )。

(A)汇编语言(B)自然语言(C)机器语言(C)高级语言2、MCS-51单片机外扩存储器芯片时,4个I/O口中用作数据总线的是( B )。

(A)P0和P2口(B)P0口(C)P2和P3口(D)P2口3、在中断服务程序中,至少应有一条( D )。

(A )传送指令 (B )转移指令 (C )加法指令 (D )中断返回指令 4、访问外部数据存储器时,不起作用的信号是( C )。

(A )RD (B )WR (C )PSEN (D )ALE 5、以下指令中,属于单纯读引脚的指令是( C )。

(A )MOV P1,A (B )ORL P1,#0FH (C )MOVC C ,P1.5 (D )DJNZ P1,LAB 6、使用定时器T1时,有几种工作模式( C )。

《单片机》编程题题库答案

《单片机》编程题题库答案

《单片机原理及应用》编程题题库参考答案六1、内部RAM 30H和31H单元中存放着2个0-9的ASCII码(高位字节在前),请将其转换为压缩BCD码(高位在前)并存入外部RAM 2300H单元中。

解: ORG 0HLJMP STARTORG 30H第1页共354页START: MOV A,30HANL A,#0FHSWAP AMOV R0,A MOV A,31HANL A,#0FH ORL A,R0MOV DPTR,#2300HMOVX @DPTR,A第2页共354页END评分办法:不要求写出程序的注释。

程序设计思路正确可得5分,指令完全写对可得10分。

若仅写对少量指令,可酌情给1-3分;若仅有少量指令写错,可酌情扣1-3分。

2、将存放在内部RAM第3页共354页30H-35H单元的压缩型BCD码转换成相应的ASCII码,依次存放到外部RAM 2100H开始的单元区中。

ORG 0HLJMP STARTORG 30HSTART:MOV R0,#30H第4页共354页MOV R2,#06H MOV DPTR,#2100HLOOP:MOV A,@R0SWAP AANL A,#0FH ORL A,#30H MOVX @DPTR,A INC DPTRMOV A,@R0第5页共354页ANL A,#0FH ORL A,#30H MOVX @DPTR,A INC DPTRINC R0DJNZ R2,LOOP SJMP $END评分办法:不要求写出程序的注释。

程序设计思路正确可得第6页共354页5分,指令完全写对可得10分。

若仅写对少量指令,可酌情给1-3分;若仅有少量指令写错,可酌情扣1-3分。

3、内部RAM 20H和30H开始的单元分别存放着16个16进制数,请将对应单元的内容相加(不考虑溢出),并将和存入外第7页共354页部RAM 2000H开始的单元中。

解:ORG 0LJMP START ORG 30HSTART: MOV R0,#20H MOVR1,#30HMOV DPTR,#2000H第8页共354页MOVR2,#08H ;每个单元存放2个16进制数,故16个16进制数占用8个单元LOOP: MOV A,@R0 ADD A,@R1 MOVX@DPTR,AINC R0第9页共354页INC R1 INC DPTRDJNZR2,LOOPSJMP $ END评分办法:不要求写出程序的注释。

《单片机》选择题题库答案

《单片机》选择题题库答案

《单片机原理及应用》选择题题库答案一、单项选择题(每题1分)1、ALU的中文含义是 B 。

(A)加法器(B)算术逻辑单元(C)逻辑单元(D)数学单元2、EEPROM的中文含义是 D 。

(A)只读存储器(B)存储器(C)可擦除存储器(D)电可擦除可编程存储器3、DRAM的中文含义是 B 。

(A)随机存储器(B)动态随机存储器(C)只读除存储器(D)可读写存储器4、下列芯片中属于单片机的芯片是 A 。

(A)8048 (B)8255 (C)80486 (D)80885、8051单片机的字长是 A 位。

(A)8 (B)4 (C)16 (D)326、8052单片机内部有 C 个16位定时/计数器。

(A)1 (B)2 (C)3 (D)47、当8051单片机系统的振荡晶体频率为12MHz时,其一个机器周期的时间是 A 。

(A)1μS (B)2μS (C)3μS (D)4μS8、MCS-51单片机复位后程序计数器PC= D 。

(A)0FFFFH (B)2000H (C)0100H (D)0000H9、8051单片机的P0口可以驱动 B 个LSTTL负载。

(A)4 (B)8 (C)16 (D)3210、对于MCS-51单片机来说,一个机器周期是由 D 个状态周期构成。

(A)1 (B)2 (C)4 (D)611、8051单片机的定时器T0有 C 种工作方式。

(A)1 (B)2 (C)4 (D)812、当8051单片机的RST引脚上出现持续 A 个振荡周期以上的高电平时,系统复位。

(A)24 (B)48 (C)12 (D)6413、8051单片机的RST引脚内部接有 A 。

(A)施密特触发器(B)单稳触发器(C)D触发器(D)分频器14、MCS-51系列单片机内部的计数器是 A 计数器。

(A)加法(B)减法(C)加减法(D)可逆15、对于MCS-51系列单片机来说,直接寻址可寻址的空间是 C 。

(A)内部RAM和外部RAM (B)程序存储器和外部RAM(C)内部RAM中0-7FH的空间和特殊功能寄存器(D)外部RAM16、累加器A的内容是45H,执行SW AP A 指令后累加器的内容变为 C 。

单片机练习题库(含参考答案)

单片机练习题库(含参考答案)

单片机练习题库(含参考答案)一、单选题(共107题,每题1分,共107分)1.ALU的中文含义是()。

A、静态随机存储器B、加法器C、算术单元D、算术逻辑单元正确答案:D2.当T1向51系列单片机的CPU发出中断请求时,若CPU允许并接受中断时,程序计数器PC的内容将被自动修改为()。

A、0003B、000BC、0013D、001BH正确答案:D3.对于MCS-51系列单片机来说,变址间接寻址可寻址的空间是()。

A、程序存储器B、内部RAMC、外部RAMD、特殊功能寄存器正确答案:A4.MCS—51系列单片机扩展存储器芯片时,4个I/O口中做为地址总线的是()。

A、P0口和P2口B、仅P0口C、P2口和P3口D、仅P2口正确答案:A5.8051单片机有()个中断源。

A、3B、4C、6D、5正确答案:D6.当8051单片机系统的振荡晶体频率为6MHz时,其一个机器周期的时间是()。

A、0.5μSB、2μSC、1μSD、4μS正确答案:B7.对于MCS-51系列单片机来说,基址加变址寻址可寻址的空间是()。

A、内部RAM中0-7FH的空间和SFRB、内部RAM和外部RAMC、程序存储器D、外部RAM正确答案:C8.下列单片机中具有4KEPROM的是()。

A、89C51B、8031C、8052D、8751正确答案:D9.AT89C2051是()位的单片机。

A、4B、8C、准16D、16正确答案:B10.MCS-51系列单片机内部计数器可实现的最大计数值是()。

A、128B、256D、65536正确答案:D11.下列单片机中没有片内程序存储器的是()。

A、8052B、8051C、8751D、8031正确答案:D12.AT89C52单片机有()个中断源。

A、3B、4C、5D、6正确答案:D13.当AT89C52单片机系统的振荡晶体频率为24MHz时,其一个机器周期的时间是()。

A、0.5μSB、1μSC、2μSD、4μS正确答案:A14.MCS-51单片机的串行口有()种工作方式。

单片机试题与答案

单片机试题与答案

单片机试题与答案一、单选题(共107题,每题1分,共107分)1.MCS-51单片机复位后程序计数器PC= ( ) 。

A、0FFFFB、2000C、0030D、0000H正确答案:D2.对于MCS-51系列单片机来说,立即寻址可寻址的空间是 ( ) 。

A、内部RAM中0-7FH的空间和SFRB、内部RAM和外部RAMC、程序存储器D、外部RAM正确答案:C3.8051单片机的P2口可以驱动 ( )个LSTTL负载。

A、8B、4C、32D、16正确答案:B4.累加器A的内容是85H,执行RR A 指令后累加器的内容变为( )。

A、0C6B、0C2C、42D、41H正确答案:B5.对于MCS-51系列单片机来说,相对寻址可寻址的最大范围是( )。

A、-129~+128B、-128~+127C、-127~+129D、-126~+127正确答案:B6.AT89C51单片机其串口工作方式中波特率可由用户根据晶振频率随意设定的是 ( )。

A、方式0和2B、方式0和1C、方式1和3D、方式1和2正确答案:C7.MCS-51系列单片机的堆栈位于( ) 中。

A、外部RAMB、程序存储器C、内部RAMD、寄存器正确答案:C8.对于MCS-51单片机来说,若其振荡器已经工作,则在其RST引脚加至少持续 ( )个机器周期的高电平就可以实现单片机的复位。

A、1B、2C、4D、6正确答案:B9.MCS-51系列单片机的P2口除作为输入/输出接口使用外,还可以作为 ( )使用。

A、数据总线B、高8位地址总线C、低8位地址总线D、控制总线正确答案:B10.8031单片机内部有 ( )个16位定时/计数器。

A、4B、3C、2D、5正确答案:C11.8031单片机的累加器是 ( ) 位的。

A、1B、16C、8D、4正确答案:C12.下列指令中有错误的是 ( ) 。

A、MOVB、MOVXC、(C)MOVD、JE、TF1,LOOP正确答案:A13.MCS-51系列单片机的P2口可以驱动 ( )个LSTTL负载。

(完整版)单片机试题库(有答案)

(完整版)单片机试题库(有答案)

2012《单片机与接口技术》习题库及答案一、判断题(判断每小题的对错,对的在小题前的括号中打“/”,错的在小题前的括号中打“X” 0)MCS-51单片机原理与结构(X) 1. MCS-51单片机是高档16位单片机。

(V) 2. MCS-51的产品8051与8031的区别是:8031片内无ROM (X) 3.单片机的CPU从功能上可分为运算器和存储器。

(V) 4. 8051的累加器ACC是一个8位的寄存器,简称为A,用来存一个操作数或中间结果。

(V) 5. 8051的程序状态字寄存器PSW是一个8位的专用寄存器,用于存放程序运行中的各种状态信息。

(X) 6. MCS-51的程序存储器用于存放运算中间结果。

(V)7. MCS-51 的数据存储器在物理上和逻辑上都分为两个地址空间:一个是片内的256字节的RAM,另一个是片外最大可扩充64K 字节的RAM 。

(V)8.单片机的复位有上电自动复位和按钮手动复位两种,当单片机运行出错或进入死循环时,可按复位键重新启动。

(V) 9. CPU的时钟周期为振荡器频率的倒数。

(X) 10.单片机的一个机器周期是指完成某一个规定操作所需的时间,一般情况下,一个机器周期等于一个时钟周期。

(V) 11.单片机的指令周期是执行一条指令所需要的时间。

一般由若干个机器周期组成。

(X) 12.单片机系统扩展时使用的锁存器,是用于锁存高8位地址。

(X) 13. MCS-51单片机上电复位后,片内数据存储器的内容均为00H。

(V) 14.当8051单片机的晶振频率为12MHZ时,ALE地址锁存信号端的输出频率为2MHZ勺脉冲。

(V) 15. 8051单片机片内RAM从00H〜1FH的32个单元,不仅可以作工作寄存器使用,而且可作为通用RAM来读写。

(X) 16. MCS-51单片机的片内存储器称为程序存储器。

(X) 17. MCS-51单片机的数据存储器是指外部存储器。

(V) 18. MCS-51 单片机的特殊功能寄存器集中布置在片内数据存储器的一个区域中。

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

四、阅读下列程序,注释并填写指令执行后的结果(每题10分)1、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART:MOV R0,#20H ;#20H->R0 (R0)=20HMOV R1,#30H ; #30H->R1 (R1)=30HMOV A,R0 ;(R0)->A (A)=20HADD A,#36H ;(A)+#36H->A (A)=56HMOV P1,A ;(A)->P1 (P1)=56HINC R0 ;(R0)+1->R0 (R0)=21HINC R1 ;(R1)+1->R0 (R1)=31HANL A,R1 ;(A)&(R1)->A (A)=10HSWAP A ;累加器A的高低4位交换 (A)=01HPUSH ACC ;累加器A内容压栈MOV P1,A ;(A)->P1 (P1)=01HPOP B ;堆栈内容出栈到B寄存器 (B)=01HMOV R0,A ;(A)->R0 (R0)=01HMOV DPTR,#2200H ;#2200H->DPTR (DPTR)=2200HSETB C ;1->Cy (Cy)=1ADDC A,#0 ;(A)+0+(Cy)->A (A)=02HMOVX @DPTR,A ;(A)->(DPTR) (2200H)=02HEND(R0)= 01H (R1)= 31H (P1)= 01H(B)= 01H (2200H)= 02H2、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART:MOV SP,#50H ;#50H->SP (SP)=50HMOV R2,#10H ;#10H->R2 (R2)=10HMOV DPTR,#3000H ;#3000H->DPTR (DPTR)=3000HCRL A ;0->A (A)=0LOOP: MOVX @DPTR,A ;(A)->(DPTR)INC DPTR ;(DPTR)+1->DPTRDJNZ R2,LOOP ;(R2)-1->R2 若(R2)不等于零则转移到LOOP处INC DPH ;(DPH)+1->DPH (DPH)=31H (R2)=00H (DPL)=10H INC DPH ;(DPH)+1->DPH (DPH)=32HMOV 20H,#36H ;#36H->(20H) (20H)=36HSETB 00H ;位地址00H置1 20H.0=1 (20H)=37HMOV A,20H ;(20H)->A (A)=37HMOVX @DPTR,A ;(A)->(DPTR) (DPTR)=3210H (3210H)=37HINC A ;(A)+1->A (A)=38HINC A ;(A)+1->A (A)=39HPUSH ACC ;累加器A内容压栈 (SP)=51HXCH A,R2 ;累加器A的内容与R2内容互换 (A)=00H (R2)=39H POP DPH ;堆栈内容弹到DPH (DPH)=39HADD A,#55H ;(A)+#55H->A (A)=55HPUSH ACC ;累加器A内容压栈END(A)= 55H (R2)= 39H (20H)= 37H (DPTR)= 3910H (SP)= 51H3、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART:MOV R0,#30H ;#30H->R0 (R0)=30HMOV A,#12H ;#12H->A (A)=12HSETB C ;(Cy)=1ADDC A,R0 ;(A)+(R0)+Cy->A (A)=43HMOV @R0,A ;(A)->(R0) (30H)=43HSWAP A ;累加器A高低4位交换 (A)=34HINC A ;(A)+1->A (A)=35HMOV DPTR,#2000H ;#2000H->DPTR (DPTR)=2000HINC DPH ;(DPH)+1->DPH (DPH)=21HMOV P1,A ;(A)->P1 (P1)=35HINC A ;(A)+1->A (A)=36HMOVX @DPTR,A ;(A)->(DPTR) (2100H)=36HXCH A,R0 ; (A) R0 (A)=30H (R0)=36HRL A ;累加器A内容循环左移 (A)=60HPUSH ACC ;累加器A的内容入栈RL A ;累加器A内容循环左移 (A)=0C0HPOP ACC ;堆栈内容弹出到累加器A (A)=60HEND(A)= 60H (R0)= 36H (DPTR)= 2100H(P1)= 35H (30H)= 43H4、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV SP,#50H ;#50H->SP (SP)=50HMOV DPTR,#3000H ;#3000H->DPTR (DPTR)=3000HMOV R0,#20H ;#20H->R0 (R0)=20HMOV A,#23H ;#23H->A (A)=23HMOV R2,#0FH ;#0FH->R2 (R2)=0FHSETB 01H ;置位20H.1 (20H.1)=1SETB C ;置位Cy (Cy)=1ADDC A,@R0 ;(A)+((R0))+Cy->A (A)=26HINC R0 ;(R0)+1->R0 (R0)=21HMOV @R0,A ;(A)->((R0)) (21H)=26HLOOP: DJNZ R2, LOOP ;(R2)-1->R2 若R2内容不等于零则转移SWAP A ;累加器A内容的高低4位交换 (A)=62HPUSH ACC ;累加器A内容入栈INC DPH ;(DPH)+1->DPH (DPH)=31HMOVX @DPTR,A ;(A)->(DPTR) (3100H)=62HPOP B ;堆栈内容弹出到B (B)=62HRR A ;累加器A内容循环右移 (A)=31HADD A,B ;(A)+(B)->A (A)=93HMOV P1,A ;(A)->P1 (P1)=93HEND(21H)= 26H (R2)= 00H (A)= 93H (B)= 62H (3100H)= 62H5、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV DPTR,#1000H ;#1000H->DPTR (DPTR)=1000HMOV A,#13H ;#13H->A (A)=13HMOV R0,#20H ;#20H->R0 (R0)=20HSETB C ;1->Cy (Cy)=1MOV @R0,A ;(A)->((R0)) (20H)=13HRLC A ;累加器A的内容带进位循环左移 (A)=27HXCH A,@R0 ;累加器A的内容与20H单元的内容互换 (A)=13H (20H)=27H PUSH ACC ;累加器A的内容入栈POP DPL ;堆栈内容弹出到DPL (DPL)=13HMOVX @DPTR,A ;(A)->(DPTR) (1013H)=13HDEC A ;(A)-1->A (A)=12HPUSH DPH ;DPH内容压栈POP B ;堆栈内容弹出到B (B)=10HADD A,B ;(A)+(B)->A (A)=22HMOV P1,A ;(A)->P1 (P1)=22HCLR A ;累加器A内容清零ADD A,B ;(A)+(B)->A (A)=10HEND(P1)= 22H (B)= 10H (20H)= 27H (DPTR)= 1013H (R0)= 20H6、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART:MOV SP,#50H ;#50H->SP (SP)=50HMOV R0,#20H ;#20H->R0 (R0)=20HMOV R2,#10H ;#10H->R2 (R2)=10HMOV A,#24H ;#24H->A (A)=24HLOOP: MOV @R0,A ;(A)->((R0))INC R0 ;(R0)+1->R0DJNZ R2,LOOP ;(R2)-1->R2 若R2内容不等于0则跳转到LOOP处SETB 00H ;1->位地址为00H的位 (20H.0)=1 (20H)=25HSETB C ;1->Cy (Cy)=1ADDC A,#00H ;(A)+00H+(Cy)->A (A)=25HSWAP A ;累加器A内容高低四位互换 (A)=52HPUSH ACC ;累加器A内容压栈POP DPH ;堆栈内容弹出到DPH (DPH)=52HPUSH ACC ;累加器A内容压栈POP B ;堆栈内容弹出到B (B)=52HMOV A,R2 ;(R2)->A (A)=00HMOV DPL,A ;(A)->DPL (DPL)=00HMOV A,B ; (B)->A (A)=52HPUSH ACC ;累加器A内容压栈 (SP)=51HEND(A)= 52H (R2)= 00H (20H)= 25H (DPTR)= 5200H (SP)= 51H7、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV DPTR,#2100H ;#2100H->DPTR (DPTR)=2100HCLR A ;0->A (A)=00HMOV R1,#30H ;#30H->R1 (R1)=30HSETB C ;1->Cy (Cy)=1ADDC A,R1 ;(A)+(R1)+Cy->A (A)=31HMOV @R1,A ;(A)->((R1)) (30H)=31HPUSH ACC ;累加器A的内容压栈POP DPL ;堆栈内容弹出到DPL (DPL)=31HRR A ;累加器A的内容循环右移 (A)=98HMOV R0,A ;(A)->R0 (R0)=98HORL A,#24H ;(A) or 24H->A (A)=0BCHMOV P1,A ;(A)->P1 (P1)=0BCHSWAP A ;累加器A的内容高低四位交换 (A)=0CBHMOV DPH,A ;(A)->DPH (DPH)=0CBHMOV B,#02H ;#02H->B (B)=02HADD A,B ;(A)+(B)->A (A)=0CDHCLR ACC.3 ;0->ACC.3 (A)=0C5HSWAP A ;累加器A的内容高低四位交换 (A)=5CHEND(A)= 5CH (R0)= 98H (DPTR)= 0CB31H (P1)= 0BCH (30H)= 31H8、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV SP,#50H ;#50H->SP (SP)=50HMOV R3,#10H ;#10H->R3 (R3)=10HCLR A ;累加器A内容清零 (A)=00HMOV R0,#20H ;#20H->R0 (R0)=20HLOOP: MOV @R0,A ;(A)->((R0)) (20H)=00HINC R0 ;(R0)+1->R0 (20H)=01HDJNZ R3,LOOP ;(R3)-1->R3 若R3不等于零则跳转到LOOP处SETB 00H ;1->位地址00H位 (20H.0)=1 (20H)=01HSETB C ;1->Cy (Cy)=1SUBB A,#00H ;(A)-00H-Cy->A (A)=0FFHMOV DPL,A ;(A)->DPL (DPL)=0FFHPUSH ACC ;累加器A的内容压栈MOV A,R3 ;(R3)->A (A)=00HMOV DPH,A ;(A)->DPH (DPH)=00HPOP ACC ;堆栈内容弹出到A (A)=0FFHMOVX @DPTR,A ;(A)->(DPTR) (00FFH)=0FFHANL A,#55H ;(A) and 55H->A (A)=55HPUSH ACC ;累加器A的内容压栈 (SP)=51HCLR A ;累加器A内容清零 (A)=00HEND(A)= 00H (R3)= 00H (20H)= 01H (DPTR)= 00FFH (SP)= 51H9、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV R0,#30H ;#30H->R0 (R0)=30HMOV R1,#20H ; #20H->R1 (R1)=20HMOV A,R0 ;(R0)->A (A)=30HADD A,#37H ;(A)+#36H->A (A)=67HMOV P1,A ;(A)->P1 (P1)=67HINC R0 ;(R0)+1->R0 (R0)=31HINC R1 ;(R1)+1->R0 (R1)=21HANL A,R1 ;(A)&(R1)->A (A)=21HSWAP A ;累加器A的高低4位交换 (A)=12HPUSH ACC ;累加器A内容压栈MOV P1,A ;(A)->P1 (P1)=12HSWAP A ;累加器A的高低4位交换 (A)=21HPOP B ;堆栈内容出栈到B寄存器 (B)=12HMOV R0,A ;(A)->R0 (R0)=21HMOV DPTR,#2200H ;#2200H->DPTR (DPTR)=2200HSETB C ;1->Cy (Cy)=1ADDC A,B ;(A)+(B)+(Cy)->A (A)=34HMOVX @DPTR,A ;(A)->(DPTR) (2200H)=34HEND(R0)= 21H (R1)= 21H (P1)= 12H (B)= 12H (2200H)= 34H10、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV SP,#50H ;#50H->SP (SP)=50HMOV R2,#20H ;#20H->R2 (R2)=20HMOV DPTR,#3000H ;#3000H->DPTR (DPTR)=3000HCLR A ;0->A (A)=0LOOP: MOVX @DPTR,A ;(A)->(DPTR)INC DPTR ;(DPTR)+1->DPTRDJNZ R2,LOOP;(R2)-1->R2 若(R2)不等于零则转移到LOOP处INC DPH ;(DPH)+1->DPH (DPH)=31H (R2)=00H (DPL)=20HINC DPH ;(DPH)+1->DPH (DPH)=32HMOV 20H,#38H ;#36H->(20H) (20H)=38HSETB 01H ;位地址01H置1 20H.1=1 (20H)=3AHMOV A,20H ;(20H)->A (A)=3AHMOVX @DPTR,A ;(A)->(DPTR) (DPTR)=3220H (3220H)=3AHINC A ;(A)+1->A (A)=3BHINC A ;(A)+1->A (A)=3CHPUSH ACC ;累加器A内容压栈XCH A,R2 ;累加器A的内容与R2内容互换 (A)=00H (R2)=3CHPOP DPH ;堆栈内容弹到DPH (DPH)=3CHADD A,#55H ;(A)+#55H->A (A)=55HPUSH ACC ;累加器A内容压栈,(SP)=51HEND(A)= 55H (R2)= 3CH (20H)= 3AH (DPTR)= 3C20H (SP)= 51H11、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV R0,#20H ;#20H->R0 (R0)=20HMOV A,#31H ;#31H->A (A)=31HSETB C ;(Cy)=1ADDC A,R0 ;(A)+(R0)+Cy->A (A)=52HMOV @R0,A ;(A)->(R0) (20H)=52HSWAP A ;累加器A高低4位交换 (A)=25HDEC A ;(A)-1->A (A)=24HMOV DPTR,#2000H ;#2000H->DPTR (DPTR)=2000HINC DPH ;(DPH)+1->DPH (DPH)=21HDEC DPL ;(DPL)-1->DPL (DPL)=0FFHMOV P1,A ;(A)->P1 (P1)=24HINC A ;(A)+1->A (A)=25HMOVX @DPTR,A ;(A)->(DPTR) (21FFH)=25HXCH A,R0 ; (A) R0 (A)=20H (R0)=25HRL A ;累加器A内容循环左移 (A)=40HPUSH ACC ;累加器A的内容入栈RL A ;累加器A内容循环左移 (A)=80HPOP ACC ;堆栈内容弹出到累加器A (A)=40HEND(A)= 40H (R0)= 25H (DPTR)= 21FFH (P1)= 24H (20H)= 52H12、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV SP,#50H ;#50H->SP (SP)=50HMOV DPTR,#2000H ;#3000H->DPTR (DPTR)=2000HMOV 20H,#06H ;#06H->20H (20H)=06HMOV R0,#20H ;#20H->R0 (R0)=20HMOV A,#35H ;#35H->A (A)=35HMOV R2,#10H ;#10H->R2 (R2)=10HSETB 00H ;置位20H.0 (20H.0)=1 (20H)=07HSETB C ;置位Cy (Cy)=1ADDC A,@R0 ;(A)+((R0))+Cy->A (A)=3DHINC R0 ;(R0)+1->R0 (R0)=21HMOV @R0,A ;(A)->((R0)) (21H)=3DHLOOP: DJNZ R2, LOOP ;(R2)-1->R2 若R2内容不等于零则转移SWAP A ;累加器A内容的高低4位交换 (A)=0D3HPUSH ACC ;累加器A内容入栈INC DPH ;(DPH)+1->DPH (DPH)=21HMOVX @DPTR,A ;(A)->(DPTR) (2100H)=0D3HPOP B ;堆栈内容弹出到B (B)=0D3HRR A ;累加器A内容循环右移 (A)=0E9HADD A,B ;(A)+(B)->A (A)=0BCHMOV P1,A ;(A)->P1 (P1)=0BCHEND(21H)= 3DH (R2)= 00H (A)= 0BCH (B)= 0D3H (2100H)= 0D3H13、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV DPTR,#2000H ;#2000H->DPTR (DPTR)=2000HMOV A,#36H ;#36H->A (A)=36HMOV R0,#30H ;#30H->R0 (R0)=30HSETB C ;1->Cy (Cy)=1MOV @R0,A ;(A)->((R0)) (30H)=36HRLC A ;累加器A的内容带进位循环左移 (A)=6DHXCH A,@R0 ;累加器A的内容与20H单元的内容互换 (A)=36H (30H)=6DH PUSH ACC ;累加器A的内容入栈POP DPL ;堆栈内容弹出到DPL (DPL)=36HMOVX @DPTR,A ;(A)->(DPTR) (2036H)=36HDEC A ;(A)-1->A (A)=35HPUSH DPH ;DPH内容压栈POP B ;堆栈内容弹出到B (B)=20HADD A,B ;(A)+(B)->A (A)=55HMOV P1,A ;(A)->P1 (P1)=55HCLR A ;累加器A内容清零ADD A,B ;(A)+(B)->A (A)=20HEND(P1)= 55H (B)= 20H (30H)= 6DH (DPTR)= 2036H (R0)= 30H14、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV SP,#60H ;#60H->SP (SP)=60HMOV R0,#20H ;#20H->R0 (R0)=20HMOV R2,#10H ;#10H->R2 (R2)=10HMOV A,#24H ;#24H->A (A)=24HLOOP: MOV @R0,A ;(A)->((R0))INC R0 ;(R0)+1->R0DJNZ R2,LOOP ;(R2)-1->R2 若R2内容不等于0则跳转到LOOP处SETB 01H ;1->位地址为01H的位 (20H.1)=1 (20H)=26HSETB C ;1->Cy (Cy)=1ADDC A,20H ;(A)+(20H)+(Cy)->A (A)=4BHSWAP A ;累加器A内容高低四位互换 (A)=0B4HPUSH ACC ;累加器A内容压栈POP DPH ;堆栈内容弹出到DPH (DPH)=0B4HPUSH ACC ;累加器A内容压栈POP B ;堆栈内容弹出到B (B)=0B4HMOV A,R2 ;(R2)->A (A)=00HMOV DPL,A ;(A)->DPL (DPL)=00HADD A,B ;(A)+(B)->A (A)=0B4HPUSH ACC ;累加器A内容压栈 (SP)=61HEND(A)= 0B4H (R0)= 30H (20H)= 26H (DPTR)= 0B400H (SP)= 61H15、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV DPTR,#1100H ;#1100H->DPTR (DPTR)=1100HCLR A ;0->A (A)=00HMOV R1,#20H ;#20H->R1 (R1)=20HSETB C ;1->Cy (Cy)=1ADDC A,R1 ;(A)+(R1)+Cy->A (A)=21HMOV @R1,A ;(A)->((R1)) (20H)=21HINC A ;(A)+1->A (A)=22HINC A ;(A)+1->A (A)=23HPUSH ACC ;累加器A的内容压栈POP DPL ;堆栈内容弹出到DPL (DPL)=23HRR A ;累加器A的内容循环右移 (A)=91HMOV R0,A ;(A)->R0 (R0)=91HORL A,#24H ;(A) or #24H->A (A)=0B5HMOV P1,A ;(A)->P1 (P1)=0B5HSWAP A ;累加器A的内容高低四位交换 (A)=5BHMOV DPH,A ;(A)->DPH (DPH)=5BHMOV B,#02H ;#02H->B (B)=02HADD A,B ;(A)+(B)->A (A)=5DHCLR ACC.4 ;0->ACC.4 (A)=4DHSWAP A ;累加器A的内容高低四位交换 (A)=0D4HEND(A)= D4H (R0)= 91H (DPTR)= 5B23H (P1)= 0B5H (20H)= 21H16、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV SP,#60H ;#60H->SP (SP)=60HMOV R3,#20H ;#20H->R3 (R3)=20HMOV A,#20H ;#20H->A (A)=20HMOV R0,#20H ;#20H->R0 (R0)=20HLOOP: MOV @R0,A ;(A)->((R0))INC R0 ;(R0)+1->R0DJNZ R3,LOOP ;(R3)-1->R3 若R3不等于零则跳转到LOOP处SETB 02H ;1->位地址02H位 (20H.2)=1 (20H)=24HSETB C ;1->Cy (Cy)=1SUBB A,20H ;(A)-(20H)-Cy->A (A)=0FBHMOV DPL,A ;(A)->DPL (DPL)=0FBHPUSH ACC ;累加器A的内容压栈MOV A,R3 ;(R3)->A (A)=00HMOV DPH,A ;(A)->DPH (DPH)=00HPOP ACC ;堆栈内容弹出到A (A)=0FBHMOVX @DPTR,A ;(A)->(DPTR) (00FBH)=0FBHANL A,#55H ;(A) and 55H->A (A)=51HPUSH ACC ;累加器A的内容压栈 (SP)=61HSWAP A ;累加器A内容高低4位交换 (A)=15HEND(A)= 15H (R3)= 00H (20H)= 24H (DPTR)= 00FBH (SP)= 61H17、O RG 0MOV R2,#8 ;#8->R2 (R2)=8HMOV R0,#30H ;#30H->R0 (R0)=30HCLR A ; #0->A (A)=0CPL A ; 累加器A的内容取反,(A)=0FFHLOOP: MOV @R0,A ; (A)-> (R0) (30H)~(37H)=0FFHINC R0 ; (R0)+1->R0DJNZ R2,LOOP ; (R2)-1 -> R2 , (R2)≠0则转移到LOOP处MOV B,R2 ; (R2) ->B (B)=(R2)=0INC B ; (B)+1 ->B (B)=1M OV A,R0 ; (R0) ->A (A)=(R0)=38HC LR C ; 0 -> Cy Cy=0ADDC A,B ; (A)+(B)+Cy -> A (A)=39HMOV R0,A ; (A) ->R0 (R0)=(A)=39HR LC A ; 累加器A的内容带进位左移,(A)=72HMOV DPTR,#1234H ; #1234H ->DPTR (DPTR)=1234HM OVX @DPTR,A ; (A) ->(DPTR) (1234H)=72HSWAP A ;累加器A的内容高低4位交换,(A)=27HPUSH ACC ; 累加器内容入栈POP DPH ; 堆栈内容弹出到DPH (DPH)=27HE ND(R0)= 39H (A)= 27H(33H)= 0FFH (DPTR)= 2734H (1234H)= 72H评分办法:指令注释占5分,对于程序段注释部分写对的学生可酌情给1-4分;程序段执行结果每空1分,共5分。

相关文档
最新文档