80C51单片机-实验报告

更新时间:2023-11-05 20:50:02 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

班级 姓名 学号 单片机实验报告

实验一 CPU片内(外)清零

1.CPU片内RAM清零

一、实验目的: 掌握MCS-51汇编语言的设计,了解单片机的寻址方式以及调试方法。 二、实验内容:

把单片机片内的30H~7FH单元清零。 三、实验框图:

四、实验步骤:

用连续或者单步的方式运行程序,检查30H-7FH执行前后的内容变化。 五、参考实验程序: 程序名称:PNQL.ASM ORG 0000H JMP MAIN ORG 0030H MAIN:

MOV R0,#30H ;30H送R0寄存器 CLR1:

MOV A,#00H ;00送累加器A

MOV @R0,A ;00 送到30H-7FH单元

INC R0 ;R0加1

CJNE R0,#7FH,CLR1 ;不到7F字节再清 WAIT: LJMP WAIT END

六、实验思考:

如果把30H-7FH的内容改为99H,如何修改程序。

班级 姓名 学号 单片机实验报告

2.CPU 片外RAM清零

一、实验目的:

掌握MCS-51汇编语言的设计,了解单片机的寻址方式以及调试方法。 二、实验内容:

把外部扩展的RAM的0000H-00FFH单元内容清零。 三、实验框图:

四、实验步骤:

用连续或者单步的方式运行程序,检查0000H-00FFH执行前后的内容变化。 五、参考实验程序: 程序名称:PWQL.ASM ORG 0000H MAIN:

MOV SP,#60H

MOV DPTR,#0000H ;0000H送DPTR寄存器 MOV R6,#0FFH ;FFH送R6寄存器(计数) CLR1:

MOV A,#00H ;00送累加器A

MOVX @DPTR,A ;00 送到0000H-00FFH单元 INC DPTR ;DPTR+1

DJNZ R6,CLR1 ;不到FF个字节再清 WAIT:

SJMP WAIT END

六、实验思考:

把1-10先对应存入片内0030H起始的单元内,然后再从片内取出,对应存入片外7FFFH起始的单元中去。

班级 姓名 学号 单片机实验报告

实验二 P1口亮灯实验

一、实验目的:

学习MCS-51单片机P1口的使用方法 二、实验内容: P1口做输出,接8个发光管,编写程序,使得8个二极管循环点亮。 三、实验线路:

四、实验步骤: P1口做I/O口,用连线把P1.0~P1.7分别接到电平显示检测口的1~8端。 五、参考实验程序: 程序名称:P1LDSY.ASM ORG 0000H

TIMER0 EQU 30H TIMER1 EQU 31H MAIN: PUSH ACC MOV A,#80H

MOV R0,#08H ;循环8次 MOV P1,#00H LOOP:

MOV P1,A

ACALL DELAY1s RR A

DJNZ R0,LOOP MOV P1,#0FFH ACALL DELAY1s MOV P1,#00H ACALL DELAY1s MOV P1,#0FFH ACALL DELAY1s POP ACC AJMP MAIN 延时子程序

DELAY: ;延时1ms PUSH TIMER0 PUSH TIMER1

班级 姓名 学号 单片机实验报告

DELAY1: MOV TIMER0,#230 ;循环一次需要4个机器周期,时间为4*1uS DELAY2: NOP ; 1个周期 NOP ; 1个周期 DJNZ TIMER0,DELAY2 ; 2个周期 DJNZ TIMER1,DELAY1 POP TIMER1 POP TIMER0 RET

DELAY1S: NOP ; 延时1S for 11.0592MHz PUSH TIMER1 MOV TIMER1,#250 LCALL DELAY LCALL DELAY LCALL DELAY

LCALL DELAY ;共延时4*250*1ms=1s POP TIMER1 RET END

六、实验思考:

如果把点亮时间改为4s,如何编写程序。

本文来源:https://www.bwwdw.com/article/1qr2.html

Top