51单片机汇编语言实验及代码

单片机汇编语言实验及代码

以下内容为本人实验课亲自编写且通过51单片机运行实现的实验代码,有错误或者改进的地方请批评指正。

实验一:开发环境的应用

(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
	 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引脚接

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值