80C51单片机-实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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,如何编写程序。