单片机程序分析题练习

合集下载

单片机c语言实例程序300篇

单片机c语言实例程序300篇

单片机c语言实例程序300篇单片机C语言【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

2.程序源代码:main(){inti,j,k;printf("\n");for(i=1;i<5;i++)/某以下为三重循环某/for(j=1;j<5;j++)for(k=1;k<5;k++){if(i!=k&&i!=j&&j!=k)/某确保i、j、k三位互不相同某/printf("%d,%d,%d\n",i,j,k);}}==============================================================【程序2】题目:企业发放的奖金根据利润提成。

利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

2.程序源代码:main()单片机C语言{longinti;intbonu1,bonu2,bonu4,bonu6,bonu10,bonu;canf("%ld",&i);bonu1=100000某0.1;bonu2=bonu1+100000某0.75;bonu4=bonu2+200000某0.5;bonu6=bonu4+200000某0.3;bonu10=bonu6+400000某0.15;if(i<=100000)bonu=i某0.1;eleif(i<=200000)bonu=bonu1+(i-100000)某0.075;eleif(i<=400000)bonu=bonu2+(i-200000)某0.05;eleif(i<=600000)bonu=bonu4+(i-400000)某0.03;eleif(i<=1000000)bonu=bonu6+(i-600000)某0.015;elebonu=bonu10+(i-1000000)某0.01;printf("bonu=%d",bonu);}============================================================ ==【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。

单片机大题

单片机大题

单片机模拟试卷001五、作图题(10分)用6264(8K*8)构成16K的数据存储系统。

要求采用线选法产生片选信号,并计算6264的地址范围。

答:WR接6264的WERD接6264的OEAB0---AB12接6264的A0---A12DB0—DB7接6264的D0—D7AB15、AB14分别接Y0和Y1地址:0000H---1FFFH;2000H---3FFFH六、设计题1.某单片机控制系统有8个发光二极管。

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

答:图(5分) 构思(3分)MOV A,#80H (1分)UP:MOV P1,A (1分)RR A (2分)SJMP UP (1分)2.某控制系统有2个开关K1和K2,1个数码管,当K1按下时数码管加1,K2按下时数码管减1。

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

答:图(5分) 构思(3分)程序(4分)ORG 0000HLJMP MAINORG 0003HLJMP AINT0ORG 0013HLJMP BINT1MAIN: MOV IE,#83HSETB IT0SETB IT1MOV R0,#00HMOV DPTR,#TABUP: MOV A,R0MOVC A,@A+DPTRMOV P1,ASJMP UPAINT0: INC R0CJNE R0,#10,AINT01MOV R0,#0AINT01: RETIBINT1: DEC R0CJNE R0,#0FFH,BINT11MOV R0,#9BINT11: RETI单片机模拟试卷002五、编程题(每小题4分,共20分)1.已知在累加器A中存放一个BCD数(0~9),请编程实现一个查平方表的子程序。

SQR:1NC AMOVC A,@A+PCRETTAB:DB 0,1,4,9,16DB 25,36,49,64,812.请使用位操作指令实现下列逻辑操作:BIT=(10H∨P1.0)∧(11H∨C Y)ORL C,11HMOV 12H,CMOV C,P1.0ORL C,/10HANL C,12HMOV BIT,CRET3.已知变量X存于V AR单元,函数值Y存于FUNC单元,按下式编程求Y值。

单片机 11道编程例题及答案

单片机  11道编程例题及答案

1.把长度为10H的字符串从内部RAM的输入缓冲区inbuf向位物外部RAM的输出缓冲区outbuf传送,一直进行到遇见回车或整个字符串传送完毕。

试编程实现。

ORG 0030H MOV R0,#inbuf MOV R1,#outbuf MOV R4,#10HLOOP:MOV A,@R0 ; 从内部RAM取数 CJNE A,#0DH,LL ;是否为回车符CRSJMP STOP ;是转停止传送 LL: MOVX @R1,A ;不是则传送到外部RAMINC R0 INC R1 DJNZ R4,LL;沒传送完则循环 STOP: SJMP $2、内部RAM从list单元开始存放一正数表,表中之数作无序排列,并以“-1”作结束标志。

编程实现在表中找出最小数。

(3AH存放在运行程序时的最小的数)ORG 0030HMOV R0,#listMOV A,@R0 ;取第一个正数LOOP: INC R0 ;指向下一个正数MOV 3AH,@R0CJNE A,3AH,CHK ;前一个数与后一个数比较CHK: JC LOOP1 ;前一个数小,则转MOV A,@R0 ;前一个数大,取后一个数LOOP1: XCH A,3AHCJNE A,#0FFH,LOOPXCH A,3AH ;取最小数MOV 3BH,A SJMP $3.内部RAM的X,Y 单元中各存放一个带符号的数,试编程实现按如下条件进行的运算,并将结果存入Z单元中。

若X为正奇数,Z =X+Y;若X为正偶数,Z =X∨Y;若X为负奇数,Z =X∧Y;若X为负偶数,Z =X⊕Y。

分析:负数:第7位为1,正数:第7位为0 奇数:第0位为1,偶数:第0位为0 ORG 0000H MOV A,20H CLR C RL A JC FS ;移到负数处处理RR A RR A ;第0位移到C 再判定一下是不是1 JC ZJS ;到正奇数处MOV A,20H ORL A,21H MOV 22H,A SJMP OKZJS: MOV A,20H ADD A,21H MOV 22H,A SJMP OKFS: MOV A,20H CLR C RR A JC FJS ;第0位是1,移到正奇数处理MOV A,20H XRL A,21H MOV 22H,A SJMP OKFJS: MOV A,20H ANL A,21H MOV 22H,A OK: END4、把一个8位二进制数的各位用ASCII码表示之(亦即为“0”的位用30H表示,为“1”的位用31H表示)。

周国运版51单片机课后习题答案解析

周国运版51单片机课后习题答案解析

第1章习题答案1.什么是单片机?答:将中央处理器(Central Processing Unit,CPU)、随机存储器、只读存储器、中断系统、定时器/计数器以及I/O接口电路等微型计算机的主要部件集成在一块芯片上,使其具有计算机的基本功能,就叫做单片微型计算机(Single Chip Micro Computer,SCMC),简称单片机。

由于单片机的指令功能是按照工业控制的要求设计,所以单片机又称为微控制器(Micro Controller Unit,MCU)。

2.单片机有哪些特点?答: (1)单片机的存储器ROM和RAM是严格区分的。

ROM称为程序存储器,只存放程序、固定常数及数据表格。

RAM则为数据存储器,用作工作区及存放用户数据。

(2)采用面向控制的指令系统。

(3)单片机的I/O引脚通常是多功能的。

(4)单片机的外部扩展能力强。

(5)单片机体积小,成本低,运用灵活,易于产品化。

(6)面向控制,能有针对性地解决从简单到复杂的各类控制任务,因而能获得最佳的性能价格比。

(7)抗干扰能力强,适用温度范围宽。

(8)可以方便地实现多机和分布式控制,使整个控制系统的效率和可靠性大为提高。

3.单片机的应用有哪些?答: (1)工业控制。

单片机可以构成各种工业控制系统、数据采集系统等。

如数控机床、自动生产线控制、电机控制、测控系统等。

(2)仪器仪表。

如智能仪表、医疗器械、数字示波器等。

(3)计算机外部设备与智能接口。

如图形终端机、传真机、复印机、打印机、绘图仪、磁盘/磁带机、智能终端机等。

(4)商用产品。

如自动售货机、电子收款机、电子秤等。

(5)家用电器。

如微波炉、电视机、空调、洗衣机、录像机、音响设备等。

(6)消费类电子产品。

(7)通讯设备和网络设备。

(8)儿童智能玩具。

(9)汽车、建筑机械、飞机等大型机械设备。

(10)智能楼宇设备。

(11)交通控制设备。

4.常见的单片机有哪些类型?答: 1.AVR单片机;2.Motorola单片机;3.MicroChip单片机;4.Scenix单片机;5.EPSON单片机;7.GMS90单片机;8.华邦单片机9.Zilog单片机;10.NS单片机;11.AX1001单片机第2章习题答案1.MCS-51单片机内部包含哪些主要逻辑功能部件?答:(1)1个8位的微处理器CPU。

《单片机原理及应用》习题库及答案

《单片机原理及应用》习题库及答案

《单片机原理及应用》习题库单位:广东松山职业技术学院电气工程系自动化教研室编者:田亚娟等审核:《单片机原理及应用》精品课程项目组适用专业:电气自动化技术等专业一、填空题1.单片机与普通计算机的不同之处在于其将_CPU__、存储器和__I/O_3部分集成于一块芯片之上。

2.CPU主要由运算器和控制器组成。

CPU中的布尔处理器用来处理位操作。

3.MSC-51系列单片机中,片内无ROM的机型是8031 ,有4KB ROM的机型是_8051_,而有4KB EPROM 的机型是8751 。

4.-32的补码为11100000 B,补码11011010B代表的真值为_-38__D。

5.原码数BFH=_-63_D,原码数6EH=_110_D。

6.100的补码=_64_H,-100的补码= 9C H7.在8031单片机内部,其RAM高端128个字节的地址空间称为特殊功能寄存器或SFR 区,但其中仅有_21_个字节有实际意义。

8.通常单片机上电复位时PC=_0000_H,SP=_07_H,通用寄存器则采用第_0_组,这一组寄存器的地址范围是从_00 H~_07_H。

9.若PSW为18H,则选取的是第_3__组通用寄存器。

10.8031单片机复位后R4所对应的存储单元地址为_04_H,因上电时PSW=_00_H。

11.若A中数据为63H,那么PSW的最低位(即奇偶位P)为_0_。

12.在微机系统中,CPU是按照程序计数器PC 来确定程序的执行顺序的。

13.在8031单片机中,使用P2、P0口传送地址信号,且使用了P0口来传送数据信号,这里采用的是总线复用技术。

14.堆栈遵循先进后出(或后进先出)的数据存储原则,针对堆栈的两种操作为_PUSH_和_POP_。

15.当8051地RST端上保持两个机器周期以上低电平时,8051即发生复位。

16.使用8031单片机时需将EA引脚接_低__电平,因为其片内无程序存储器。

17.8位机中的补码数80H和7EH的真值分别为_-128__和_127 。

单片机习题(指令和编程及答案)Word版

单片机习题(指令和编程及答案)Word版

单片机习题(指令和编程及答案)Word版单片机练习二一.单项选择题1. ORG 0003HLJMP 2000HORG 000BHLJMP 3000H当CPU响应外部中断0后,PC的值是( B )。

A.0003HB. 2000HC. 000BHD. 3000H3. MCS-51的相对转移指令的最大负跳距离为( B )。

A.2KBB. 128BC.127BD. 256B4. 以下运算中对溢出标志0V没有影响或不受影响的运算是( A )。

A.逻辑运算B. 符号数加减运算C. 比较数据大小运算D. 除法运算5. 产生PSEN信号的指令是( C )。

A . MOVX A ,@DPTR B. MOVX @DPTR, AC. MOVC A , @A+PCD. MOVX A, @A+DPTR6. MOVX A , @DPTR指令中的源操作数的寻址方式是( B )。

A.寄存器寻址B.寄存器间接寻址C.直接寻址D.立即寻址7. 将MCS-51的工作寄存器置成3区的指令是( B )。

A. MOV PSW , #13HB.MOV PSW , #18HC. SETB PSW.4 ,CLR PSW.3D.SETB PSW.3 ,CLR PSW.48. 指令AJMP的跳转范围是( C )。

A .256B B.1KB C.2KB D.64KB9. 6264芯片是( B )。

A.E2PROMB.RAM C .Flash ROM D .EPROM10. 下面那条指令产生WR信号( D )。

A.MOVX A , @DPTRB.MOVC A , @A+DPTRC.MOVC A , @A+PCD.MOVX @DPTR , A11. 执行LCALL 4000H指令时,MCS-51所完成的操作是( D )。

A.保护PCB.保护现场C.4000H PCD.PC+3入栈,4000H PC12. 下列指令中可能改变Cy的有( C )。

A.INC AB.CPL AC. RLC AD.MOV A , #data13.假定设置堆栈指针SP的值为36H,在执行指令PUSH 20H后,SP的值为( B )。

单片机编程练习题(含部分答案)

单片机编程练习题(含部分答案)编程练习题1. 编一程序将片内存储单元20H~3FH单元的内容复制到40H~5FH单元。

MOV R0,#20H MOV R1,#40H MOV R7,#32LOOP: MOV A,@R0MOV @R1,A INC R0 INC R1DJNZ R7,LOOP SJMP $2. 编一程序将片内存储器40H单元的内容与41H单元的内容进行比较,若相等将50H置00H,若不等将50H置0FFH。

3. 在片内数据存储单元30H~4FH中存有32个同学的数学成绩,编一程序计算有多少同学成绩不及格(成绩低于60为不及格)。

若20H作为计数存储单元MOV R0,#30H MOV 20H,#0 MOV R0,#30H MOV R7,#32 MOV 20H,#0LOOP: MOV A,@R0 MOV R7,#32 SUBB A,#60 LOOP: CJNE @R0,#60,NE JNC GE NE: JNC GE INC 20H INC 20H GE: INC R0 GE: INC R0DJNZ R7,LOOP DJNZ R7,LOOPSJMP $ SJMP $4. 内部RAM中分别以地址20H和30H开始的连续16个单元,按顺序依次将两组中相应单元的内容相加(不考虑溢出),并将和存入外部RAM 2000H开始的单元中。

MOV R0,#20H MOV R1,#30H MOV DPTR,#2000H MOV R7,#16LOPP: MOV A,@R0ADD A,@R1 MOVX @DPTR,A INC R0 INC R1 INC DPTRDJNZ R7,LOOP SJMP $5. 设内部RAM 20H单元为数据块的起始地址,数据块长度为10H,数据为8位无符号数,试编程找出数据块中的最小值,并将其存入40H单元。

MOV R0,#20H MOV 40H,#255 MOV R7,#10HLOOP: MOV A,@R0SUBB A,40H JNC NJWMOV 40H,@R0NCW: INC R0DJNZ R7,LOOP SJMP $6. 比较两个ASCII码字符串是否相等。

单片机试卷及答案分析

A卷一、填空题(本题共20分,每空1分)1.8051单片机片片内有程序存储器_________字节, 片内有数据存储器________字节。

2.MCS-51单片机片内有个中断源,其中个外部中断源。

3.MCS-51单片机片内RAM中位寻址区是从地址到的一块存储区域。

4.MCS-51单片机片内DPTR寄存器是一个位寄存器。

5.DA指令的作用是 _____________。

6.MCS-51单片机片内有______个16位定时/计数器, 它们具有_________种工作方式。

7.ADC0809是__________通道8位______________________。

DAC0832是______位D/A转换器。

8.假定(SP)=60H,(ACC)=30H,(B)=70H,执行下列指令:PUSH ACCPUSH B后,SP的内容为 62H ____,61H单元的内容为 30H ___,62H单元的内容为 70H 。

9.MCS-51单片机工作寄存器组共分为 __组寄存器,每组有个单元。

10.为扩展存储器而构造系统总线,应以P0口的8位口线作为线,以P2口的口线作为。

二、单项选择题(本题共10分,每小题1分)1.下列运算对OV没有影响或不受OV影响的的运算是()。

(A)逻辑运算(B)加减运算(C)乘法运算(D)除法运算2.在寄存器间接寻址方式中,寄存器中存放的是()。

(A)操作数(B)操作数地址(C)转移地址(D)地址偏移量3.如在系统中只扩展一片2764,除应使用P0口的8条口线外,至少还应使用P2口的口线()(A)2条(B)3条(C)4条(D)5条4.寻址空间为外部程序存储器所用的指令是()。

(A)MOVX (B)MOV (C)MOVC (D)ADDC5.PC的值是()。

(A)当前指令前一条指令的首地址 (B)当前正在执行指令的首地址(C)下一条指令的首地址 (D)控制器中指令寄存器的地址 6.执行中断返回指令,从堆栈弹出地址送给()。

单片机习题答案

单片机习题答案第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.计算机中最常⽤的字符信息编码是()A ASCIIB BCD码C 余3码D 循环码2.要MCS-51系统中,若晶振频率屡8MHz,⼀个机器周期等于( ) µsA 1.5B 3C 1D 0.53. 以下不是构成的控制器部件():A 程序计数器、B指令寄存器、C指令译码器、D存储器4.以下不是构成单⽚机的部件()A 微处理器(CPU)、B存储器C接⼝适配器(I\O接⼝电路) D 打印机5.16位⼆进制所表⽰的⽆符号整数,其相应的⼗进制数范围是()A.0~65536B.1~65536C.1~65535D.0~655356.-49D的⼆进制补码为.( )A 11101111B 11101101C 0001000D 111011007.⼗进制29的⼆进制表⽰为原码()A 11100010B 10101111C 00011101D 000011118. ⼗进制0.625转换成⼆进制数是()A 0.101B 0.111C 0.110D 0.1009使⽤8255可以扩展出的I/O⼝线是()16根(B)24根(C)22根(D)32根10.PSW=18H时,则当前⼯作寄存器是()(A)0组(B)1组(C)2组(D)3组11.控制串⾏⼝⼯作⽅式的寄存器是()(A)TCON (B)PCON (C)SCON (D)TMOD12.MCS-51的中断允许触发器内容为83H,CPU将响应的中断请求是( )(A) T1, (B)T0,T1 (C)T1,串⾏接⼝(D) ,T013、MOVX A,@DPTR指令中源操作数的寻址⽅式是()(A)寄存器寻址(B)寄存器间接寻址(C)直接寻址(D)⽴即寻址14、ORG 0003HLJMP 2000HORG 000BHLJMP 3000H 当CPU响应外部中断0后,PC的值是()(A)0003H (B)2000H (C)000BH (D)3000H15、执⾏PUSH ACC指令,MCS-51完成的操作是()(A ) SP+1 SP (ACC)(SP)(B)(ACC)(SP)SP-1 SP (C)SP-1 SP (ACC)(SP) (D)(ACC)(SP)SP+1 SP16、CALL指令操作码地址是2000H,执⾏完相⼦程序返回指令后,PC=()(A)2000H (B)2001H (C)2002H (D)2003H17、6264芯⽚是()(A) EEPROM (B)RAM(C)FLASH ROM (D)EPROM18、下⾯条指令将MCS-51的⼯作寄存器置成3区()(A)MOV PSW,#13H (B)MOV PSW,#18H(C)SETB PSW.4 CLR PSW.3 (D) SETB PSW.3 CLR PSW.419、⽤MCS-51⽤串⾏扩展并⾏I/O⼝时,串⾏接⼝⼯作⽅式选择()(A) ⽅式0 (B)⽅式1 (C)⽅式2 (D)⽅式320、当8031外出扩程序存储器8KB时,需使⽤EPROM 2716()(A) 2⽚(B)3⽚(C)4⽚(D)5⽚21、ORG 0000HAJMP 0040HORG 0040HMOV SP,#00H当执⾏完左边的程序后,PC的值是()(A) 0040H (B)0041H (C)0042H (D)0043H22、对程序存储器的读操作,只能使⽤()(A) MOV指令(B)PUSH指令(C)MOVX指令(D)MOVC指令23某种存储器芯⽚是8KB*4/⽚,那么它的地址线根线是()(A) 11根(B)12根(C)13根(D)14根24要使MCS-51能够响应定时器T1中断、串⾏接⼝中断,它的中断允许寄存器IE的内容应是()(A)98H (B)84H (C)42 (D)22H25. MCS-51外扩ROM,RAM和I/O⼝时,它的数据总线是()(A) P0 (B)P1 (C)P2 (D)P326.⽤MCS-51串⾏接⼝扩展并⾏I\O⼝时,串⾏接⼝⼯作⽅式应选择( )(A)⽅式0 (B)⽅式1 (C)⽅式2 (D)⽅式327.MCS-51有中断源()(A)5个(B)2个(C)3个(D)6个28.使⽤定时器T1时,有⼏种⼯作模式()(A)1种(B)2种(C)3种(D)4种29、MCS-51的中断源全部编程为同级时,优先级最⾼的是()(A) INT1 (B)TI (C)串⾏接⼝(D)INT030.MCS—51系列单⽚机8031⽚内EPROM有()A.0KBB.4KBC.2KBD.8KB31.⼗进制数215转换成⼆进制数表⽰,是()A.11010111BB.10001101BC.11011111BD.11110101B32.8031单⽚机所⽤的电源是()A.±15VB.+15VC.+5VD.±5V33.8031单⽚机内有_________定时器/计数器。

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

1.程序如下:MOV SP,#13HMOV 33H,#7FHMOV 44H,#0ABHPUSH 33HPUSH 44HPOP 33HPOP 44H程序执行后,(33H)=0ABh ,(44H)=7Fh2.下列各条指令其源操作数的寻址方式是什么?各条指令单独执行后,A中的结果是什么?设(60H)=35H,(A)=19H,(R0)=30H,(30H)=0FH。

(1)MOV A,#48H ;寻址方式:(A)= 48H(2)ADD A,60H ;寻址方式:(A)= 4DH(3)ANL A,@R0 ;寻址方式:(A)= 10H3.阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能?MOV R1,#30H ;(R1)=30HMOV A,#64H ;(A)= 64HADD A,#47H ;(A)=ABH ,(CY)= 0 ,(AC)= 0DA A ;(A)=31H ,(CY)=1 ,(AC)=MOV @R1,A ;(R1)= 30H ,(30H)= 31H此程序段完成的功能4.设(A)=38H,R0=28H,(28H)=18H,执行下列程序后,(A)=0ORL A,#27HANL A,28HXCHD A,@R0CPL A5.设(A)=38H,(20H)=49H,PSW=00H,(B)=02H,填写以下中间结果。

SETB CADDC A, 20H (A)= 82H (CY)= 0 (AC)= 1RLC A (A)=04H (CY)=1 (P)= 1MUL AB (A)=08H (B)=00H (OV)=06.已知(R0)=20H, (20H ) =10H, (P0) =30H, (R2) =20H, 执行如下程序段后( 40H ) =15H MOV @R0 , #11H (20H)=11HMOV A , R2 A=20HADD A , 20H A=40HMOV PSW , #80HSUBB A , P0 A=10HXRL A , #45H A=15HMOV 40H , A (40H)=15H7. 已知 ( R0 )=20H, (20H )=36H, (21H) =17H, (36H) =34H, 执行过程如下:MOV A , @R0 A=36HMOV R0 , A R0=36HMOV A , @R0 A=34HADD A , 21H A=4BHORL A , #21H A=21HRL A A=42HMOV R2 , A R2=42HRET则执行结束(R0)=36H (R2)= 42H8.设在31H单元存有#23H,执行下面程序:MOV A, 31H A=23HANL A, #0FH A=03HMOV 41H, A (41H)=03HMOV A, 31H A=23HANL A, #0F0H A=20HSWAP A A=02HMOV 42H, A (42H)=02H则(41H)= 03H (42H)= 02H9.(R0)=4BH,(A)=84H,片内RAM(4BH)=7FH,(40)=20HMOV A,@R0 A=7FHMOV @R0,40H (4BH)=20HMOV 40H,A (40H)=7FH;MOV R0,#35H R0=35H问执行程序后,R0=35H A= 7FH 4BH= 20H 40H= 7FH10.若PSW=00, 执行下列程序后,PSW的CY,AC,OV,P各位状态如何? MOV A,#0FBH A=FBHMOV PSW,#10HADD A,#7FH A=7AH CY=1; AC=1;OV=1; P=1;MOVA,20H A=O1HINCA A=02HMOVDPTR,#2000H DPRT=2000HMOVCA,@A+DPTR A=5BHCPLAA=A3HMOV 30H,A (30H) =A3HSJMP $END执行程序后,(30H)= A3H12.分析程序段:CLRC清零cy指令MOVA,#91H给A立即数SUBBA,61H;A寄存器与地址(61h)的值相减ADDA,61H;A寄存器与地址(61h)的值相加DAA;BDC码调整指令MOV62H,A把累加器A的值送给地址寄存器62h(1)程序执行何种操作?对91H做BDC码调整;(2)若已知初值:(60H)=24H,(61H)=72H,则运行后,(62H)= 91H 。

13.设(R0)=7EH,DPTR=10FEH,片内RAM7EH和7FH两单元的内容分别是FFH和38H,请写出下列程序段的每条指令的执行结果。

INC @R0(7E)=00HINCR0R0=7FHINC @R0(7FH)=39HINCDPTRDPTR=10FFHINCDPTRDPTR=1100HINCDPTRDPTR=1101H14.设R0=20H,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,(26H)=6 FH,(27H)=76H,下列程序执行程序后,结果如何?CLR C C=0;MOV R2,#3 R2=3;LOOP: MOV A,@R0 A=80H A=90HADDC A,@R1 A=20HMOV @R0,A (20H)=20H;(21H)=00H; (22H)=16HINC R0 R0=21H;INC R1 R1=26HDJNZ R2,LOOPJNC NEXT1MOV @R0,#01H (23H)=01HSJMP $NEXT: DEC R0SJMP $(20H)=20H 、(21H)= 00H 、(22H)=16H 、(23H)= 01H 、 CY=1A=16H 、R0=23H 、R1=27H 。

15.MOV DPTR,#2000H (DPTR)= 2000HMOV A,#80H (A)= 80HMOVX @DPTR,A (2000H)= 80HINC DPTR (DPTR)= 2001MOV A,#90H (A)= 90HMOVX @DPTR,A (2001H)= 90HMOV DPTR,#2000H (DPTR)= 2000HMOVX A,@DPTR (A)= 80HMOV B,A (B)=80HINC DPTR (DPTR)= 2001HMOVX A,@DPTR (A)= 90H16.若(10H)=0FFH,(11H)=00H,(12H)=0FFH,(13H)=00H,写出每一步指令运行结果MOV A,10H (A)= FFH ,ANL A,#01H (A)= 01H ,MOV A,11H (A)= 00H ,ORL A,#01H (A)= 01H ,MOV A,12H (A)= FFH ,XRL A,#01H (A)= FEH ,MOV A,13H (A)= 00H ,XRL A,#0AA (A)= AAH ,(10H)= FFH , (11H)= 00H , (12H)= FFH , (13H)= 00H17. 阅读程序并回答下列问题:X DATA 50HY DATA 51HORG 00HJMP STARTORG 100HSTART: MOV SP,#60HMOV X,#10 (50H)=10MOV Y,#10 (51H)=10LCALL SUBSUB: NOPINC X (50H)=11 X+10=20DEC Y (51H)=9 Y=0;MOV A,Y A=9JZ SUBRETLCALL SUBSUBRET: NOPRET计算X和Y的值是多少?(X)= 20 ;(Y)= 0 ;18. 设自变量为X,存放在ARE单元,应变量Y存放在BUF单元。

给程序标注注释,说明该段子程序的功能并写出该程序的函数关系式。

(7分)START:MOV DPTR,#AREMOVX A,@DPTRJZ SULJB ACC.7,NEG ;注释:如果A的值大于128跳转NEGMOV A,#02HSUL:MOV DPTR,#BUFMOVX @DPTR,A ;注释:把A的值传送给BUF地址中RETNEG:MOV A,#0FEHSJMP SUL如果X=0,Y=0;如果X<128,Y=02h;如果X>128,Y=FEH;19. 执行下列程序段后,(P1)=_9AH__。

MOV P1,#5DHCPL P1.1CPL P1.2CLR P1.6SETB P1.720. 执行下列程序段后,(A)=___8BH____,(C Y)=__0_。

MOV A,#C5HRL A21. 下列程序段执行后,(R0)=___7EH____,(7EH)=__41H__,(7FH)=___01H____。

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

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

MOV R0,#dataMOV A,@R0RL AMOV R1,ARL ARL AADD A,R1MOV @R0,ARET24. 程序填空1)数据块传送,将RAM从30H开始的连续32个单元的内容传递给片内RAM从60H开始的连续32个单元。

ORG 1000HMOV R7,_____MOV R0, #30HMOV R1,#60HLOOP:MOV A,@R0MOV _____,AINC R0INC R1DJNZ R7, _____SJMP $END2) RAM中40H单元内存有一个十六进制数,把这个数转换为BCD码的十进制数,BCD码的十位和个位放在累加器A中,百位放在R2中。

ORG 2200HMOV A,_____MOV B,#64HDIV ABMOV R2,AMOV A,_____XCH A,BDIV ABSWAP _____ORL A,BSJMP $END3)编程序将片内40H-46H单元内容的高4位清零,保持低4位不变。

ORG 1000HMOV R7,#07HMOV R0,_____LOOP:MOV A,@R0ANL A,_____MOV @R0,AINC R0DJNZ R7,LOOPSJMP $END25. 程序如下2506H M5: MOV SP,#58H;2509HMOV 10H,#0FH;250CH MOV 11H,#0BH;250FH ACALL XHD;2511H MOV 20H,11H2514H M5A: SJMP M5AXHD: PUSH 10HPUSH 11HPOP 10HPOP 11HRET问:(1)执行POP 10H后堆栈内容?(2)执行M5A: SJMP M5A后,( SP )=? ( 20H )=?26. 解读下列程序,然后填写有关寄存器内容(1) MOV R1,#48HMOV 48H,#51HCJNE @R1,#51H,00HJNC NEXT1MOV A,#0FFHSJMP NEXT2NEXT: MOV A,#0AAHNEXT2: SJMP NEXT2累加器 A=( )(2) MOV A,#0FBHMOV PSW,#10HADD A,#7FH若PSW=00,当执行完上述程序段后,将PSW各位状态填入下表:PSW27.改正下列指令MOV @R3,AMOV DPTR,AINC @R3 IDEC DPTRADDC #30H,A28. 设内部RAM(30H)=5AH,(5AH)=40H,(40H)=00H,端口P1=7FH,问执行下列指令后,各有关存储单元(即R0,R1,A,B,P1,30H,40H及5AH单元)的内容如何?(8分) MOV R0,#30HMOV A,@R0MOV R1,AMOV B,R1MOV @R1,P1MOV A,P1MOV 40H,#20HMOV 30H,40H。

相关文档
最新文档