单片机实验三(1):中断处理,定时器

          ORG 0000H
		  LJMP START
		  ORG 000BH	 ;T0的中断矢量位置
		  LJMP T0INT
		  ORG 0100H
START: MOV TMOD,#1  ;工作方式为1
       MOV TH0,#4BH
	   MOV TL0,#0FDH
	   SETB EA      ;开放中断
	   SETB ET0
	   MOV R0,#20  ;设置循环次数
	   MOV A,#001H
	   MOV P1,A     ;输出给p1
	   SETB TR0				                
	   SJMP $	    ;等待中断
T0INT: MOV TH0,#4BH ;重新装载计数器的值
       MOV TL0,#0FDH
	   DJNZ R0,QUIT
	   MOV R0,#20
	   RL A
	   MOV P1,A
QUIT: RETI
      END


	      ORG 0000H
		  LJMP START
		  ORG 000BH	 ;T0的中断矢量位置
		  LJMP T0INT
		  ORG 0100H
		 
START: MOV TMOD ,#4;
       MOV TH0,#0FFH	  ;高8位
	   MOV TL0,#16H	  ;低5位  32-10=22
	   SETB EA      ;开放中断
	   SETB ET0
	   MOV R0,#10   ;设置循环次数
	   SETB TR0				                
	   SJMP $	    ;等待中断
T0INT:
	   CPL P1.0
	   MOV TH0,#255	  ;高8位
	   MOV TL0,#016H	  ;低5位  32-10=22
	   MOV R0,#10   ;设置循环次数
QUIT: RETI
     
END

‘’

  ORG 0000H
		  LJMP START
		  ORG 0003H	 ;INT0的中断矢量位置
		  LJMP T0INT
		  ORG 0013H	 ;INT1的中断矢量位置
		  LJMP T1INT
		  ORG 0100H
		 
START:
	   SETB EA      ;开放中断
	   SETB EX1
	   SETB EX0
	   SETB PX0
	   SETB IT0 ; 边沿触发
	   SETB IT1			                
	   SJMP $	    ;等待中断
T0INT:
       MOV P1,#0FFH
	   MOV A,#00H
	   MOV R5,#6
	   LOOP1:
	            MOV R4,#2000H
	  			LOOP3:
	      			MOV R6,#2000H
     			LOOP4:
	     			 DJNZ R6,LOOP4
		 			 DJNZ R4,LOOP3

             MOV P1,A
			 CPL A
	         DJNZ R5,LOOP1
	 LJMP QUIT
	  
T1INT:
       MOV A,#003H
	   MOV R0,#4
       LOOP2:    
	        
			 MOV R3,#2000H
	  			LOOP5:
	      			MOV R2,#2000H
     			LOOP6:
	     			 DJNZ R2,LOOP6
		 			 DJNZ R3,LOOP5
			 MOV P1,A	
	   	  	 RL A
			 RL A
	         DJNZ R0,LOOP2
       LJMP 	QUIT
QUIT: RETI
     
END

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值