초보의 아웅다웅 설계하기 358

9. 딜레이 설정

4MHz X-TAL 사용시 딜레이 타임 설정 딜레이 설정시 명령어당 사이클 수를 계산하여 설정해주어야 합니다. DELAY_200US MOVLW .49 MOVWF COUNT1 GOTO D_US DELAY_400US MOVLW .99 MOVWF COUNT1 GOTO D_US DELAY_500US MOVLW .124 MOVWF COUNT1 GOTO D_US DELAY_550US MOVLW .136 MOVWF COUNT1 GOTO D_US DELAY_600US MOVLW .150 MOVWF COUNT1 GOTO D_US DELAY_800US MOVLW .200 MOVWF COUNT1 GOTO D_US DELAY_1MS MOVLW .250 MOVWF COUNT1 GOTO D_US D_US CLRWDT DECFSZ..

8. TMR0 설정하기.

내부 TMR0 설정하기 START_TMR0_2US MOVLW B'00000000' ;TMR0 PRE(1:2)타이머0를2분주(4MHz=0.25US,*4CLK,*2분주=2US) GOTO START_TMR0_INIT START_TMR0_4US MOVLW B'00000001' ;TMR0 PRE(1:4)타이머0를4분주(4MHz=0.25US,*4CLK,*4분주=4US) GOTO START_TMR0_INIT START_TMR0_8US MOVLW B'00000010' ;TMR0 PRE(1:8)타이머0를8분주(4MHz=0.25US,*4CLK,*8분주=8US) GOTO START_TMR0_INIT START_TMR0_16US MOVLW B'00000011' ;TMR0 PRE(1:16)타이머0를16분주(4MHz=0.25US..

7. 내부 EEPROM 사용하기

EEPROM_WR CLRWDT SELBANK0 MOVF DATA_EE_ADDR, W;데이터를 넣을주소값 SELBANK2 MOVWF EEADR SELBANK0 MOVF DATA_EE_DATA, W;;넣을데이터값 SELBANK2 MOVWF EEDAT SELBANK3 BCF EECON1, EEPGD ;Point to DATA memory BSF EECON1, WREN;쓰기 허용 BCF INTCON, GIE ;Disable INTs. BTFSC INTCON, GIE ;SEE AN576 GOTO $-2 MOVLW 0x55 MOVWF EECON2 MOVLW 0xAA MOVWF EECON2 BSF EECON1, WR;쓰기 시작 BTFSC EECON1, WR;쓰기가 다끝났는지 확인. GOTO $-1 ;현재 어드레스에서..