单片机原理例题和习题.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机原理例题和习题

例4.1(顺序结构)被加数存于片内RAM的32H、31H、30H单元,加数存于片内RAM的35H、34H、33H单元相加之和存于片内RAM的32H、31H、30H单元,进位存于片内RAM的00H单元。程序如下: START: MOV R0, #30H MOV R1, #33H MOV A, @R0 ADD A, @R1 MOV @R0, A INC R0 INC R1 MOV A, @R0 ADDC A, @R1 MOV @R0, A INC R0 INC R1 MOV A, @R0 ADDC A, @R1 MOV @R0, A CLR A ADDC A, #00H MOV 00H, A RET 例4.2(分支结构)假定在片外RAM的2000H、2001H、2002H这3个连续单元中,2000H和2001H单元存放着两个无符号数。要求找出两个无符号数中较大者,并存放于2002H单元。程序如下: ORG 0100H START: CLR C MOV DPTR, #2000H MOVX A, @DPTR MOV R2, A INC DPTR MOVX A, @DPTR SUBB A, R2 JNC LOOP1 XCH A, R2 LOOP0: INC DPTR MOVX @DPTR, A RET LOOP1: MOVX A, @DPTR SJMP LOOP0 例4.5两个多字节数的减法。 设有2个n字节无符号数,分别存放在片内的ram单元中,低字节在前,高字节在后。 CLR C MOV R2,#N LOOP:MOV A,@R0 SUBB A,@R1 MOV @R0,A INC R0 INC R1 DJNZ R2,LOOP RET 例4.3(循环结构)将片内RAM的20H单元为起始地址的数据串(最长为32 Bytes),传送到外部RAM的2000H单元为首地址的区域,直到发现“$”字符的ASCⅡ码为止。程序如下: START: MOV R0, #20H MOV DPTR, #2000H MOV R7, #32 LOOP0: MOV A, @R0 XRL A, #24H JZ LOOP1 MOV A, @R0 MOVX @DPTR, A INC R0 INC DPTR DJNZ R7, LOOP0 LOOP1: RET 例4.7假设被乘数放在r6和r7中,乘数放在r4和r5中,求乘积放于40H~43H单元中,低字节在前。 ORG 30H MUL16:MOV R0,#40H MOV A,R6 MOV B,R4 MUL AB MOV @R0,A MOV R3,B MOV A,R7 MOV B, R4 MUL AB ADD A,R3 MOV R3,A MOV A,#0 ADDC A,B MOV R2,A MOV A,R6 MOV B,R5 MUL AB ADD A,R3 INC R0 MOV @R0,A MOV R1,#0 MOV A,.R2 ADDC A,B MOV R2,A JNC NEXT INC R1 NEXT: MOV A,R7 MOV B,R5 MUL AB ADD A,R2 INC R0 MOV A,B ADDC A,R1 INC R0 MOV @R0,A RET 例5.5将89s51的P1口设置成数据输入口,外围设备每准备好一个数据时,发出一个选通信号,经D触发器74LS74送给单片机引脚INT1,通知cpu进行处理。编写主程序和中断服务程序。 主程序: ORG 0000H LJMP MAIN ORG 0013H LJMP INT1 ORG 0030H MAIN: CLR IT1 SETB EA SETB EX1 MOV DPTR,#1000H …… 终端服务程序: ORG 0200H INT1:PUSH PSW PUSH ACC CLR P3.0 NOP NOP SETB P3.0 MOV A, P1 MOVX @DPTR, A INC DPTR …… POP ACC POP PSW TETI 中断和查询相结合的多外部中断源系统 主程序: ORG 0000H AJMP MAIN ORG 0003H AJMP INSER MAIN:MOV R1,#0FFH SETB IT0 SETB EX0 SETB EA HERE:AJMP HERE 外部中断0的中断服务程序: INSER:JNB P1.1 ,L1 CLR P1.0

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档