77
8Bit Single Chip Microcontroller
DMC73C167
5.10.3 OSD Interrupt and Operation
Before starting the display, the user should write the first line of display information to
video RAM A and OSDVPA, and write the second line of display data to video RAM
B and OSDVPB. Then set the START bit (bit 7 of OSDCTL) to turn on the OSD
module.
The OSD interrupt will occur when the condition causing the interrupt sets the interrupt
flag (bit 1 of IOCTL1) to 1 and when the interrupt enable bit (bit 0 of IOCTL1) is set
to 1 regardless of the OSD START bit (P68, bit 7). The interrupt flag will be set if
one of the following cases occurs:
- Vsync falling
- End point of each line of the display is reached
If the TV scan line comes to the value of OSDVPA, the first line A (video RAM A)
will be displayed. At the end point of the line A display (the last dot of the dots
making up the 20th character of line A), an interrupt will occur, and LINCNT will be
incremented by one. Thus, the user can read the value "01h" from LINCNT (which
designates the end of the first line of display).
From that point, the second line (line B) will start to display according to OSDVPB
(V-position counter B) value. At the same time, the user can change video RAM A
and OSDVPA (V-position counter A) with the data to be displayed on the third line.
After the second line is displayed, another OSD interrupt will occur, and the user can
read value "02h" from LINCNT. Then the display of the third line (the contents of
video RAM A) will commence with the new data input from the first interrupt routine.
As before, during this interrupt routine the user should write the proper data for video
RAM B and OSDVPB with the data to be displayed on the fourth line of the display.
A maximum of 12 lines can be displayed on the screen using this control method.
Regardless of the last video RAM used (A or B), after Vsync the first line of display
data will come from video RAM A and OSDVPA.
To display only one line, write "FFh" to OSDVPB. As before, when the first line is
displayed the OSD interrupt will occur, and the LINCNT counter will have the value
"01h". No action is needed for that interrupt if you don't want to change the display
data.
££á££×££