blink.asm

来自「8051试验程序 基础教材」· 汇编 代码 · 共 81 行

ASM
81
字号
;-----------------------------------------------------------------------------
;	Copyright (C) 2005 Silicon Laboratories, Inc.
; 	All rights reserved.
;
;
; 	FILE NAME  	:	BLINK.ASM
; 	TARGET MCU	:	C8051F000
; 	DESCRIPTION	:	This program illustrates how to disable the watchdog timer,
;                 configure the Crossbar, configure a port and write to a port
;                 I/O pin.
;
;
; 	NOTES:
;
; 	(1) This note intentionally left blank.
;
;
;-----------------------------------------------------------------------------


;-----------------------------------------------------------------------------
; EQUATES
;-----------------------------------------------------------------------------

#include "ioC8051F000.h"	; Include register definition file.

GREEN_LED      EQU      P1.6    ; Port I/O pin connected to Green LED.	


;-----------------------------------------------------------------------------
; VARIABLES
;-----------------------------------------------------------------------------

;-----------------------------------------------------------------------------
; RESET and INTERRUPT VECTORS
;-----------------------------------------------------------------------------


           ; Reset Vector
           ASEGN CODE_SEG02:CODE,0
           ljmp Main                 ; Locate a jump to the start of code at
                                     ; the reset vector.

;-----------------------------------------------------------------------------
; CODE SEGMENT
;-----------------------------------------------------------------------------

          RSEG CODE_SEG:CODE        ; Switch to this code segment.
                                    ; Register bank 0 by default

 Main: 			; Disable the WDT. (IRQs not enabled at this point.)
					; If interrupts were enabled, we would need to explicitly disable
					; them so that the 2nd move to WDTCN occurs no more than four clock
					; cycles after the first move to WDTCN.
					mov	WDTCN, #0DEh
					mov	WDTCN, #0ADh

					; Enable the Port I/O Crossbar
					mov		XBR2, #40h

					; Set P1.6 (LED) as push-pull output.  All others default to open-drain.	
					orl 	PRT1CF,#01000000b

					; Initialize LED to OFF
					clr		GREEN_LED

					; Simple delay loop.
 Blink:			mov	R7, #03h			
 Loop0:			mov	R6, #00h
 Loop1:			mov	R5, #00h
					djnz	R5, $
					djnz	R6, Loop1
					djnz	R7, Loop0
					cpl	GREEN_LED			; Toggle LED.
					jmp	Blink


;-----------------------------------------------------------------------------
; End of file.

          END

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?