第3章CS-5指令系统 二、外部RAM数据传送 表32外部RAM数据传送指令 指令名称 指令格式 机器码 功能 指令周期 A, aDPTR 110000DPTR) 累加器A与外部@ ODPTRA 11110000(DPTR)EA RAM之间的数 据传送 MOVX A, aRI 1110010A4←(Ri) MOVX ORLA 11l1001i Ri)←A
第3章 MCS-51指令系统 二、 外部RAM数据传送 表3-2 外部RAM数据传送指令 指令名称 指令格式 机器码 功能 指令周期 累加器A与外部 RAM之间的数 据传送 MOVX A,@DPTR 11100000 A←(DPTR) 2 MOVX @DPTR,A 11110000 (DPTR)←A 2 MOVX A,@Ri 1110001i A←(Ri) 2 MOVX @Ri,A 1111001i (Ri)←A 2
第3章CS-5指令系统 (1)通过DPTR寄存器间接寻址方式读写外部RAM及扩展IO端口。 ①将16位外部RAM地址或IO端口地址放在数据指针DPTR寄 存器中。 ②以DPTR作为间接寻址寄存器,通过累加器A进行读写,这 时外部RAM低8位地址A7~A0通过PO口输出,高8位地址 A15~A8通过P2口输出
第3章 MCS-51指令系统 (1) 通过DPTR寄存器间接寻址方式读写外部RAM及扩展I/O端口。 ①将16位外部RAM地址或I/O端口地址放在数据指针DPTR寄 存器中。 ②以DPTR作为间接寻址寄存器,通过累加器A进行读写,这 时外部RAM低8位地址A7~A0通过P0口输出,高8位地址 A15~A8通过P2口输出
第3章CS-5指令系统 例读写的外部RAM存储单元地址3FFFH MOV DPTR#3FFH;将要读写的外部RAM存储单元地址3FFFH 以立即数方式传送到DPTR寄存器中 MOVX A,@DPTR;将DPTR指定的外部存储单元3FFFH传送 到累加器A中(读外部RAM) MOVX@DPTR,A;将累加器A输出到DPTR指定的外部 存储单元3FFFH中(写外部RAM)
第3章 MCS-51指令系统 MOV DPTR,#3FFFH ; 将要读写的外部RAM存储单元地址3FFFH 以立即数方式传送到DPTR寄存器中 MOVX A,@DPTR ; 将DPTR指定的外部存储单元3FFFH传送 到累加器A中(读外部RAM) 例 读写的外部RAM存储单元地址3FFFH MOVX @DPTR, A ; 将累加器A输出到DPTR指定的外部 存储单元3FFFH中(写外部RAM)
第3章CS-5指令系统 (2)通过RO或R1寄存器间接寻址读写外部RAM及扩展IO端口 ①外部RAM低8位地址A7~A0通过P0口输出,寻址范围是 前256个存储单元。在读写期间P2口处于IO方式,且P2口锁 存器不变 ②当外部RAM容量大于256字节时,以页面方式读写外 部RAM时,P2口中没有使用的IO引脚,可作为输出引 脚使用
第3章 MCS-51指令系统 (2) 通过R0或R1寄存器间接寻址读写外部RAM及扩展I/O端口。 ②当外部RAM容量大于256字节时,以页面方式读写外 部RAM时,P2口中没有使用的I/O引脚,可作为输出引 脚使用。 ①外部RAM低8位地址A7~A0通过P0口输出,寻址范围是 前256个存储单元。在读写期间P2口处于I/O方式,且P2口锁 存器不变
第3章CS-5指令系统 MOVP2,#3FH;将要读写的外部RAM存储单元高8位地址3FH以立 即数方式传送到P2口中(写入P2口锁存器) MOV RI#OFFH 将要读写的外部RAM存储单元低8位地址0FFH以立 即数方式传送到R寄存器中 MOVX A. aRI ;将R1指定的外部存储单元低8位地址0FFH通过P口 输出,由于P2口保持不变,结果外部RAM的 3FFH单元被选中,并读入累加器A中 MOVX ORI, A ;将R1指定的外部存储单元低8位地址0FFH通过P口 输出,由于P口保持不变,外部RAM的3FFH 单元被选中,结果累加器A的内容传送到3FFH单元 (写入)
第3章 MCS-51指令系统 MOV P2, #3FH ; 将要读写的外部RAM存储单元高8位地址3FH以立 即数方式传送到P2口中(写入P2口锁存器) MOV R1,#0FFH ; 将要读写的外部RAM存储单元低8位地址0FFH以立 即数方式传送到R1寄存器中 MOVX A,@R1 ; 将R1指定的外部存储单元低8位地址0FFH通过P0口 输出,由于P2口保持不变,结果外部RAM的 3FFFH单 元被选中,并读入累加器A中 MOVX @R1,A ; 将R1指定的外部存储单元低8位地址0FFH通过P0口 输出,由于P2口保持不变,外部RAM的3FFFH 单元被选中,结果累加器A的内容传送到3FFFH单元 (写入)