;****************************************************************************************** ; PIC24FJ64GA002 Sample Program ; Project : ; Program Name : ; Programer : ; Create date : Version 1.0 H21.04.05 ; History : ; Laungage : MPLAB ASM30 ;****************************************************************************************** ; (1)Description ; ;****************************************************************************************** .include "p24FJ64GA002.inc" config __CONFIG1 , JTAGEN_OFF & GCP_OFF & GWRP_OFF & BKBUG_OFF & COE_OFF & ICS_PGx1 & FWDTEN_OFF & WINDIS_OFF & FWPSA_PR32 & WDTPS_PS1 config __CONFIG2 , IESO_OFF & SOSCSEL_SOSC & WUTSEL_FST & FNOSC_FRC & FCKSM_CSDCMD & OSCIOFNC_OFF & IOL1WAY_OFF & I2C1SEL_PRI & POSCMOD_NONE .bss .global __reset .section data_area LED_lst: .space 2 ;****************************************************************************************** ; Function Name : main ; Title : ; Input : ; Output : ;****************************************************************************************** .text __reset: ;******************* ; 1.Initialize ;******************* ; (0)Initialize Stack Pointer MOV #__SP_init, W15 ;Initalize the Stack Pointer MOV #__SPLIM_init, W0 ;Initialize the Stack Pointer Limit Register MOV W0, SPLIM NOP ;Add NOP to follow SPLIM initialization ; (1)Set All Digital Port MOV.W #0xFFFF,W0 MOV.W W0,AD1PCFG ; (2)Define PortA MOV.W #0xFFFF,W0 MOV.W W0,TRISA ; (3)Define PortB MOV.W #0xFF00,W0 MOV.W W0,TRISB ; (4)Set Initial Value LEDlst MOV.W #0x0001,W0 MOV.W W0,LED_lst ; MOV.W LED_lst,W0 MOV.W W0,PORTB ;******************* ; 2.Program main ;******************* main_p: ; (1)Set furst loop value MOV.W #0x000A,W2 ; (2)Check push-sw main_chk_sw: ; 2-1)Count-up loop value MOV.W #0x0001,W3 INC.W W2,W3 MOV.W W3,W2 ; 2-2)Check loop-value (9