用汇编程序控制八盏灯亮灭

环境

软件

  • uVision V4.02
  • ISIS Professional 7.8

实现效果

用汇编程序控制八盏灯亮灭_第1张图片

相关代码及资源

https://github.com/duganlx/STC

操作小记

   ORG 	0000H
		LJMP 	Main
		
		ORG 	00F0H
Main:   
		MOV     P2, #0F0H
Next:	MOV 	R7, #250 
Loop: 
		MOV 	R6, #240
		DJNZ 	R6, $
		MOV 	R6, #240
		DJNZ 	R6, $
		MOV 	R6, #240
		DJNZ 	R6, $
		MOV 	R6, #240
		DJNZ 	R6, $
		DJNZ 	R7, Loop  ;
		CPL 	P2.0 	; P 2 .0取反
		CPL 	P2.1 	; P 2 .0 
		CPL 	P2.2 	; P 2 .0 
		CPL 	P2.3 	; P 2 .0 
		CPL 	P2.4 	; P 2 .0 
		CPL 	P2.5 	; P 2 .0 
		CPL 	P2.6	; P 2 .0 
		CPL 	P2.7 	; P 2 .0
		SJMP 	Next
		END

说明

  • MOV R6, #240:将240这个值送入到R6寄存器中
  • CPL:将指定数据存储器中的每一位取逻辑反
  • DJNZ R6, $:首先R6 减1,然后看是否等于0;
    • 若不是0,则跳转到$当前行
    • 若为0,则顺序执行

你可能感兴趣的:(8051单片机)