80C51单片机-实验报告

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

实验一 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,如何编写程序。

相关文档
最新文档