本文へ移動
サポートシェアリングソリューション
OKWAVE Plus

このQ&Aは役に立ちましたか?

締切済み
※ ChatGPTを利用し、要約された質問です(原文:PIC16F18857 Timero割り込み)

PIC16F18857 Timero割り込み

2023/10/20 02:25

このQ&Aのポイント
  • PIC16F18857のTimer0の割り込みが掛からず困っています。
  • マニュアルに書かれている項目の設定はしているつもりですが、何かが抜けているように思います。
  • ご教授お願いします。
※ 以下は、質問の原文です

PIC16F18857 Timero割り込み

2019/05/20 13:27

PIC16F18857 Timer0の割り込みが掛からず困っています。
マニュアルに書かれている項目の設定はしているつもりですが
何かが抜けているように思います。
ご教授下さい。

回答 (2件中 1~2件目)

2019/05/21 22:01
回答No.2

肝心の、TMR0設定、割り込み処理が未記載です

_CSWEN_OFF ; The NOSC and NDIV bits cannot be changed by user software
BANKSELOSCCON1
MOVLWB'01100101'; <NOSC><NDIV>Clock 1Mhz
MOVWFOSCCON1
BANKSELOSCCON2
MOVLWB'01100101'; <COSC><CDIV>Clock READ ONLY
設定が矛盾しています

参考 TMR0_BLINK RA2
processor 16F18857
#include "P16F18857.INC"

__CONFIG _CONFIG1 , _FEXTOSC_OFF & _RSTOSC_HFINT32 & _CLKOUTEN_ON & _CSWEN_ON & _FCMEN_ON
__CONFIG _CONFIG2 , _MCLRE_ON & _PWRTE_OFF & _LPBOREN_OFF & _BOREN_ON & _BORV_LO & _ZCD_OFF & _PPS1WAY_OFF & _STVREN_ON & _DEBUG_OFF
__CONFIG _CONFIG3 , _WDTCPS_WDTCPS_31 & _WDTE_OFF & _WDTCWS_WDTCWS_7 & _WDTCCS_SC
__CONFIG _CONFIG4 , _WRT_OFF & _SCANE_not_available & _LVP_OFF
__CONFIG _CONFIG5 , _CP_OFF & _CPD_OFF

ORG 0
GOTO MAIN

ORG 4
BANKSEL PIE0
BTFSS PIE0,TMR0IE
BRA INT_R
BANKSEL PIR0
BTFSS PIR0,TMR0IF
BRA INT_R
BCF PIR0,TMR0IF
BANKSEL LATA
MOVLW 0x04 ; RA2 BLINK
XORWF LATA,F

INT_R

RETFIE

MAIN

BANKSEL OSCCON1
MOVLW 0x02 ; HFINT32 , 32MHz / 4 = 8MHz (FOSC)
IORWF OSCCON1,F

BANKSEL ANSELA ; RA2 OUTPUT
BCF ANSELA,ANSA2
BANKSEL TRISA
BCF TRISA,TRISA2

BANKSEL T0CON1
MOVLW 0x4C ; FOSC/4 , 1:4096
MOVWF T0CON1 ; 2MHz / 4096 / 256 = 1.9Hz
BSF T0CON0,T0EN ; TMR0 START
BANKSEL PIE0
BSF PIE0,TMR0IE ; Enables the TMR0 interrupt

BSF INTCON,GIE ; Enables all active interrupts

BRA $ ; STOP

END

このQ&Aは役に立ちましたか?

この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。

質問する
2019/05/20 19:55
回答No.1

具体的な環境、プログラムの提示がないと 答えようがありません。

補足

2019/05/21 13:37

以下のファイルです。
;*****************************************************************
; Filename: Shanp100 *
; Date: 2019.5.21 *
; File Version: 0.9 *
; Author: Hayashi Masahiro *
; Description: *
; *
;****************************************************************
;****************************************************************
; *
; Revision History: *
; *
;****************************************************************
;****************************************************************
; MAIN PROGRAM
;****************************************************************
LIST P=PIC16F18857

#INCLUDE "p16f18857.inc"


; CONFIG1
; __config 0x17EC
__CONFIG _CONFIG1, _FEXTOSC_OFF & _RSTOSC_HFINT1 & _CLKOUTEN_OFF & _CSWEN_OFF & _FCMEN_OFF
; CONFIG2
; __config 0x373F
__CONFIG _CONFIG2, _MCLRE_ON & _PWRTE_OFF & _LPBOREN_OFF & _BOREN_OFF & _BORV_LO & _ZCD_OFF & _PPS1WAY_OFF & _STVREN_ON
; CONFIG3
; __config 0x3AA
__CONFIG _CONFIG3, _WDTCPS_WDTCPS_10 & _WDTE_SWDTEN & _WDTCWS_WDTCWS_3 & _WDTCCS_LFINTOSC
; CONFIG4
; __config 0x2FFF
__CONFIG _CONFIG4, _WRT_OFF & _SCANE_not_available & _LVP_ON
; CONFIG5
; __config 0x3FFF
__CONFIG _CONFIG5, _CP_OFF & _CPD_OFF



;
;
;*******************************************************************************
; EQU
;*******************************************************************************
;
;==========================================================================
;
; Register Definitions
;
;==========================================================================
;
;------User setting -----------------------------------------------------
;
USER_FLG EQU 0030H
INT_FLG EQU 0031H
HOLD_FLG EQU 0032H
MOVE_FLG EQU 0033H
MANU_FLG EQU 0034H
MANUA_FLG EQU 0035H
MANUB_FLG EQU 0036H
MANUC_FLG EQU 0037H

Dummy_FLG EQU 0038H

INT_TMP EQU 0039H

PORTAA EQU 003AH
PORTA1 EQU 003BH
PORTA2 EQU 003CH
PORTA3 EQU 003DH

PORTBA EQU 003EH
PORTB1 EQU 003FH
PORTB2 EQU 0040H
PORTB3 EQU 0041H

PORTCA EQU 0042H
PORTC1 EQU 0043H
PORTC2 EQU 0044H
PORTC3 EQU 0045H


TIM_BUFF EQU 004AH ; unused
TIM_BUF1 EQU 004BH
TIM_BUF2 EQU 004CH
TIM_BUF3 EQU 004DH
TIM_BUF4 EQU 004EH
TIM_BUF5 EQU 004FH
TIM_BUF6 EQU 0050H
TIM_BUF7 EQU 0051H
TIM_BUF8 EQU 0052H
TIM_BUF9 EQU 0053H
TIM_BUFA EQU 0054H
TIM_BUFB EQU 0055H
TIM_BUFC EQU 0056H ; unused



Timer0_ON EQU B'00100000'
Timer0_OFF EQU B'00000000'

GIE_ON EQU B'11000000'
GIE_OFF EQU B'00000000'


SEC_2STEP EQU 5 ; 400msec Count
SEC_1 EQU 5 ; 1sec Count
SEC_30 EQU 5*30 ; 30sec Count



;
;
;------------------------------------------------------------------------
;
; Program Start
;
;------------------------------------------------------------------------

ORG 00H
GOTO INITAL ; Reset Vector

ORG 04H
GOTO INTERVAL ; Interrupt Vector

ORG 08H

MAIN_PROG CODE ; let linker place main program
INITAL

CLRW

MOVLW H'00'
MOVWF BSR ; Bank0 Select

CLRF USER_FLG
CLRF INT_FLG
CLRF HOLD_FLG
CLRF MOVE_FLG

CLRF MANU_FLG
CLRF MANUA_FLG
CLRF MANUB_FLG
CLRF MANUC_FLG
CLRF INT_TMP

CLRF PORTAA
CLRF PORTA1
CLRF PORTA2
CLRF PORTA3
CLRF PORTBA
CLRF PORTB1
CLRF PORTB2
CLRF PORTB3
CLRF PORTCA
CLRF PORTC1
CLRF PORTC2
CLRF PORTC3

CLRF TIM_BUFF
CLRF TIM_BUF1
CLRF TIM_BUF2
CLRF TIM_BUF3
CLRF TIM_BUF4
CLRF TIM_BUF5
CLRF TIM_BUF6
CLRF TIM_BUF7
CLRF TIM_BUF8
CLRF TIM_BUF9
CLRF TIM_BUFA
CLRF TIM_BUFB
CLRF TIM_BUFC

BANKSEL TRISA
MOVLW B'00111011' ; OOIIXOII
MOVWF TRISA ; PORTA
BANKSEL TRISB
MOVLW B'11111111' ; XXIIXXII
MOVWF TRISB ; PORTB
BANKSEL TRISC
MOVLW B'11111100' ; IIIIIXOO
MOVWF TRISC ; PORTC

BANKSEL OSCCON1
MOVLW B'01100101' ; <NOSC><NDIV>Clock 1Mhz
MOVWF OSCCON1
BANKSEL OSCCON2
MOVLW B'01100101' ; <COSC><CDIV>Clock

質問者

お礼をおくりました

さらに、この回答をベストアンサーに選びますか?

ベストアンサーを選ぶと質問が締切られます。
なおベストアンサーを選びなおすことはできません。