51单片机实验及代码

内容发布更新时间 : 2025/3/8 0:34:18星期一 下面是文章的全部内容请认真阅读。

.

单片机实验

实验一:开发环境的应用

(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 INC A INC R0

CJNE A,#10H,LOOP

SECOND:

MOV DPTR,#1050H MOV R1,#40H 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 ;50ms × 2 = 100ms MOV R2,#2 SETB EA SETB ET1 SETB TR1 SJMP $ INT:

DJNZ R2,NEXT CPL P1.0 MOV R2,#2 NEXT:

MOV TH1,#3CH 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

>>展开全文<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4 ceshi