;****************************************************************************************** ; PIC18F4550 Sample Program ; Project : ; Program Name : ; Programer : ; Create date : Version 1.0 H22.08.10 ; History : ; Laungage : MPASM ;****************************************************************************************** ; (1)Description ; OSC : 16MHz Crystal ;****************************************************************************************** LIST P=PIC18F4550,ST=OFF,R=DEC INCLUDE "P18F4550.inc" __CONFIG _CONFIG1L, _PLLDIV_4_1L & _CPUDIV_OSC1_PLL2_1L & _USBDIV_2_1L ; OSC 16MHz __CONFIG _CONFIG1H, _FOSC_HSPLL_HS_1H & _FCMEN_OFF_1H & _IESO_OFF_1H ; OSC 16MHz __CONFIG _CONFIG2L, _PWRT_OFF_2L & _BOR_OFF_2L & _BORV_0_2L & _VREGEN_OFF_2L __CONFIG _CONFIG2H, _WDT_OFF_2H & _WDTPS_1_2H __CONFIG _CONFIG3H, _MCLRE_ON_3H & _LPT1OSC_OFF_3H & _PBADEN_OFF_3H & _CCP2MX_OFF_3H __CONFIG _CONFIG4L, _STVREN_OFF_4L & _LVP_OFF_4L & _ICPRT_OFF_4L & _XINST_OFF_4L & _DEBUG_OFF_4L __CONFIG _CONFIG5L, _CP0_OFF_5L & _CP1_OFF_5L & _CP2_OFF_5L & _CP3_OFF_5L __CONFIG _CONFIG5H, _CPB_OFF_5H & _CPD_OFF_5H __CONFIG _CONFIG6L, _WRT0_OFF_6L & _WRT1_OFF_6L & _WRT2_OFF_6L & _WRT3_OFF_6L __CONFIG _CONFIG6H, _WRTB_OFF_6H & _WRTC_OFF_6H & _WRTD_OFF_6H __CONFIG _CONFIG7L, _EBTR0_OFF_7L & _EBTR1_OFF_7L & _EBTR2_OFF_7L & _EBTR3_OFF_7L __CONFIG _CONFIG7H, _EBTRB_OFF_7H ; LP0 EQU 00H LP1 EQU 01H LP2 EQU 02H LP3 EQU 03H LEDLST EQU 04H ORG 0h GOTO START ORG 8h GOTO START ORG 18h GOTO START START MOVLW B'00000001' MOVWF BSR MOVLW B'00000000' MOVWF TRISD MOVLW B'00000001' MOVWF LEDLST MAIN CALL MOVLED CALL WAT GOTO MAIN ;****************************************************************************************** ; Function Name : MOVLED ; Title : ; Input : ; Output : ;****************************************************************************************** MOVLED MOVF LEDLST,W MOVWF PORTD RLCF LEDLST ; MOVF LEDLST,W XORLW H'00' BTFSS STATUS,Z RETURN MOVLW B'00000000' MOVWF LEDLST RLCF LEDLST RETURN ;****************************************************************************************** ; Function Name : WAT ; Title : Wait About 1[s] ; Input : ; Output : ; Description : OSC 16MHz, 10Hz ; 16MHz/4(PLLDIV) => 4MHz => 96MHz-PLL/2 => 48MHz / 4(PIC) => 12MHz ; 10Hz : 12MHz / 10Hz => 1,200,000(Step) ; 1Hz : 12MHz / 1Hz => 12,000,000(Step) ;****************************************************************************************** WAT MOVLW H'78' ;120 1[s] ; MOVLW H'0C' ;12 0.1[s] MOVWF LP2 WAT2 MOVLW H'64' MOVWF LP1 WAT1 MOVLW H'64' MOVWF LP0 WAT0 NOP NOP NOP NOP NOP NOP NOP DECFSZ LP0 GOTO WAT0 DECFSZ LP1 GOTO WAT1 DECFSZ LP2 GOTO WAT2 RETURN END