完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
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 |
|
|
|
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2956 浏览 16 评论
3456 浏览 1 评论
8988 浏览 16 评论
4050 浏览 18 评论
1102浏览 3评论
570浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
568浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2301浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1857浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 13:44 , Processed in 1.254286 second(s), Total 79, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号