MC9S12DP256B with controleur LCD Epson S1D13705

Started by ludo...@... April 8, 2005
hello,

i am working with the MC9S12DP256B and i would like to know if it\'s possible to connect it with tle LCD controler S1D13705.
I wonder it becaus the LCD Controler generate a wait signal . because of this signal I cannot read or write the internal contents of register to the S1D13705. Thanks
ludo




hi:

i had some troubles (opportunities to learn) interfacing to an lcd.
you need to ensure that the data is being held long enough for the
lcd to read it. note the routine "mini_time" is called after port
bits have changed to allow the lcd time to read it. "lcd_busy is the
routine that waits for the busy flag to go away regards,

ed lcd_init ldaa #$38 ;initialize the
function register 8 bits, 2lines, 5X7 character
bsr write_func
jsr lcd_busy ;timer
ldaa #$0c ;display on, no
underline, no blink
bsr write_func
jsr lcd_busy
ldaa #$01 ;clear any display
data
bsr write_func
jsr lcd_busy
ldaa #$02 ;return to upper
left corner
bsr write_func
jsr lcd_busy
rts
mini_time nop ;quite a bit of time
is used in the bsr/rts
nop ;this timer is
needed for 24 mhz operation
rts

write_func bclr portq,%00000001 ;select function
register
bsr mini_time
bra lcd_write ;write the data from
a to the register

read_func bclr portq,%00000001 ;select function
register
bsr mini_time
bra lcd_read ;return function
register data

write_data bset portq,%00000001 ;select data register
bsr mini_time
bra lcd_write ;write the data from
a to data register

read_data bset portq,%00000001 ;
bsr mini_time
bra lcd_read ;return data register

lcd_write staa portt ;store data at port
prior to setting direction
movb #$ff,ddrt ;set port as outputs
bsr mini_time
bclr portq,%00000010 ;write operation
bra lcd_cycle ;do the write

lcd_read clr ddrt ;port is for read
bset portq,%00000010 ;read operation
;ports are in correct state the timing on portq is 300ns high
lcd_cycle bsr mini_time
bset portq,%00000100 ;set the eclock to
start operation
nop
nop
nop
nop
ldaa portt ;don't care if read
or write
bclr portq,%00000100 ;return line to idle
state
nop
nop ;short delay for
data read
bsr mini_time
rts

lcd_busy bsr read_func ;fetch the function
register data
lsla ;shift busy flag to
carry bit
bcs lcd_busy ;still executing
last instruction
rts

--- In 68HC12@68HC..., ludo2112@y... wrote:
> hello,
>
> i am working with the MC9S12DP256B and i would like to know if
it\'s possible to connect it with tle LCD controler S1D13705.
> I wonder it becaus the LCD Controler generate a wait signal .
because of this signal I cannot read or write the internal contents
of register to the S1D13705.
>
>
> Thanks
> ludo




sorry about the word wrap here it is without lcd_init ldaa #$38 ;initialize the
function register 8 bits, 2lines, 5X7 character
bsr write_func
jsr lcd_busy ;timer
ldaa #$0c ;display on, no
underline, no blink
bsr write_func
jsr lcd_busy
ldaa #$01 ;clear any display
data
bsr write_func
jsr lcd_busy
ldaa #$02 ;return to upper
left corner
bsr write_func
jsr lcd_busy
rts
mini_time nop ;quite a bit of time
is used in the bsr/rts
nop ;this timer is
needed for 24 mhz operation
rts

write_func bclr portq,%00000001 ;select function
register
bsr mini_time
bra lcd_write ;write the data from
a to the register

read_func bclr portq,%00000001 ;select function
register
bsr mini_time
bra lcd_read ;return function
register data

write_data bset portq,%00000001 ;select data register
bsr mini_time
bra lcd_write ;write the data from
a to data register

read_data bset portq,%00000001 ;
bsr mini_time
bra lcd_read ;return data register

lcd_write staa portt ;store data at port
prior to setting direction
movb #$ff,ddrt ;set port as outputs
bsr mini_time
bclr portq,%00000010 ;write operation
bra lcd_cycle ;do the write

lcd_read clr ddrt ;port is for read
bset portq,%00000010 ;read operation
;ports are in correct state the timing on portq is 300ns high
lcd_cycle bsr mini_time
bset portq,%00000100 ;set the eclock to
start operation
nop
nop
nop
nop
ldaa portt ;don't care if read
or write
bclr portq,%00000100 ;return line to idle
state
nop
nop ;short delay for
data read
bsr mini_time
rts

lcd_busy bsr read_func ;fetch the function
register data
lsla ;shift busy flag to
carry bit
bcs lcd_busy ;still executing
last instruction
rts
--- In 68HC12@68HC..., "eeetee2000" <admin@e...> wrote:
>
> hi:
>
> i had some troubles (opportunities to learn) interfacing to an
lcd.
> you need to ensure that the data is being held long enough for the
> lcd to read it. note the routine "mini_time" is called after port
> bits have changed to allow the lcd time to read it. "lcd_busy is
the
> routine that waits for the busy flag to go away > regards,
>
> ed > lcd_init ldaa #$38 ;initialize the
> function register 8 bits, 2lines, 5X7 character
> bsr write_func
> jsr lcd_busy ;timer
> ldaa #$0c ;display on, no
> underline, no blink
> bsr write_func
> jsr lcd_busy
> ldaa #$01 ;clear any display
> data
> bsr write_func
> jsr lcd_busy
> ldaa #$02 ;return to upper
> left corner
> bsr write_func
> jsr lcd_busy
> rts >
> mini_time nop ;quite a bit of time
> is used in the bsr/rts
> nop ;this timer is
> needed for 24 mhz operation
> rts
>
> write_func bclr portq,%00000001 ;select function
> register
> bsr mini_time
> bra lcd_write ;write the data from
> a to the register
>
> read_func bclr portq,%00000001 ;select function
> register
> bsr mini_time
> bra lcd_read ;return function
> register data
>
> write_data bset portq,%00000001 ;select data register
> bsr mini_time
> bra lcd_write ;write the data from
> a to data register
>
> read_data bset portq,%00000001 ;
> bsr mini_time
> bra lcd_read ;return data register
>
> lcd_write staa portt ;store data at port
> prior to setting direction
> movb #$ff,ddrt ;set port as outputs
> bsr mini_time
> bclr portq,%00000010 ;write operation
> bra lcd_cycle ;do the write
>
> lcd_read clr ddrt ;port is for read
> bset portq,%00000010 ;read operation
> ;ports are in correct state the timing on portq is 300ns high
> lcd_cycle bsr mini_time
> bset portq,%00000100 ;set the eclock to
> start operation
> nop
> nop
> nop
> nop
> ldaa portt ;don't care if read
> or write
> bclr portq,%00000100 ;return line to idle
> state
> nop
> nop ;short delay for
> data read
> bsr mini_time
> rts
>
> lcd_busy bsr read_func ;fetch the function
> register data
> lsla ;shift busy flag to
> carry bit
> bcs lcd_busy ;still executing
> last instruction
> rts >
>
> --- In 68HC12@68HC..., ludo2112@y... wrote:
> > hello,
> >
> > i am working with the MC9S12DP256B and i would like to know if
> it\'s possible to connect it with tle LCD controler S1D13705.
> > I wonder it becaus the LCD Controler generate a wait signal .
> because of this signal I cannot read or write the internal
contents
> of register to the S1D13705.
> >
> >
> > Thanks
> > ludo



hello,
thanks for program.

Only one question: Whre do you connect the Wait signal? In what Port if the MC9S12DP256B. I have connected my wait signal in the PJ0.

When i am trying to read the register in my controller LCD Epson S1D13705, the controller send the wait signal but the data isn't on the bus.

Thanks
Ludo
>
>hi:
>
>i had some troubles (opportunities to learn) interfacing to an lcd.
>you need to ensure that the data is being held long enough for the
>lcd to read it. note the routine "mini_time" is called after port
>bits have changed to allow the lcd time to read it. "lcd_busy is the
>routine that waits for the busy flag to go away >regards,
>
>ed >lcd_init ldaa #$38 ;initialize the
>function register 8 bits, 2lines, 5X7 character
>bsr write_func
>jsr lcd_busy ;timer
>ldaa #$0c ;display on, no
>underline, no blink
>bsr write_func
>jsr lcd_busy
>ldaa #$01 ;clear any display
>data
>bsr write_func
>jsr lcd_busy
>ldaa #$02 ;return to upper
>left corner
>bsr write_func
>jsr lcd_busy
>rts >
>mini_time nop ;quite a bit of time
>is used in the bsr/rts
>nop ;this timer is
>needed for 24 mhz operation
>rts
>
>write_func bclr portq,%00000001 ;select function
>register
>bsr mini_time
>bra lcd_write ;write the data from
>a to the register
>
>read_func bclr portq,%00000001 ;select function
>register
>bsr mini_time
>bra lcd_read ;return function
>register data
>
>write_data bset portq,%00000001 ;select data register
>bsr mini_time
>bra lcd_write ;write the data from
>a to data register
>
>read_data bset portq,%00000001 ;
>bsr mini_time
>bra lcd_read ;return data register
>
>lcd_write staa portt ;store data at port
>prior to setting direction
>movb #$ff,ddrt ;set port as outputs
>bsr mini_time
>bclr portq,%00000010 ;write operation
>bra lcd_cycle ;do the write
>
>lcd_read clr ddrt ;port is for read
>bset portq,%00000010 ;read operation
>;ports are in correct state the timing on portq is 300ns high
>lcd_cycle bsr mini_time
>bset portq,%00000100 ;set the eclock to
>start operation
>nop
>nop
>nop
>nop
>ldaa portt ;don't care if read
>or write
>bclr portq,%00000100 ;return line to idle
>state
>nop
>nop ;short delay for
>data read
>bsr mini_time
>rts
>
>lcd_busy bsr read_func ;fetch the function
>register data
>lsla ;shift busy flag to
>carry bit
>bcs lcd_busy ;still executing
>last instruction
>rts >
>
>--- In 68HC12@68HC..., ludo2112@y... wrote:
>> hello,
>>
>> i am working with the MC9S12DP256B and i would like to know if
>it\'s possible to connect it with tle LCD controler S1D13705.
>> I wonder it becaus the LCD Controler generate a wait signal .
>because of this signal I cannot read or write the internal contents
>of register to the S1D13705.
>>
>>
>> Thanks
>> ludo > Re: MC9S12DP256B with controleur LCD Epson S1D13705 sorry about the word wrap here it is without lcd_init ldaa #$38 ;initialize t...
>




hi:

i'm not familiar with the exact part you are using. most lcd
displays have a register that has a flag bit in it. i'll see if i
can find the docs on the epson part and get back later ed --- In 68HC12@68HC..., ludo2112@y... wrote:
> hello,
> thanks for program.
>
> Only one question: Whre do you connect the Wait signal? In what
Port if the MC9S12DP256B. I have connected my wait signal in the PJ0.
>
> When i am trying to read the register in my controller LCD Epson
S1D13705, the controller send the wait signal but the data isn't on
the bus.
>
> Thanks
> Ludo
> >
> >hi:
> >
> >i had some troubles (opportunities to learn) interfacing to an
lcd.
> >you need to ensure that the data is being held long enough for
the
> >lcd to read it. note the routine "mini_time" is called after
port
> >bits have changed to allow the lcd time to read it. "lcd_busy is
the
> >routine that waits for the busy flag to go away
> >
> >
> >regards,
> >
> >ed
> >
> >
> >lcd_init ldaa #$38 ;initialize the
> >function register 8 bits, 2lines, 5X7 character
> >bsr write_func
> >jsr lcd_busy ;timer
> >ldaa #$0c ;display on, no
> >underline, no blink
> >bsr write_func
> >jsr lcd_busy
> >ldaa #$01 ;clear any display
> >data
> >bsr write_func
> >jsr lcd_busy
> >ldaa #$02 ;return to upper
> >left corner
> >bsr write_func
> >jsr lcd_busy
> >rts
> >
> >
> >
> >mini_time nop ;quite a bit of time
> >is used in the bsr/rts
> >nop ;this timer is
> >needed for 24 mhz operation
> >rts
> >
> >write_func bclr portq,%00000001 ;select function
> >register
> >bsr mini_time
> >bra lcd_write ;write the data from
> >a to the register
> >
> >read_func bclr portq,%00000001 ;select function
> >register
> >bsr mini_time
> >bra lcd_read ;return function
> >register data
> >
> >write_data bset portq,%00000001 ;select data register
> >bsr mini_time
> >bra lcd_write ;write the data from
> >a to data register
> >
> >read_data bset portq,%00000001 ;
> >bsr mini_time
> >bra lcd_read ;return data register
> >
> >lcd_write staa portt ;store data at port
> >prior to setting direction
> >movb #$ff,ddrt ;set port as outputs
> >bsr mini_time
> >bclr portq,%00000010 ;write operation
> >bra lcd_cycle ;do the write
> >
> >lcd_read clr ddrt ;port is for read
> >bset portq,%00000010 ;read operation
> >;ports are in correct state the timing on portq is 300ns high
> >lcd_cycle bsr mini_time
> >bset portq,%00000100 ;set the eclock to
> >start operation
> >nop
> >nop
> >nop
> >nop
> >ldaa portt ;don't care if read
> >or write
> >bclr portq,%00000100 ;return line to idle
> >state
> >nop
> >nop ;short delay for
> >data read
> >bsr mini_time
> >rts
> >
> >lcd_busy bsr read_func ;fetch the function
> >register data
> >lsla ;shift busy flag to
> >carry bit
> >bcs lcd_busy ;still executing
> >last instruction
> >rts
> >
> >
> >
> >
> >--- In 68HC12@68HC..., ludo2112@y... wrote:
> >> hello,
> >>
> >> i am working with the MC9S12DP256B and i would like to know
if
> >it\'s possible to connect it with tle LCD controler S1D13705.
> >> I wonder it becaus the LCD Controler generate a wait signal .
> >because of this signal I cannot read or write the internal
contents
> >of register to the S1D13705.
> >>
> >>
> >> Thanks
> >> ludo
> >
> >
> >
> >
> >
> > Re: MC9S12DP256B with controleur LCD Epson S1D13705
sorry about the word wrap here it is without lcd_init ldaa #$38
;initialize t...
> >




i was referring to lcd character displays.

here is a starting point for you!

www.erd.epson.com/vdc/pdf/1375/x27ag011.pdf ed

--- In 68HC12@68HC..., "eeetee2000" <admin@e...> wrote:
>
> hi:
>
> i'm not familiar with the exact part you are using. most lcd
> displays have a register that has a flag bit in it. i'll see if i
> can find the docs on the epson part and get back later > ed > --- In 68HC12@68HC..., ludo2112@y... wrote:
> > hello,
> > thanks for program.
> >
> > Only one question: Whre do you connect the Wait signal? In what
> Port if the MC9S12DP256B. I have connected my wait signal in the
PJ0.
> >
> > When i am trying to read the register in my controller LCD Epson
> S1D13705, the controller send the wait signal but the data isn't
on
> the bus.
> >
> > Thanks
> > Ludo
> > >
> > >hi:
> > >
> > >i had some troubles (opportunities to learn) interfacing to an
> lcd.
> > >you need to ensure that the data is being held long enough for
> the
> > >lcd to read it. note the routine "mini_time" is called after
> port
> > >bits have changed to allow the lcd time to read it. "lcd_busy
is
> the
> > >routine that waits for the busy flag to go away
> > >
> > >
> > >regards,
> > >
> > >ed
> > >
> > >
> > >lcd_init ldaa #$38 ;initialize the
> > >function register 8 bits, 2lines, 5X7 character
> > >bsr write_func
> > >jsr lcd_busy ;timer
> > >ldaa #$0c ;display on, no
> > >underline, no blink
> > >bsr write_func
> > >jsr lcd_busy
> > >ldaa #$01 ;clear any display
> > >data
> > >bsr write_func
> > >jsr lcd_busy
> > >ldaa #$02 ;return to upper
> > >left corner
> > >bsr write_func
> > >jsr lcd_busy
> > >rts
> > >
> > >
> > >
> > >mini_time nop ;quite a bit of time
> > >is used in the bsr/rts
> > >nop ;this timer is
> > >needed for 24 mhz operation
> > >rts
> > >
> > >write_func bclr portq,%00000001 ;select function
> > >register
> > >bsr mini_time
> > >bra lcd_write ;write the data from
> > >a to the register
> > >
> > >read_func bclr portq,%00000001 ;select function
> > >register
> > >bsr mini_time
> > >bra lcd_read ;return function
> > >register data
> > >
> > >write_data bset portq,%00000001 ;select data register
> > >bsr mini_time
> > >bra lcd_write ;write the data from
> > >a to data register
> > >
> > >read_data bset portq,%00000001 ;
> > >bsr mini_time
> > >bra lcd_read ;return data register
> > >
> > >lcd_write staa portt ;store data at port
> > >prior to setting direction
> > >movb #$ff,ddrt ;set port as outputs
> > >bsr mini_time
> > >bclr portq,%00000010 ;write operation
> > >bra lcd_cycle ;do the write
> > >
> > >lcd_read clr ddrt ;port is for read
> > >bset portq,%00000010 ;read operation
> > >;ports are in correct state the timing on portq is 300ns high
> > >lcd_cycle bsr mini_time
> > >bset portq,%00000100 ;set the eclock to
> > >start operation
> > >nop
> > >nop
> > >nop
> > >nop
> > >ldaa portt ;don't care if read
> > >or write
> > >bclr portq,%00000100 ;return line to idle
> > >state
> > >nop
> > >nop ;short delay for
> > >data read
> > >bsr mini_time
> > >rts
> > >
> > >lcd_busy bsr read_func ;fetch the function
> > >register data
> > >lsla ;shift busy flag to
> > >carry bit
> > >bcs lcd_busy ;still executing
> > >last instruction
> > >rts
> > >
> > >
> > >
> > >
> > >--- In 68HC12@68HC..., ludo2112@y... wrote:
> > >> hello,
> > >>
> > >> i am working with the MC9S12DP256B and i would like to know
> if
> > >it\'s possible to connect it with tle LCD controler S1D13705.
> > >> I wonder it becaus the LCD Controler generate a wait
signal .
> > >because of this signal I cannot read or write the internal
> contents
> > >of register to the S1D13705.
> > >>
> > >>
> > >> Thanks
> > >> ludo
> > >
> > >
> > >
> > >
> > >
> > > Re: MC9S12DP256B with controleur LCD Epson S1D13705
> sorry about the word wrap here it is without lcd_init ldaa #$38
> ;initialize t...
> > >



ed,

Thank you but the Epson LCD controller S1D13705 is
used to control a TFT display.
But Epson proposes a wiring diagram which are not
adapted to the MC9S12 processor.

Thanks for all
Ludo --- eeetee2000 <admin@admi...> a rit:

---------------------------------

i was referring to lcd character displays.

here is a starting point for you!

www.erd.epson.com/vdc/pdf/1375/x27ag011.pdf ed

--- In 68HC12@68HC..., "eeetee2000"
<admin@e...> wrote:
>
> hi:
>
> i'm not familiar with the exact part you are using.
most lcd
> displays have a register that has a flag bit in it.
i'll see if i
> can find the docs on the epson part and get back
later
>
>
> ed > --- In 68HC12@68HC..., ludo2112@y... wrote:
> > hello,
> > thanks for program.
> >
> > Only one question: Whre do you connect the Wait
signal? In what
> Port if the MC9S12DP256B. I have connected my wait
signal in the
PJ0.
> >
> > When i am trying to read the register in my
controller LCD Epson
> S1D13705, the controller send the wait signal but
the data isn't
on
> the bus.
> >
> > Thanks
> > Ludo
> > >
> > >hi:
> > >
> > >i had some troubles (opportunities to learn)
interfacing to an
> lcd.
> > >you need to ensure that the data is being held
long enough for
> the
> > >lcd to read it. note the routine "mini_time" is
called after
> port
> > >bits have changed to allow the lcd time to read
it. "lcd_busy
is
> the
> > >routine that waits for the busy flag to go away
> > >
> > >
> > >regards,
> > >
> > >ed
> > >
> > >
> > >lcd_init ldaa #$38 ;initialize the

> > >function register 8 bits, 2lines, 5X7 character
> > >bsr write_func
> > >jsr lcd_busy ;timer
> > >ldaa #$0c ;display on, no
> > >underline, no blink
> > >bsr write_func
> > >jsr lcd_busy
> > >ldaa #$01 ;clear any display
> > >data
> > >bsr write_func
> > >jsr lcd_busy
> > >ldaa #$02 ;return to upper
> > >left corner
> > >bsr write_func
> > >jsr lcd_busy
> > >rts
> > >
> > >
> > >
> > >mini_time nop ;quite a bit of time
> > >is used in the bsr/rts
> > >nop ;this timer is
> > >needed for 24 mhz operation
> > >rts
> > >
> > >write_func bclr portq,%00000001
;select function
> > >register
> > >bsr mini_time
> > >bra lcd_write ;write the data from
> > >a to the register
> > >
> > >read_func bclr portq,%00000001
;select function
> > >register
> > >bsr mini_time
> > >bra lcd_read ;return function
> > >register data
> > >
> > >write_data bset portq,%00000001
;select data register
> > >bsr mini_time
> > >bra lcd_write ;write the data from
> > >a to data register
> > >
> > >read_data bset portq,%00000001 ;
> > >bsr mini_time
> > >bra lcd_read ;return data register
> > >
> > >lcd_write staa portt ;store data
at port
> > >prior to setting direction
> > >movb #$ff,ddrt ;set port as outputs
> > >bsr mini_time
> > >bclr portq,%00000010 ;write operation
> > >bra lcd_cycle ;do the write
> > >
> > >lcd_read clr ddrt ;port is for
read
> > >bset portq,%00000010 ;read operation
> > >;ports are in correct state the timing on portq
is 300ns high
> > >lcd_cycle bsr mini_time
> > >bset portq,%00000100 ;set the eclock to

> > >start operation
> > >nop
> > >nop
> > >nop
> > >nop
> > >ldaa portt ;don't care if read
> > >or write
> > >bclr portq,%00000100 ;return line to
idle
> > >state
> > >nop
> > >nop ;short delay for
> > >data read
> > >bsr mini_time
> > >rts
> > >
> > >lcd_busy bsr read_func ;fetch the
function
> > >register data
> > >lsla ;shift busy flag to
> > >carry bit
> > >bcs lcd_busy ;still executing
> > >last instruction
> > >rts
> > >
> > >
> > >
> > >
> > >--- In 68HC12@68HC..., ludo2112@y... wrote:
> > >> hello,
> > >>
> > >> i am working with the MC9S12DP256B and i would
like to know
> if
> > >it\'s possible to connect it with tle LCD
controler S1D13705.
> > >> I wonder it becaus the LCD Controler generate a
wait
signal .
> > >because of this signal I cannot read or write the
internal
> contents
> > >of register to the S1D13705.
> > >>
> > >>
> > >> Thanks
> > >> ludo
> > >
> > >
> > >
> > >
> > >
> > > Re: MC9S12DP256B with controleur LCD Epson
S1D13705
> sorry about the word wrap here it is without
lcd_init ldaa #$38
> ;initialize t...
> > >


---------------------------------
Yahoo! Groups Links

To

__________________________________________________________________
Douvrez le nouveau



>
> ed,
>
> Thank you but the Epson LCD controller S1D13705 is
> used to control a TFT display.
> But Epson proposes a wiring diagram which are not
> adapted to the MC9S12 processor.

Are you going to connect S1D to 9s12 in expanded mode? You may have more
luck bitbanging S1D bus.
I think you should figure how long S1D can be in WAIT condition. I hope
these are very short times and maybe WAIT could be ignored lowering the
speed of 9s12 operating in expanded mode. WAIT signal is no problem for
bitbanged bus. But first try to estimate how fast MCU should write to S1D.
Epson suggests connecting 13705 to 32bit MCUs. This is suspecting a bit. I
don't have time to learn more about 13705. But what I find on epson web is
that 13705 is 3V device. Am I wrong? If it's 3V I don't think it's easy to
connect such a beast to DP256 which is 5V only, at least not via 9s12
external bus.

Edward

>
> Thanks for all
> Ludo > --- eeetee2000 <admin@admi...> a rit :
>
> ---------------------------------
>
> i was referring to lcd character displays.
>
> here is a starting point for you!
>
> www.erd.epson.com/vdc/pdf/1375/x27ag011.pdf > ed >
>
> --- In 68HC12@68HC..., "eeetee2000"
> <admin@e...> wrote:
>>
>> hi:
>>
>> i'm not familiar with the exact part you are using.
> most lcd
>> displays have a register that has a flag bit in it.
> i'll see if i
>> can find the docs on the epson part and get back
> later
>>
>>
>> ed
>>
>>
>> --- In 68HC12@68HC..., ludo2112@y... wrote:
>> > hello,
>> > thanks for program.
>> >
>> > Only one question: Whre do you connect the Wait
> signal? In what
>> Port if the MC9S12DP256B. I have connected my wait
> signal in the
> PJ0.
>> >
>> > When i am trying to read the register in my
> controller LCD Epson
>> S1D13705, the controller send the wait signal but
> the data isn't
> on
>> the bus.
>> >
>> > Thanks
>> > Ludo
>> > >
>> > >hi:
>> > >
>> > >i had some troubles (opportunities to learn)
> interfacing to an
>> lcd.
>> > >you need to ensure that the data is being held
> long enough for
>> the
>> > >lcd to read it. note the routine "mini_time" is
> called after
>> port
>> > >bits have changed to allow the lcd time to read
> it. "lcd_busy
> is
>> the
>> > >routine that waits for the busy flag to go away
>> > >
>> > >
>> > >regards,
>> > >
>> > >ed
>> > >
>> > >
>> > >lcd_init ldaa #$38 ;initialize the
>
>> > >function register 8 bits, 2lines, 5X7 character
>> > >bsr write_func
>> > >jsr lcd_busy ;timer
>> > >ldaa #$0c ;display on, no
>> > >underline, no blink
>> > >bsr write_func
>> > >jsr lcd_busy
>> > >ldaa #$01 ;clear any display
>> > >data
>> > >bsr write_func
>> > >jsr lcd_busy
>> > >ldaa #$02 ;return to upper
>> > >left corner
>> > >bsr write_func
>> > >jsr lcd_busy
>> > >rts
>> > >
>> > >
>> > >
>> > >mini_time nop ;quite a bit of time
>> > >is used in the bsr/rts
>> > >nop ;this timer is
>> > >needed for 24 mhz operation
>> > >rts
>> > >
>> > >write_func bclr portq,%00000001
> ;select function
>> > >register
>> > >bsr mini_time
>> > >bra lcd_write ;write the data from
>> > >a to the register
>> > >
>> > >read_func bclr portq,%00000001
> ;select function
>> > >register
>> > >bsr mini_time
>> > >bra lcd_read ;return function
>> > >register data
>> > >
>> > >write_data bset portq,%00000001
> ;select data register
>> > >bsr mini_time
>> > >bra lcd_write ;write the data from
>> > >a to data register
>> > >
>> > >read_data bset portq,%00000001 ;
>> > >bsr mini_time
>> > >bra lcd_read ;return data register
>> > >
>> > >lcd_write staa portt ;store data
> at port
>> > >prior to setting direction
>> > >movb #$ff,ddrt ;set port as outputs
>> > >bsr mini_time
>> > >bclr portq,%00000010 ;write operation
>> > >bra lcd_cycle ;do the write
>> > >
>> > >lcd_read clr ddrt ;port is for
> read
>> > >bset portq,%00000010 ;read operation
>> > >;ports are in correct state the timing on portq
> is 300ns high
>> > >lcd_cycle bsr mini_time
>> > >bset portq,%00000100 ;set the eclock to
>
>> > >start operation
>> > >nop
>> > >nop
>> > >nop
>> > >nop
>> > >ldaa portt ;don't care if read
>> > >or write
>> > >bclr portq,%00000100 ;return line to
> idle
>> > >state
>> > >nop
>> > >nop ;short delay for
>> > >data read
>> > >bsr mini_time
>> > >rts
>> > >
>> > >lcd_busy bsr read_func ;fetch the
> function
>> > >register data
>> > >lsla ;shift busy flag to
>> > >carry bit
>> > >bcs lcd_busy ;still executing
>> > >last instruction
>> > >rts
>> > >
>> > >
>> > >
>> > >
>> > >--- In 68HC12@68HC..., ludo2112@y... wrote:
>> > >> hello,
>> > >>
>> > >> i am working with the MC9S12DP256B and i would
> like to know
>> if
>> > >it\'s possible to connect it with tle LCD
> controler S1D13705.
>> > >> I wonder it becaus the LCD Controler generate a
> wait
> signal .
>> > >because of this signal I cannot read or write the
> internal
>> contents
>> > >of register to the S1D13705.
>> > >>
>> > >>
>> > >> Thanks
>> > >> ludo
>> > >
>> > >
>> > >
>> > >
>> > >
>> > > Re: MC9S12DP256B with controleur LCD Epson
> S1D13705
>> sorry about the word wrap here it is without
> lcd_init ldaa #$38
>> ;initialize t...
>> > > ---------------------------------
> Yahoo! Groups Links
>
> To >
>
> __________________________________________________________________
> Douvrez le nouveau >
> Yahoo! Groups Links >
>