文档详情

51单片机实验报告范本

1824****985
实名认证
店铺
DOCX
14.59KB
约18页
文档ID:278272524
51单片机实验报告范本_第1页
1/18

51单片机实验报告 实验一数据传送实验 实验内容: 将8031内部RAM 40H—4FH单元置初值A0H—AFH,然后将片内RAM 40H—4FH单元中的数据传送到片内RAM 50H—5FH单元将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容 源程序清单: ORG 0000H RESET:AJMP MAIN ORG 003FH MAIN:MOV R0,#40H MOV R2,#10H MOV A,#0A0H A1:MOV @R0,A INC R0 INC A DJNZ R2, A1 MOV R1,#40H MOV R0, #50H MOV R2, #10H A3: MOV A, @R1 MOV @R0, A INC R0 INC R1 DJNZ R2, A3 LJMP 0000H 思考题: 1. 按照实验内容补全程序 2. CPU 对8031内部RAM存储器有哪些寻址方式? 直接寻址,立即寻址,寄存器寻址,寄存器间接寻址。

3. 执行程序后下列各单元的内容是什么? 内部RAM 40H~4FH ___0A0H~0AFH______________________ 内部RAM 50H~5FH___0A0H~0AFH_______________________ 实验二多字节十进制加法实验 实验内容: 多字节十进制加法加数首地址由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. 加数单元、被加数单元和结果单元的地址和内容为? 3130H,2120H,6688H 3. 如何检查双字节相加的最高位溢出? 看psw.3 的溢出标志位ov=1 则溢出 4. 改变加数和被加数,测试程序的执行结果 实验三数据排序实验 实验内容: 将内部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 XCH A, @R0 DEC R0 XCH A, @R0 INC R0 L1: MOV A, @R0 DJNZ R7, L2 JB 00H, QUE RET 思考题: 1. 按照实验内容补全程序。

2. 检查程序执行结果 5BH,64H,67H,68H,69H,6AH,6CH,6DH,6EH,6FH 3. 修改程序,按从大到小次序排序 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 JNC L1 SETB 00H XCH A, @R0 DEC R0 XCH A, @R0 INC R0 L1: MOV A, @R0 DJNZ R7, L2 JB 00H, QUE RET 实验四双字节乘法实验 实验内容: [(R3)(R2)*(R5)(R4)]→R0指出的四个单元。

将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容 源程序清单: ORG 0000H RESET: AJMP MAIN ORG 0100H MAIN; MOV SP, #60H MOV R2, #0FFH MOV R3, #0FH MOV R4, #0FFH MOV R5, #0FH MOV R0, #33H MOV R7, #04H ML0: MOV @R0, #00H DJNZ R7, ML1 ACALL M2 HERE: AJMP HERE ML1: DEC R0 AJMP ML0 M2: MOV A, R2 MOV B, R4 MUL A B ACALL ADDM MOV A, R2 MOV B, R5 MUL A B DEC R0 ACALL ADDM MOV A, R4 MOV B, R3 MUL A B DEC R0 DEC R0 ACALL ADDM MOV A, R5 MOV B, R3 MUL A B DEC R0 ACALL ADDM RET ADDM: ADD A, @R0 MOV @R0, A MOV A, B INC R0 ADDC A, @R0 MOV @R0, A INC R0 MOV A, @R0 ADDC A, #00H MOV @R0, A RET 思考题: 1. 程序结果存放在哪几个单元中? 33H~30H 2. 乘积为多少? 0FFE001H 实验五电子钟实验 实验内容: 熟悉单片机仿真调试方法。

将仿真头插入实验板的CPU插座中,再打开电源,输入程序进行调试程序运行时,按下S0键,蜂鸣器发出响声,两个数码管开始从零显示时间,定时器定时时间为一分钟,定时时间到,蜂鸣器再次发出响声,重新按下S0键,重复上述过程 源程序清单: ORG 0000H START: AJMP MAIN ORG 000BH AJMP PIT0 ORG 0100H MAIN: MOV SP,#60H MOV 50H,#00H MOV 51H,#00H ACALL DISPLAY MOV TMOD,#01H MOV TL0,#0B0H MOV TL1,#3CH ACALL KEY CLR P2.7 ACALL LONGDELAY SETB P2.7 SETB 00H SETB TR0 SETB EA SETB ET0 MOV 30H,#20 ML0: ACALL DISPLAY MOV C,00H JC ML0 CLR P2.7 ACALL LONGDELAY SETB P2.7 AJMP MAIN PIT0: PUSH PSW PUSH ACC SETB PSW.3 MOV TL0,#0B0H MOV TH0,#3CH MOV A,30H DEC 。

下载提示
相似文档
正为您匹配相似的精品文档