beautypg.com

Program example of dtp/external interrupt function – FUJITSU F2MCTM-16LX User Manual

Page 351

background image

335

CHAPTER 17 DTP/EXTERNAL INTERRUPTS

17.6

Program Example of DTP/External Interrupt Function

This section gives a program example of the DTP/external interrupt function.

Program Example of DTP/External Interrupt Function

Processing specifications

An external interrupt is generated by detecting the rising edge of the pulse input to the INT8 pin.

Coding example

ICR07 EQU 0000B7H ;Interrupt control register ICR7

DDR5 EQU 000015H ;Port 5 direction register

ENIR1 EQU 0000CAH ;DTP/external interrupt enable

register 1

EIRR1 EQU 0000CBH ;DTP/external interrupt factor

register 1

ELVR1L EQU 0000CCH ;Detection level setting register 1:"L"

ELVR1H EQU 0000CDH ;Detection level setting register 1:"H"

ADER5 EQU 00000BH ;Port5 analog input enable register

ER8 EQU EIRR1:0 ;INT8 Interrupt request flag bit

EN8 EQU ENIR1:0 ;INT8 Interrupt request enable bit

;---------Main program-------------------------------------

CODE CSEG

START: ;Stack pointer (SP) already initialized

MOV I:ADER5,#00000000B ;Set analog input of Port5 to disable

MOV I:DDR5,#00000000B ;Set DDR5 to input port

AND CCR,#0BFH ;Interrupts disabled

MOV I:ICR07,#00H ;Interrupt level 0 (highest)

CLRB I:EN8 ;INT8 disabled using ENIR1

MOV I:ELVR0L,#00000010B;Rising edge selected for INT8

CLRB I:ER0 ;INT8 interrupt flag cleared using

;EIRR1

SETB I:EN8 ;INT8 interrupt request enabled using

ENIR1

MOV ILM,#07H ;Set ILM in PS to level 7

OR CCR,#40H ;Interrupts enabled

LOOP:

ÅE

Processing by user

ÅE

BRA LOOP

;---------Interrupt program-------------------------------------

WARI:

CLRB I:ER8 ;Interrupt request flag cleared