单片机应用与实践---练习题_第1页
单片机应用与实践---练习题_第2页
单片机应用与实践---练习题_第3页
单片机应用与实践---练习题_第4页
单片机应用与实践---练习题_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、练习题,答案仅供参考。题号有的不对的,自己再调整下。编程序时,标号对齐、程序行对齐,具体见程序。考试时,不对齐扣到本题0分为止。编程题,另外加上第4章课件上的例子。* 请认真看书,做题,做好复习!* 单片机应用与实践9执行以下程序段MOV R0,# dataMOV A,R0RL AMOV R1,ARL ARL AADD A,R1MOV R0,A后,实现的功能是_把data单元的内容乘以10_.*一 填空题(每空1分,共24分)1假定外部数据存储器2000H单元的内容为80H,0000H单元的内容为90H,执行下列指令后,累加器A中的内容为_.。MOV P2,#20HMOV R0,#00HMOV

2、X A, R02假定(SP)=60H,(ACC)=30H,(B)=70H,执行下列指令:PUSH ACCPUSH B后,SP的内容为_.,61H单元的内容为_.,62H单元的内容为_.。3设A=01××××××B,×表示随机状态,为1或0,执行指令ORL A,#03H后A( 01××××11B )4假定(A)=0FFH,(R3)=0FH,(30H)=0F0H,(R0)=40H,(40H)=00H。执行指令:INC AINC R3INC 30HINC R0后,累加器A的内容为_., 40

3、H的内容为_.。5在MCS51中PC和DPTR都用于提供地址,但PC是为访问_存储器提供地址,而DPTR是为访问_存储器提供地址。6MCS-51可提供和两种存储器、最大存储空间_可达的两个并行存储器扩展系统。7扩展存储器而构造系统总线,应以P0口的8位口线作为_线,以P2口的口线作为_线。8、设A=58H,执行指令ADD A,#99H 后,A=_,C=_,再执行指令DA A后A=_,C=_。参考答案1(80H)2(62H)(30H )( 70H )。3 (01××××11B )4(00H)( 01H )。5(程序)(数据)6 (程序)和(数据) 、( 6

4、4K )7(低位地址/数据),(高位地址)8( 0F1H ), (0 ), (57H ),C=(1 )。1. 8031单片机复位后,R4所对应的存储单元的地址为_H。因上电时PSW=_H,这时当前的工作寄存器区是第_组工作寄存器区。2. 在MCS-51中,PC和DPTR都用于提供地址指针,但PC是为了访问_存储器提供地址指针,而DPTR是为访问_存储器提供地址指针。3. 计算机三总线分别为:_总线;_总线;_总线。4. 在串行通讯中,帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式_。5. 51单片机有两个物理上独立的接收、发送缓冲器SBUF;通过串行口发送数据时,在程序中应

5、使用:_指令;在接收数据时,在程序中应使用:_指令。6. 单片机与普通计算机的不同之处在于其将_、_和_三部分集成于一块芯片上。7. 下列指令中有错误的是_。(2分)A、MOV A,R4 B、MOV 20H,R4 C 、MOV R4,R3 D、MOV R4,R3 8. 8031复位后,PC与SP的值为_、_。9. 8051内部有_个并行端口,P0口直接作为I/O端口使用时,必须外接_;并行端口作输入端口时,必须先执行_指令,然后执行输入指令,才能正确的读入端口的状态。10. 当单片机接到外设的中断申请时,单片机响应中断,单片机将暂停_的执行,转去执行_程序,执行完_,再执行_程序。11定时器/

6、计数器的工作方式3是指将_拆成两个独立的8位计数器。而另一个定时器/计数器此时通常只可作为_使用。12. 串行口每一次传送_A_字符。A. 1位 B. 1串 C. 1帧 D. 1波特参考答案1. 04H 00 02. 程序数据3. 数据总线地址总线控制总线。4. 方式( 1 )。5. MOV SBUF , A MOV A,SBUF6. CPU MEMORY I/O7. C D 8. 00H, 07H9. 4 上拉电阻输出高电平10. 当前主程序中断服务子程序中断服务子程序中断前执行的主程序11T0 波特率发生器12. A*1、MCS-51单片机的存储空间包括和,它们的可寻址范围分别为_和_。2

7、、若PSW的内容是10H,那么R3的地址是_。3、指令MOV A,R0中,R0中的内容是指_。4、已知SP25H,PC=2345H,标号Label的地址为3456H,问执行LCALL Label指令后,堆栈指针SP=_,(26H)_,(27H)_,PC=_。5、当晶振频率为12MHZ时,下面这个子程序延时时间为_。DL:MOVR6,#100DL1:MOVR7,#4DL2:MULABMULABDJNZR7,DL2DJNZR6,DL1RET6、决定程序执行的顺序是寄存器,该寄存器复位时的值为_。7、当定时/计数器选定为定时器方式时,是_对进行计数,选定为计数器方式时,是对_进行计数。8、51单片机

8、的中断系统最多可以有_个嵌套。9、MCS-51的外部中断的触发方式有两种,分别为_和_。10、串行通信根据通信的数据格式分有两种方式,分别是_和_。参考答案1、程序存储器,数据存储器,64KB,64KB2、13H3、操作数的地址4、27H,48H,23H,3456H5、4.3ms6、PC,0000H7、片内机器周期脉冲数,片外脉冲8、29、电平触发,边沿触发10、同步方式,异步方式*1、在MCS51单片机中,如果采用24MHz晶振,1个机器周期为_。2、若A中的内容为0E6H,那么,P标志位的值为_。3、MCS51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为MCS51的PC

9、是16位的,因此其寻址的范围为_KB。4、指令格式是由_和_所组成,也可能仅由_组成。7、假定A=55H,R3=0ABH,在执行指令ANL A,R3后,A=_,R3=_。8、假定,SP=60H,A=30H,B=70H,执行下列指令:PUSH BPUSH A后,SP的内容为_,61H单元的内容为_,62H单元的内容为_。9、假定A=83H,(R0)=17H,(17H)=0B5H,执行以下指令:ANL A,#17HORL 17H,AXRL A,R0CPL A后,A的内容为_。10、12根地址线可选_个存储单元,8KB存储单元需要_根地址线。参考答案1、0.5us。2、若A中的内容为0E6H,那么,

10、P标志位的值为(1)。3、64。4、操作码、操作数、操作码。7、A=(01H ),R3=(0ABH)。8、SP的内容为(62H),61H单元的内容为(70H),62H单元的内容为(30H)。9、A的内容为(4BH )。10、4KB、13。*一、填空题(30分)(每空1分)1)8051系列单片机中,片内数据存储区一共分为3个区,这3个区分别为:_;_;_。2)8K8位的存储器共有_根地址线。3)3-8译码器74LS138在全译码寻址方式中,译码器的输出端通常与单片机接口芯片的_端连接。4)当单片机接到外设的中断申请时,单片机响应中断,单片机将暂停的执行,转去执行程序,执行完,再执行程序。5)80

11、51单片机的中断源有:,。6) 单片机P0口为_总线和_总线的复用端口,74LS373与P0口连接,其输出线作为系统的_,74LS373的G端与单片机_连接。7) 当单片机接到外设的中断申请时,单片机响应中断,单片机将暂停执行,转去执行_程序,执行完_,再执行_程序。8) 已知程序执行前有A=01H,SP=52H,(51H)=FFH,(52H)=FFH。下述程序执行后:POP DPHPOP DPLMOV DPTR,#3000HRL AMOV B,AMOVC A,A+DPTRPUSH AMOV A,BINC AMOVC A,A+DPTRPUSH ARETORG 3000HDB 10H,80H,3

12、0H,80H,50H,80H请问:A=_,SP=_,(51H)=_,(52H)=_,PC=_。9) 如果DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:POP DPHPOP DPLPOP SP则:DPH=_,DPL=_,SP=_10) 假定A=83H,(R0)=17H,(17H)=34H,执行以下指令:ANL A,#17HORL 17H,AXRL A,R0CPL A后,A的内容为_。参考答案1、寄存器区、位寻址区、数据缓冲区2、133、片选端4、中断服务程序,中断服务程序,主程序4、外部0中断,定时器T0中断,外部1中断,定时器

13、T1中断,串行口通讯中断5、数据,地址,地址,ALE6、中断服务,中断服务,主7、30H,50H,80H,30H,3080H8、3CH,5FH,4FH9、0CBH1、MCS-51的复位条件是_。复位后,CPU从_单元开始执行程序,PC=_,SP=_,PSW=_。2、在下列情况引脚应接何种电平?(1)只有片内ROM,=_;(2)只有片外ROM,=_;(3)有片内、片外ROM,=_;(4)有片内ROM但不用,而用片外ROM,=_。3、若PSW的内容为18H,则工作寄存器R0的地址是_H。4、10根地址线可选个_存储单元,32KB存储单元需要_根地址线。5、若8031单片机的晶振频率fosc12MH

14、z,则时钟周期为_,状态周期为_,机器周期为_,执行MUL AB指令需要时间为_。6、8031单片机指令MOV是访问_,最大范围为_,MOVX是访问_,最大范围为_,MOVC是访问_,最大范围为_。7、指令POP B的源操作数是_,是_寻址方式,目的操作数是_,是_寻址方式。8、已知SP=25H,PC=4345H,(24H)=12H,(25H)=34H,(26H)56H,当执行RET指令后,SP=_,PC=_。9、当定时/计数器选定为定时器方式时,是对_进行计数,选定为计数器方式时,是对_进行计数。10、MCS-51单片机的串行口有种工作方式,其中方式0是_方式,它的波特率为_,用_引脚传送数

15、据,用_引脚输出同步时钟信号。参考答案1、在RST端保持至少2个机器周期的高电平,0000H,0000H,07H,00H2、1,0,1,03、18H4、1024,155、1/12us,1/6us,1us,4us6、内RAM及FSR,256B,外RAM,64KB,ROM,64KB7、SP,寄存器间接寻址,B,寄存器8、23H,3412H9、片内机器周期脉冲,片外脉冲10、4,同步移位输入输出,fosc/12,RXD,TXD*89C51的中断分为_和_共两个优先级。位处理器也称为_,它以状态寄存器中的_为累加位。80C51内部共有256个数据存储单元,按其功能分为两部分:_单元和_单元。MCS-5

16、1时序的定时单位共有四个,从小到大依次是_、_、_和_。参考答案1. 高级、低级。2. 布尔处理器、进位标志位C。3. 低128、高128。4. 拍节、状态、机器周期、指令周期。1MCS51单片机的P0P3口均是IO口,其中的P0口和P2口除了可以进行_数据的输入、输出外,通常还用来构建系统的_和_,在P0P3口中,_为真正的双向口,_为准双向口。2MCS5l单片机的堆栈区只可设置在_。3MCS51单片机外部中断请求信号有电平方式和_,在电平方式下,当采集到INT0、INT1的有效信号为_时,激活外部中断。4定时器计数器的工作方式3是指_将拆成两个独立的8位计数器。而另一个定时器计数器此时通常

17、只可作为_使用。参考答案1并行 数据总线 地址总线 P0 P1P3 2片内数据存储区(器) 3脉冲方式低电平4定时器计数器0 串行口的波特率发生器1、单片机与普通计算机的不同之处在于其将_、_和_三部分集成于一块芯片上。2、使用双缓冲方式的D/A转换器,可实现多路模拟信号_的输出。3、通过堆栈操作实现子程序调用,首先就要把_的内容入栈,以进行断点保护。调用返回时,再进行出栈保护,把保护的断点送回到_。4、在基址加变址寻址方式中,以作变址寄存器,以或作基址寄存器。5、假定累加器A中的内容为40H,执行指令1000H:MOVC A,A+PC后,把程序存储器_单元的内容送入累加器A中。6、在寄存器间

18、接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的。7、假定A=83H,(R0)=17H,(17H)=0B5H,执行以下指令:ANL A,#17HORL 17H,AXRL A,R0CPL A后,A的内容为。8、已知程序执行前有A=01H,SP=42H,(41H)=FFH,(42H)=FFH。下述程序执行后:POP DPHPOP DPLMOV DPTR,#3000HRL AMOV B,AMOVC A,A+DPTRPUSH AMOV A,BINC AMOVC A,A+DPTRPUSH ARETORG 3000HDB 10H,80H,30H,80H,50H,80H请问:A=_,

19、SP=_,(41H)=_,(42H)=_。9、在存储器扩展中,无论是线选法还是译码法,最终都是为了扩展芯片的_端提供信号。11、16KB RAM存储器的首地址若为3000H,则末地址为_H。参考答案1、答:CPU、存储器、I/O口2、答:同步3、答:PC、PC4、答:累加器A,DPTR、PC5、答:1041H6、答:地址7、答:A的内容为 4BH 。8、答:A= 80H ,SP= 42H ,(41H)= 30H ,(42H)= 80H ,PC= 8030H 。9、答:片选。11、答: 6FFF H。二 编程题 (每小题8分,共16分)1. 设在内RAM 40H开始的存储区有若干个字符和数字,已

20、知最后一个为字符“$“(并且只有一个,试统计这些字符数字的个数,结果存入30H单元中。参考程序:ORG 0000HSTART:MOV R1,#40H;R1作为地址指针CLR A;A作为计数器LOOP:CJNE R1,#24H,NEXT;与“$”号比较,不等转移SJMP NEXT1;找到“$“结束循环NEXT:INC A;计数器加1INC R1;指针加1SJMP LOOP;循环NEXT1:INC A;再加入”$”这个字符MOV 30H,A;存结果END2. 试编一程序,分别统计在内部RAM的30H50H单元的数据区中奇数和偶数的个数,并将奇数和偶数的个数分别存放在51H和52H单元中。参考程序:

21、ORG 0000HMOV 51H ,#0HMOV 52# ,#0HMOV R1 ,#30HMOV R0 ,#20HMOV A,R1INC R1ANL A , #01HJZ LOOP1INC 51HSJMP LOOP2LOOP1:INC 52HLOOP2:DJNZ R0 , LOOP3RET3用8XX51的P1口接8个LED发光二极管,由INT0接一消抖按键开关,开始P1.0的LED亮,以后由INT0按键每中断一次,下一个LED亮,顺序下移,且每次只一个LED亮,周而复始。请编制程序。参考程序:ORG 0000H AJMP MAINORG 0003HRL A ;中断服务MOV P1,ARETIM

22、AIN:MOV A,#0FFHMOV P1,A ;第一灯亮SETB EASETB EX0 ;允许INT0外部中断SETB IT0 ;中断触发方式为下降沿触发SJMP $ ;等待中断4.设有100个有符号数,连续存放在以2000H为首地址的存储区中,试编程统计其中正数、负数、零的个数并分别存放在30H、31H、32H单元中。MOV 30H,#0MOV 31H,#0MOV 32H,#0MOV DPTR ,#2000HMOV R1,#100L4:MOVX A,DPTRINC DPTRCJNE A,#0,L1INC 32HSJMP L2L2:JC L3INC 30HSJMP L2L3:INC 31HL

23、2:DJNZ R1,L4SJMP $5.编程将内部数据存储器20H24H单元压缩的BCD码转换成ASC存放在于25H开始的单元。参考程序:注意压缩的BCD码为一个字节占两位BCD码。ORG 0000HMOV R7,#05H ;R7为转换字节数MOV R0,#20H ;R0为源操作数地址MOV R1,#25H ;R1为目的操作数地址NE:MOV A,R0ANL A,#0FH ;先取低位BCD码ADD A,#30H ;将BCD码转换成ASC码MOV R1,AINC R1MOV A,R0ANL A,#0F0H ;取高位BCD码SWAP A ;半字节交换ADD A,#30H ;将高位BCD码转换成AS

24、C码MOV R1,AINC R0 INC R1DJNZ R7,NESJMP $END编程题,另外加上第4章课件上的例子。三、程序解释(每小题5分,共10分)1ORG 0200HMOV DPTR,#1000H MOV R0,#20H LOOP:MOVX A,DPTRMOV R0,AINC DPTRINC R0CJNE R0,#71H,LOOP SJMP $程序功能:把片外数据存储器1000H1050H中的内容传送到片内数据存储器 20H70H中。2ORG 0200HMOV A,R0ANL A,#0FHMOV DPTR,#TABMOVC A,A+DPTRMOV R0,ASJMP $TAB:DB 3

25、0H,31H,32H,33H,34H,35H,36H,37H,38H,39H; 09的ASC码DB 41H,42H,43H,44H,45H,46H ;AF的ASC码程序功能:利用查表的方法实现RO中的十六进制数转换为ASC码对每小题程序中划线的指令含义(或指令作用)进行解释,并说明程序的作用。*1. 程序解释 ORG 100HMOV A,R0 ;R0的内容送A ANL A,#0FHMOV R1,A MOV A,R0SWAP A ;A的内容高低4位交换 ANL A,#0FHMOV R2,A SJMP $ ;等待 END该程序的作用是:将原R0中数据按照高低4位分成两个字节,低位字节保存在R1中,

26、高位字节保存到R2中。2. 程序解释 ORG 30HMOV R0,#data1 ; data1送R0 MOV R1,#data2MOVR2,#2CLR CLOOP: MOVA,R0SUBB A,R1 ;(A)-(C)-(R1)A MOV R0,AINC R0INC R1DJNZR2,LOOP ;(R2)-1不等于零,跳LOOP处SJMP $END该程序的作用是:将data1中的双字节数据减去data2中的双字节数据,结果保存到data1中3. 程序解释 ORG 30HVARDATA 30HFUNCDATA 31HMOV A,VAR ;30单元的内容送AJZ DONE ;A为零转移JNB ACC

27、.7,POSI ;A的最高位为0(正数)转移MOV A,#0FFH ;提示:0FFH表示-1SJMP DONEPOSI:MOV A, #01HDONE:MOV FUNC,ASJMP $END该程序的作用是:判断30H单元中的内容,结果放在31H单元中。大于0放1,小于0放-1,等于零放0。 4. 程序解释 ORG 100HMOV A, R3 RL A ;A左循环一位(即乘2)MOV DPTR,#BRTAB ;绝对转移地址表起始地址送DPTR JMP A+DPTR ;(PC)=(A)+(DPTR) BRTAB:AJMPROUT000AJMPROUT001AJMPROUT002AJMPROUT12

28、7END该程序的作用是:本程序完成128分支转移操作,根据R3中的数值转移到相应的128个分支程序中。5. 程序解释 ORG 0030H MOV R0, #22H ; 立即数22H送R0 MOV R0, #00H INC R0 ; R0中的内容加1 MOV R0, #01H INC R0MOV R0, #02H ; 02H送24H单元 SJMP $END该程序的作用是:向单片机内部RAM的22H,23H,24H单元分别送数据00,01,02。 6. 程序解释 ORG 0030H MOV A, 20H MOV B, 21H DIV AB ; A除以B MOV 31H, A ; 商送30H单元 I

29、MOV 31H,B ; 余数送31H单元SJMP$END该程序的作用是:将20H单元中有一个二进制数除以21H单元中二进制数,商保存到30H单元,余数保存到31H。7. 程序解释CHENGJIDATA 1000HGRADADATA20HGRADB DATA 21H MOVGRADA,#00HMOV GRADB,#00H MOVR2,#100 MOVDPTR,#CHENGJI ;1000H送DPTR LOOP:MOVXA,DPTRCJNEA,#60,LOOP1 LOOP1: JNC NEXT1INC GRADB ;21H单元的内容加1 SJMP NEXTNEXT1: INC GRADANEXT:

30、 INC DPTRDJNZ R2,LOOP ;(R2)-1R2 不为零,转移 SJMP $END该程序的作用是 本程序完成对100个数(如100个学生成绩)的过滤统计,成绩在60以上的学生统计到GRADA,<60的学生统计到GRADB。8. 程序解释LEN DATA 20HSUM DATA 21H BLOCK DATA 22HCLRA ;A清0 MOV R2,LEN MOV R1,#BLOCK LOOP:ADDA,R1 ;(A)+(R1)A INC R1CHECK:DJNZ R2,LOOP ;LEN个单元未加完,继续 MOV SUM,A SJMP $ END该程序的作用是:完成BLOCK

31、单元开始的LEN单元中数据个数的累加,累加结果保存到SUM单元中。 9. 程序解释XXDATA 40HYY DATA41HMOVA,XX JZ DONE MOVR0,#0FFH ;提示:0FFH表示-1 JNB ACC.7,NEG ;若A< 0,则转向NEGMOVR0,#01H ; 01送R0 NEG:MOV A, R0DONE:MOV YY,A ;(A)送41H单元 SJMP$ END该程序的作用是:判断40H单元中的内容,结果放在41H单元中。大于0放1,小于0放-1,等于0放0。 10. 程序解释ONEDATA 30HTWO DATA 31H;TWO地址定义为31HMAXDATA

32、32HCLRC;C清零MOV A,ONESUBB A,TWO;(A)-(31H)结果送AJNC XMAXYMAX:MOVA,TWOSJMPDONEXMAX:MOVA,ONEDONE:MOVMAX,A该程序的作用是:本程序完成ONE和TWO的两个单元中的数的比较,大数存入MAX单元中。 11. 程序解释BLOCK1 DATA 20HBLOCK2 DATA 40H MOV R0,#BLOCK1 MOV R1,#BLOCK2 MOV R2,#03 CLR CLOOP: MOV A,R0 ;被加数送A ADDC A,R1 ;带进位加法 MOV R0,A ;和送(R0) INC R0 INC R1 DJ

33、NZ R2,LOOP1 SJMP $ END该程序的作用是:内部RAM中BLOCK1(20H)开始的三字节数与BLOCK2(40H)开始的两个三字节数相加,和数存放到BLOCK1开始的单元。 12. 程序解释SHIFT:MOV DPTR,#TABJMOV A,R2RL A ;A乘2ADD A,R2JMP A+DPTR;跳转到(A)+(DPTR)PCTABJ:LJMP PRG0;跳转到PRG0 LJMP PRG1LJMP PRGN该程序的作用是:根据内部RAM中R2数据转向不同的子程序,R2=0转PRG0,R2=1转PRG1, R2=N转PRGN 13. 程序解释START:CLR AMOV R

34、2,#10 MOV R1,#21H ;21H送R1 NEXT: ADD A,R1 ;(A)+(R1)A INC R1 DJNZ R2,NEXT ;未加完,跳转 MOV22H,A SJMP $ END该程序的作用是:完成21H单元开始的10个数据块的累加,结果保存到22H单元。14. 程序解释LEN DATA 20HMAX DATA 21H ADDR DATA 30H MOV MAX,#00H MOV R0,#ADDR LOOP: MOV A,R0 CJNE A,MAX,NEXT1 ;(A)与(MAX)比较,不等去NEXTNEXT1: JC NEXT ;C=1 去NEXT MOV MAX,ANE

35、XT: INC R0 ;R0内容加1 DJNZ LEN,LOOP SJMP $ END该程序的作用是:内部RAM中ADDR(30H)开始的x个数据的比较,将最大的数字送MAX单元。x由LEN(20H)单元给出。 15. 程序解释 MOV A,R0ANL A,#0FH ;0FH与A相与,结果送A MOV DPTR,#ASCTABMOVC A,A+DPTR ;查表 MOV R0,A ; 查表结果存入R0 SJMP $ASCTAB:DB 0, 1, 2, 3, 4 DB5, 6, 7, 8, 9 DB A, B, C, D, E , F END该程序的作用是:将R0中低4位的0F的十六进制数据转换成

36、ASCTAB中的编码存放到R0中。16. 程序解释 ORG 100HMERG:MOVX A,R0 ; 读片外RAM第一字节ANL A,#0FHSWAP A ;高低4位相互交换 MOV B,A INC R0MOVX A,R0 ANL A,#0FHORL A,B ;A或B, 结果送A DEC R0 MOVX R0,A SJMP $ END该程序的作用是:将R0指向的两个字节的低4位和并为一个字节,保存到原R0指向的存储单元。 17. 程序解释START:MOV DPTR,#DTATABMOVA,R4 ;(R4)A ADD A,DPL ;(DPL)+(A)A MOVDPL,ACLR A ;清AADD

37、CA,DPHMOVDPH,A CLR A MOVCA,A+DPTR MOVR5,A RETDTATAB: DB ;元素表格,高字节在前 DB END该程序的作用是:根据R4中的内容(元素序号)在DTATAB表格中查表,将查表得到的数据存入R5中。18. 程序解释START:MOV A, R0ACALL SQR ;调用子程SQR MOV R2,AMOV A, R1 ACALL SQRADD A,R2 ;(R2)+(A)A MOV R2,A SJMP $SQR: ADD A,#01HMOVC A,A+PC ;查平方表 RETSQRTAB:DB 0,1,4,9,16 ;平方表 DB 25,36,49

38、,64,81 END该程序的作用是:将R0和R1中的两个个位数进行平方元算,然后相加,和存入R2中。19. 程序解释MOV R2,#0AHMOV R0,#50HCLR ALOOP: MOV R0,A ;(A)(R0) INC R0DJNZ R2,LOOP ;(R2)-1不等于0,跳转 RET ;子程序返回 END 该程序的作用是: 将50H59H单元置0 20. 程序解释CONT:MOV R0, #10 ;10送R0 MOV 31H,#00HMOV R1,#01HCLOP:MOV A,R1CLR CRLC A ;乘2 ADD A,31H ;(A)+(31H)结果送A MOV 31H,A INC

39、 R1 DJNZ R0,CLOPRETEND该程序的作用是: 将110十个数乘2后再累加,结果送31H单元。 21. 程序解释DLAY:MOV R7,#02H ;02H送R7 DL:MOVR6,#0FFHDL1:DJNZ R6,DL1 ;(R6)-1不为零转移。DJNZ R7,DL RETEND ;程序结束伪指令 该程序的作用是:利用R6,R7实现双循环延时子程序22. 程序解释MATH DATA 1000H PASS DATA 20HNOPASS DATA 21H MOV PASS,#00HMOV NOPASS,#00H MOV R2,#0C8HMOV DPTR,#MATHLOOP:MOVX A, DPTR ;片外单元(DPTR)ACJNE A,#60,LOOP1 ;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论