单片机实验课系列

chapter1

1、本试验把2000h、2001h的低位分别送入2002h高低位,用于把显示缓冲区的数据取出拼装成一个字节。通过该实验学生可以了解单片机读写存储器的方法,同时也可以了解单片机编程、调试方法。

ORG 0000H;
MOV DPTR,#2000H;
MOVX A,@DPTR;

ANL A,#0FH;
SWAP A;
MOV R1,A;
INC DPTR;

MOVX A,@DPTR;
ANL A,#0FH;
ORL A,R1;
INC DPTR;
MOVX @DPTR,A;
END;

2、假使拆字,把2000h的内容拆开,高位送2001h低位,低位送2002h低位,2001h、2002h高位清零,如何修改程序。

ORG 0000H;
MOV DPTR,#2000H;
MOVX A,@DPTR;

ANL A,#0F0H;		//取高位
SWAP A;		//高位移到低位
INC DPTR;		//当前变2001h
MOVX @DPTR,A;		//把原来2000h的高位送到20001h低位

MOV DPTR,#2000H;
MOVX A,@DPTR;
ANL A,#0FH;		//取低位
MOV DPTR,#2002H;		
MOVX @DPTR,A;		//把原来2000h的高位送到2002h低位
END;

chapter2

1、数据区传送子程序

MOV R0,#30H;
MOV A,#01H;
INIT:MOV @R0,A;
INC R0;
INC A;
CJNE R0,#3AH,INIT;

MOV R0,#30H;
MOV R1,#60H;
TRANS:MOV A,@R0;
MOV @R1,A;
INC R0;
INC R1;
CJNE R1,#6AH,TRANS;
END;

2、数据排序实验

ORG 000H
LJMP QUE
ORG 09B0H
QUE:MOV R3,#50H
QUE1:MOV A,R3;

MOV R0,A
MOV R7,#0AH;
CLR 00H;
MOV A,@R0
QL2:INC R0

MOV R2,A
CLR C
MOV 22H,@R0
CJNE A,22H,QL3
SETB C

QL3:MOV A,R2
JC QL1		//JNC QL1
SETB 00H
XCH A,@R0
DEC R0

XCH A,@R0
INC R0;
QL1:MOV A,@R0
DJNZ R7,QL2
JB 00H,QUE1

LOOP:SJMP LOOP
END
  • 2
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

互联网小队

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值