单片机实验
实验一:开发环境的应用
(1)将数据存储器的40H-4FH的内容复制成00H-0FH,并将40H-4FH的内容整体复制到外部数据存储器的1050H-105FH. (2)P1口接八只二极管,使二极管逐个循环点亮
ORG 0000H AJMP START ORG 0100H START:
MOV A,#00H
MOV R0,#40H
LOOP:
MOV @R0,A
SECOND:
MOV DPTR,#1050H
MOV R1,#40H INC A INC R0
CJNE A,#10H,LOOP
COPY:
MOV A,@R1
MOVX @DPTR,A INC DPTR INC R1
CJNE R1,#50H,COPY SJMP $ END
实验二:外部中断
(1)用单脉冲信号申请中断,在中断服务程序中对输出信号进行翻转(可通过P1.0接一二极管观察)
ORG 0000H LJMP START ORG 0003H LJMP INT ORG 0100H START:
SETB EX0
SETB PX0 SETB IT0 SETB EA SJMP $
INT:
CPL P1.0
RETI
END
(2)用单脉冲信号申请中断,要求对中断进行累加计数,并将计数结果显示在二极管上
ORG 0000H LJMP START ORG 0003H LJMP INT ORG 0100H START:
MOV A,#00H MOV P1,A SETB EX0 SETB PX0 SETB IT0 SETB EA SJMP $ INT:
MOV P1,A INC A RETI
END
实验三:定时器实验
(1)用定时器1的方式1定时,P1.0节发光二极管,使二极管每秒闪烁五次
ORG 0000H LJMP MAIN ORG 001BH LJMP INT ORG 0100H MAIN:
MOV TMOD,#10H MOV TH1,#3CH
MOV TL1,#0B0H MOV R2,#2 SETB EA SETB ET1 SETB TR1 SJMP $ INT:
DJNZ R2,NEXT CPL P1.0 MOV R2,#2 NEXT:
MOV TH1,#3CH
50ms × 2 = 100ms ; MOV TL1,#0B0H SETB TR1 RETI END
(2)用定时器1的方式2计数,T1引脚接单脉冲,用P1口接二极管显示计数。
ORG 0000H LJMP MAIN ORG 001BH LJMP LOOP ORG 0100H MAIN:
MOV TMOD,#60H MOV TH1,#00H MOV TL1,#00H SETB EA SETB ET1 SETB TF1 SETB TR1 SJMP $ LOOP:
MOV P1,TL1 LJMP LOOP RETI