绍兴文理学院单片机实验考试文档.docVIP

  • 1
  • 0
  • 约6.11千字
  • 约 9页
  • 2019-11-11 发布于湖北
  • 举报
绍兴文理学院单片机实验考试程序: 基本部分: 实验三:汇编语言程序设计 (1)清零:把外部RAM 2000H~20FFH的内容清零。 ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV A,#00H //累加器A清零 MOV R0,#00H MOV DPTR,#2000H //将2000H内容送给DPTR LOOP: MOV @DPTR,A //将2000H中的内容清零 INC DPTR //DPTR增1 DJNZ R0,LOOP //减1不为0则转移,继续循环,否则结束 SJMP $ END 拆字:把外部RAM 2000H的内容拆开,高位送外部RAM 2001H低位,低位送外部RAM 2002H低位,外部RAM 2001H、外部RAM 2002H高位清零。 ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV DPTR,#2000H //DPTR中为2000H MOVX A,@DPTR //2000H内容送A MOV B,A //将A中内容寄存在B中 SWAP A //高低位交换 ANL A,#0FH //高位清零 INC DPTR //DPTR中为2001H MOVX @DPTR,A //将A中的内容(2000H的高位)给2001H的低位 INC DPTR //DPTR中为2002H MOV A,B //将B中的内容(2000H内容)还给A ANL A,#0FH //屏蔽200OH的高位 MOVX @DPTR,A //将A中的内容(2000H的低位)给2002H的高位 SJMP $ END 拼字:把外部RAM 2000H、外部RAM 2001H的低位分别送入外部RAM 2002H高低位。 ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV DPTR,#2000H //将2000H中的内容送DPTR MOVX A,@DPTR //将2000H中的内容送A ANL A,#0FH //交换高低位送B SWAP A MOV B,A INC DPTR //DPTR增1 MOVX A,@DPTR ANL A,#0FH //屏蔽高位,将2001H内容送A ORL A,B //A和B或后送2002H INC DPTR MOVX @DPTR,A SJMP $ END 在内部RAM中查找是否有单元为特殊值。(单重循环)如:查找找内部RAM的30H-50H单元中是否有0AAH这一数据。若有,则将51H单元置为“01H”;若未找到,则将51H单元置为“00H”。 ORG 0000H AJMP START ORG 0030H START: MOV R0,#30H MOV R2,#20H LOOP: MOV A,@R0 CJNE A,#0AAH,NEXT MOV 51H,#01H LJMP EXIT NEXT: INC R0 DJNZ R2,LOOP MOV 51H,#00H OVER: SJMP $ END 实验四:汇编语言程序设计 外部RAM数据块搬移程序: (1)试将片内RAM中30H~3FH的数据传送到片外RAM地址为1000H开始的单元中。数据搬移:(内部和外部数据存储器之间,单重循环) ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV R0,#30H MOV R1,#10H MOV DPTR,#1000H LOOP: MOV A,@R0 MOVX @DPTR,A INC DPTR INC R0 OVER: DJNE R1,LOOP SJMP $ END (2)将外部RAM中R2、R3为源地址的N个字节数据传送到R4、R5为目的地址的外部RAM区中,字节个数存放在R6、R7中。 数据区传送功能:在R2、R3中输入源地址(例如0000H),R4、R5中输入目的地址(例如2000H),R6、R7中输入字节数(例如2000H),运行程序,检查0000~1FFFH中内容是否和2000H~3FFFH中内容完全—致。 ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV DPL,R3 ;R3内容给DPTR低位 MOV DPH,R2 ;R2内容给D

文档评论(0)

1亿VIP精品文档

相关文档