beautypg.com

NEC PD754144 User Manual

Page 171

background image

CHAPTER 6 PERIPHERAL HARDWARE FUNCTION

171

User’s Manual U10676EJ3V0UM

In the following example, it is assumed that the output latch of the PTO2 pin is cleared to “0” and that

the output mode has been set. It is also assumed that the carrier clock is generated with the status of

the program in the preceding example (2).

; SEND_CARIER_DATA_PRO

SEL

MB15

; or CLR1 MBE

MOV

HL, #00H

; Sets pointer of BSB (bit sequential buffer) to L.

Uses H as bit data temporary saving area of BSB

; CG_Init & Send_1st_Data

MOV

XA, #48H

MOV

TMOD1, XA

; Sets modulo register (carrier clock output period)

MOV

XA, #00000000B ; Enables output of carrier clock, and initializes NRZB and

NRZ to 0

MOV

TC2, XA

SET1

NRZ

; Sets no return zero flag to “1”

MOV

XA, #01101100B ; Selects count pulse and 8-bit timer counter mode

MOV

TM1, XA

; Enables timer counter operation and issues timer start

command

; Send_1st_Data

CALL

!GET_DATA

; Gets data from BSB

CALL

!SEND_D_0

; Outputs carrier with data 0 and 1 and first low level output

period setting processing

SKE

H, #1H

; If bit 0 is 1, proceeds to second additional processing of low

level output period

BR

SEND_1_F

; If bit 0 is 0, outputs low level and transfers control to search

of next data

CALL

!SEND_D_1

; Second additional processing of low level output period.

Transfers control to data transmission processing of BSB

bit 0-F with PTO2 pin outputting low

; SEND_1_F:

;

Data transmission processing of bit 0-F of BSB

SET1

NRZB

; Sets NRZB to 1 so that carrier of data to be transmitted next

is output by IRQT1 generated next during low level output

period of preceding data

INCS

L

; Counts data being transmitted and ends data transmission

when L changes from 0FH to 0H

BR

LOOP_C_0

BR

SEND_END

LOOP_C_0: SKTCLR IRQT1

; Waits for low level output of preceding data (confirmation

of end of preceding data)

BR

LOOP_C_0

; Starts carrier output

CLR1

NRZB

; Clears NRZB to 0 in advance so that first low level output

is performed by IRQT1 generated next

CALL

!GET_DATA

CALL

!SEND_D_0

SKE

H, #1H

; If data obtained is 1, proceeds to second additional processing

of low level output period (SEND_D_1)

This manual is related to the following products: