반응형

LED 깜빡이기 1 강좌에서는 하나의 파일안에 메인소스와 딜레이 루틴을 같이 작성하였습니다. 이번에는 딜레이 루틴은 따로 빼내어 delay.inc 라는 파일에 저장하도록 하겠습니다.^^

 

 

;================================================
;
;       LED 깜빡이기 어셈 소스
;
;================================================

 ORG 0000H
 JMP START

 

 ORG 0035H

 

START:

 

 MOV P1,#0FFH ; LED 끄기
 CALL D_1S  ; 1초 지연
 MOV P1,#0H  ; LED 켜기
 CALL D_1S  ; 1초 지연
 JMP START

 

;================================================

 

$INCLUDE(DELAY.INC)

 END

 

;================================================

 

 

 

LED 깜빡이기 1 강좌와 비교했을 때, 달라진 곳은 마지막 빨간색으로 표시한 부분입니다. 딜레이 루틴을 DELAY.INC 파일에 저장하였으므로, 이 파일을 LED.ASM 소스에 포함하려면 $INCLUDE 명령어를 사용해 파일을 첨부하게 됩니다. 딜레이 루틴을 이렇게 파일로 작성하면 소스의 내용을 파악할 때 더욱 명확해 지는 장점이 있습니다. 복잡한 프로그램을 작성할 때 $INCLUDE 명령어의 힘을 볼 수 있을 것 같습니다.^^

 

어셈블러마다 명령어가 약간씩 다르기 때문에 만약 어셈블러가 IAR 이라면 $INCLUDE 대신 $를 사용해야 합니다. 여기서는 ASEM-51을 사용하므로 $INCLUDE 명령어를 기억하세요^^

 

 

소스는 파일로 첨부하였습니다.

==================================================

반응형

+ Recent posts