单片机实验一:数字量输入输出实验

实验难点:

把P1口当输入(第二个实验) ,延时循环

1.流水灯:

	  ORG 0000H
	  LJMP START
	  ORG 0100H
	  MOV P1,#0FFH
	  MOV A,#00H
START:
	  MOV R1,#0FFH   ;延时循环
	      LOOP1:
	      MOV R2,#0FFH
     	  LOOP2:
	     		DJNZ R2,LOOP2
		 	    DJNZ R1,LOOP1

      MOV P1,A
      CPL A     ;取反
	  LJMP START
END

实现从同一方向不停开始的流水灯

          ORG 0100H
		  MOV A,#001H
	INIT:	 
          MOV P1,A
		  RL A                ;循环左移
	        
          MOV R0,#0FFH	      ;二重循环	LOOP1,LOOP2,延时
		  LOOP1:
				MOV R1,#0FFH
		  LOOP2:
			    DJNZ R1,LOOP2
				DJNZ R0,LOOP1

	LJMP INIT
	END

2.用P0高四位实现输入,用开关控制

     ORG 0000H
     LJMP INIT
     ORG 0100H
INIT:
	  MOV P1,#00FH	 ;P0-P3初始要置1,这样P0-P3才能读入开关状态
	  MOV A,P1
	  SWAP A         ;高低半字节交换
	  MOV P1,A
 
	  MOV R0,#0FFH   ;延时
	  LOOP1:
	      MOV R1,#0FFH
      LOOP2:
	      DJNZ R1,LOOP2
		  DJNZ R0,LOOP1
	  LJMP INIT
END

     ORG 0000H
     LJMP INIT
     ORG 0100H
INIT:
	  MOV P0,#0F0H	 ;P4-P7初始要置1,这样P4-P7才能读入开关状态
	  MOV A,P0
	  SWAP A
	  MOV P0,A

	  MOV R0,#2000H  ;延时的循环
	  LOOP1:
	      MOV R1,#2000H
      LOOP2:
	      DJNZ R1,LOOP2
		  DJNZ R0,LOOP1
	  LJMP INIT
END

3.流水灯实现 从左往右,又从右往左

    ORG 0100H
	INIT:	 
	      MOV A,#128
          ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;从右往左
          MOV R0,#008H
		  LOOP0:
			 MOV P1,A
			 RR A
				  MOV R2,#2000H	      ;二重循环,延时
			      LOOP2:
					   MOV R3,#2000H
			      LOOP3:
				       DJNZ R3,LOOP3
				   	   DJNZ R2,LOOP2
		     DJNZ R0,LOOP0
          ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;从左往右
		  MOV R0,#008H
		  MOV A,#1
		  LOOP1:
		     MOV P1,A
			 RL A
				  MOV R2,#2000H	      ;二重循环,延时
			      LOOP4:
					   MOV R3,#2000H
			      LOOP5:
				       DJNZ R3,LOOP5
				   	   DJNZ R2,LOOP4
		     DJNZ R0,LOOP1

		  MOV R2,#2000H	      ;二重循环,延时,衔接部分
			      LOOP6:
					   MOV R3,#2000H
			      LOOP7:
				       DJNZ R3,LOOP7
				   	   DJNZ R2,LOOP6
	LJMP INIT
    END

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值