lcd again

westaust55

Moderator
So that members of this forum can help you, can you:

1. provide details or a link to the LCD you a re using - don't have time to search past threads for such information and no idea on its size.

2. post your program code

3. provide a clear plain English explanation of exactly what you are trying to achieve.
For example Are you trying to scroll vertically (up down, both) , horizontally (to left? or right ? or both ? )

The more information you provide, the more likely you will receive a useful answer.

Since you have selected an LCD display and matched it to the FRM010 chip, it is unlikely Rev Ed or anyone else will have build many of the exact same permutation so suggest that the likelihood of a manual specific to your LCD with FRM010 chip is nil.

That can be the advantage of buying a module such as the AXE033 serial LCD. rev Ed have a datashet on the display and amny members here know how it works.
 

russbow

Senior Member
I am using the same display, interfaced with the FRM serial chip. Works without any problems.

Scrolling left or right is easy. Try this

Code:
#picaxe 20m
high 7                          ' prepare output pin
pause 100
serout 7, T2400,(254,1,254,1)           'clear screen
pause 100
main:
serout 7,T2400,(254,128,"Wotcha Mate")       'write to first line of screen
pause 2000
scroll:
serout 7,T2400,(254,24)                              ' control sequence to scroll left
pause 300
goto scroll                                                 ' do it again
Notice how the message rolls of the left, and reappears
from the right on the next line down

To scroll right, change the (254,24) to (254,28)

I have never tried up/down. Guess it would need multiple writes, but maybe
there is a method of "peeking / poking" the LCD memory locations.
 

hippy

Ex-Staff (retired)
A lot depends on how and what you want to scroll.

The hardware commands ( sending 254,24 etc ) alters how the LCD module maps characters to the display and this will usually alter everything on a display, particularly noticeable on a multi-line display.

The hardware capabilities of the LCD module rarely match what's desired by an application so the usual technique is to rewrite the display with the data as you want it shown. A first write to an 8 character display may be "12345678", to shift that left the second write would be "2345678-", then "345678--" etc. The cursor is positioned at line 1, character position 1 before each write.

Scrolling vertically pixel-by-pixel is usually not possible. It can be achieved by changing User Defined Characters but only works when there are 8 or less unique characters displayed. Scrolling line-by-line can either be done by issuing enough hardware shift commands, or by simply rewriting the display as desired.

LCD modules can have their memories read if controlled directly, but not with a FRM010 controlling the LCD.
 

westaust55

Moderator
I am using the same display, interfaced with the FRM serial chip. Works without any problems.
Ah, so it is a function of the FMR010 chip not the LCD display.

Would I be correct in suggesting the line:
serout 7, T2400,(254,1,254,1)​
should/could read
serout 7, T2400,(254,1)​


@sarabande,

good to read that you got it going.
Can you indicate what was the specific problem . . .
 

hippy

Ex-Staff (retired)
@ sarabande : While it's fine to go back and mark in your post that a problem has been solved, it's good etiquette to retain details of what the original problem was so the whole thread makes some sense, people can see what your problem was, what solutions there are and how you solved it.

It's also a good idea to add a post at the end of the thread saying the problem was solved as people having already read the thread won't necessarily notice the first post edit - if it wasn't for westaust55's comment in the above post I'd have not realised the problem was solved.
 

russbow

Senior Member
Ah, so it is a function of the FMR010 chip not the LCD display.

Would I be correct in suggesting the line:
serout 7, T2400,(254,1,254,1)
should/could read
serout 7, T2400,(254,1)
Yes of course Westy.Didn't notice that, but still works with the double entry.

Not quite sure what you mean. What is the funcion of the FRM and not the LCD. I could well be 2 points abaft the beam,but my understanding is that the FRM deals with all the serial interfacing, and the 254 code sequences are LCD relevant.
 

manie

Senior Member
Just as an add-on... I find the FRM010 LCD driver chip the second best purchase made from Rev-Ed (the first is off course the Picaxe itself..). It makes life SO MUCH easier getting something displayed.
 

westaust55

Moderator
Yes of course Westy. Didn't notice that, but still works with the double entry.

Not quite sure what you mean. What is the funcion of the FRM and not the LCD. I could well be 2 points abaft the beam,but my understanding is that the FRM deals with all the serial interfacing, and the 254 code sequences are LCD relevant.

Have not used the FRM010 chip myself but seems that the FRM010 chip is interpreting the 254 series commands and passing on different (LCD standard?) information to the LCD displays to achieve the desired results.
 

russbow

Senior Member
I'm sure it must do just that. Some of the control codes are printed in the FRM010 leaflet, but not all. Other forum members have bailed me out at times. I think the LEDs, if they are built around a particular driver (Hitachi ?)
have standard paramaters. They are an 8 bit data buss device, but by sending a code $20 on D4 the 4 bit mode is invoked. Dont know if this is done by the FRM or not.

Look........ I'm getting well out of my depth here.

I found the attached of immense help at the start. That and a purchase of the serial chip + gudance from here and the light stayed on in the tunnel
 

Attachments

hippy

Ex-Staff (retired)
I believe the FRM010 simply passes the byte after 254 straight to the LCD as an 8-bit command code. Thus, with reference to russbow's attached PDF ...

254, %00000001 - Clear Screen
254, %00000010 - Display and Cursor Home
254, %10000101 - Next char written at line 1, column 6 ( adr = 5 )

etc
 

Technical

Technical Support
Staff member
All 254 does is to tell the FRM010 that the very next single byte is to be output as a 'command byte' rather than a 'character byte' ie with RS pin at logic level 0 rather than the default 1.

So if you look at a command table, e.g. page 5 of

http://www.rev-ed.co.uk/docs/led008.pdf

you can output any command you choose e.g.

254, %00000001 is 'clear display'
254, %00001111 is 'display on, cursor on, blink on'

etc.
 

westaust55

Moderator
All 254 does is to tell the FRM010 that the very next single byte is to be output as a 'command byte' rather than a 'character byte' ie with RS pin at logic level 0 rather than the default 1.

So if you look at a command table, e.g. page 5 of

http://www.rev-ed.co.uk/docs/led008.pdf

you can output any command you choose e.g.

254, %00000001 is 'clear display'
254, %00001111 is 'display on, cursor on, blink on'

etc.
Thanks Technical.
Straying a little from the original query . . .
Does the AXE033 also pass all controls in the same way, such that
254,24 will move the display left and
254,28 will move the display right
Had tried in the PE Simulator last night but simulated display remained static.
 

hippy

Ex-Staff (retired)
I believe the AXE033 does, but the simulator probably only handles a subset of 254 commands, if any at all.
 

westaust55

Moderator
AXE033 scrolling display

A further test tonight and I can cofirm that:

1. PE Simulator only simulates some AXE033 commands such as 254,1 to clear the screen

2. The Actual AXE033 will respond to the commands
(a) 254,24 = Scroll (simultaneously all lines of) display to the left
(b) 254,28 = Scroll (simultaneously all lines of) display to the lright

The scrolling display loops around so the message keeps looping as long as you keep sending scroll commands.

Maybe Rev Ed can add this added information to the AXE033 datasheet
 
Top