-单片机实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一数据传送实验

实验内容:

将8031内部RAM 40H—4FH单元置初值A0H—AFH,然后将片内RAM 40H—4FH单元中的数据传送到片外RAM 9800H—980FH单元,再从片外RAM 9800H—980FH单元中的数据传送到片内RAM 50H—5FH单元。将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。

源程序清单:

ORG 0000H

RESET: SJMP MAIN

ORG 003FH

MAIN: MOV R1,#40H

MOV R2,#10H

MOV A, #0A0H

A1: MOV @R0,A

INC R0

INC A

DJNZ R2,A1

MOV R0, #40H

MOV DPTR, #9800H

MOV R2, #10H

A2: MOV A, @R0

MOVX @DPTR, A

INC R0

INC DPTR

DJNZ R2,A2

MOV R0, #50H

MOV DPTR, #9800H

MOV R2, #10H

A3: MOVX A, @DPTR

MOV @R0, A

INC R

INC DPTR

DJNZ R2, A3

LJMP 0000H

END

思考题:

1. 按照实验内容补全程序。

2. CPU 对8031内部RAM存储器和外部RAM存储器各有哪些寻址方式?

内部RAM存储器寻址方式:直接寻址方式

寄存器间接寻址

基址变址寄存器间接寻址

外部RAM存储器寻址方式:寄存器间接寻址

基址变址寄存器间接寻址

3. 执行程序后下列各单元的内容是什么?

内部RAM 40H~4FH _________________________ 内部RAM 50H~5FH__________________________ 外部RAM 9800H~980FH______________________ 截图:

实验二多字节十进制加法实验

实验内容:

多字节十进制加法。加数首地址由R0 指出,被加数和结果的存储单元首地址由R1指出,字节数由R2 指出。将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。

源程序清单:ORG 0000H

RESET: AJMP MAIN

ORG 0100H

MAIN: MOV SP, #60H

MOV R0, #31H

MOV @R0, #22H

DEC R0

MOV @R0, #33H

MOV R1, #21H

MOV @R1, #44H

DEC R1

MOV @R1, #55H

MOV R2, #02H

ACALL DACN

HERE: AJMP HERE

DACN: CLR C

DAL: MOV A, @R0

ADDC A, @R1

DA A

MOV @R1, A

INC R0

INC R1

DJNZ R2,DAL

CLR A

MOV ACC.0 , C

RET

思考题:

1. 按照实验内容补全程序。

2. 加数单元、被加数单元和结果单元的地址和内容为?

加数单元地址是(30H)=33H,(31H)=22H;

被加数单元的地址是(20H)=55H,(21H)=44H;

结果的地址是(20H)=88H,(21H)=66H;

3. 如何检查双字节相加的最高位溢出?

无符号数运算时,判断运算结果是否超出范围(0~255H),看进位标志位Cy。若Cy=1,表示结果超出255,若Cy=0,表示运算结果在范围内;

带符号数运算时,判断运算结果是否超出范围(-128~+127),看溢出标志位OV,若OV=1,表示溢出,若OV=0,表示无溢出。

4. 改变加数和被加数,测试程序的执行结果。

改变加数被加数后源代码:

ORG 0000H

RESET: AJMP MAIN

ORG 0100H

MAIN: MOV SP, #60H

MOV R0, #31H

MOV @R0, #22H

DEC R0

MOV @R0, #33H

MOV R1, #21H

MOV @R1, #55H

DEC R1

MOV @R1, #66H

MOV R2, #02H

ACALL DACN

HERE: AJMP HERE

DACN: CLR C

DAL: MOV A, @R0

ADDC A, @R1

DA A

MOV @R1, A

INC R0

INC R1

DJNZ R2,DAL

CLR A

MOV ACC.0 , C

RET

加数单元地址:31H30H 内容:2233

被加数单元地址:21H20H 内容:5566

结果单元地址:21H20H 内容:7799

截图:

实验三数据排序实验

实验内容:

将内部RAM 50H—59H中的数据按从小到大的次序排列。

将程序经模拟调试通过后,运行程序,检查相应的存储单元的数据是否为排序状态。

源程序清单:

ORG 0000H

RESET: AJMP MAIN

ORG 0100H

MAIN: MOV SP, #60H

MOV R0, #50H

MOV @R0, #6FH

INC R0

MOV @R0, #6EH

INC R0

MOV @R0, #6AH

INC R0

MOV @R0, #6CH

INC R0

MOV @R0, #6DH

INC R0

MOV @R0, #5BH

INC R0

MOV @R0, #67H

INC R0

MOV @R0, #69H

INC R0

MOV @R0, #68H

INC R0

MOV @R0, #64H

ACALL QUE

HERE: AJMP HERE

QUE: CLR 00H

MOV R7, 09H

MOV R0, #50H

MOV A , @R0

L2: INC R0

MOV R2, A

SUBB A, @R0

MOV A, R2

JC L1

SETB 00H

相关文档
最新文档