CHAPTER 6 PERIPHERAL HARDWARE FUNCTION
171
User’s Manual U10676EJ3V0UM
<Program example>
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)