Assembler: please kick me in the right direction


Closed Thread
Results 1 to 27 of 27

Hybrid View

  1. #1
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    3,159


    Did you find this post helpful? Yes | No

    Red face

    This is reassuring:
    "PM includes an 8051-style instruction set that is more intuitive than the Microchip mnemonics. For complete information on the PICmicro Macro Assembler, see the PM.TXT file on disk."

    Crossing my fingers in hopes that I have enough information to convert this.

    Robert
    My Creality Ender 3 S1 Plus is a giant paperweight that can't even be used as a boat anchor, cause I'd be fined for polluting our waterways with electronic devices.

    Not as dumb as yesterday, but stupider than tomorrow!

  2. #2
    Join Date
    Oct 2004
    Location
    Italy
    Posts
    695


    Did you find this post helpful? Yes | No

    Default

    Hi!
    Using a Graphics-Based LCD Module
    http://www.circuitcellar.com//librar...c0400cdpdf.pdf

    Interfacing to a Hantronix 128 × 64 Chip-On-Glass LCD
    (Basic Stamp code - SED1565 controller)
    http://www.hantronix.com/down/a12864cog.pdf

    Also using the SED1565 controller:
    http://sandiding.tripod.com/n7110.html
    http://sandiding.tripod.com/nokialcd7110.html

    Merry Christmas!

    Luciano
    Last edited by Luciano; - 24th December 2005 at 08:28.

  3. #3
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    3,159


    Did you find this post helpful? Yes | No

    Question CALL syntax

    Thank you very much folks. I'm trying to convert the assembler as plan A, I might as well get my hands dirty. I knew I had to get back into asm, I just needed a good excuse.

    8051 asm has CALL (generic), ACALL (absolute) and LCALL (long).

    PM asm only has CALL and LCALL.

    How would you convert the absolute calls from 8051? Can you just plunk it into a generic call and consider the job done?

    Robert
    My Creality Ender 3 S1 Plus is a giant paperweight that can't even be used as a boat anchor, cause I'd be fined for polluting our waterways with electronic devices.

    Not as dumb as yesterday, but stupider than tomorrow!

  4. #4
    Join Date
    Oct 2004
    Location
    Italy
    Posts
    695


    Did you find this post helpful? Yes | No

    Default

    Hi,

    If your objective is to drive the
    SED1565 controller, see my previous
    post for the link to a Basic Stamp
    code example.

    If your objective is to learn assembly,
    start with LEDs and buttons and then
    add an Hitachi 44780 LCD Controller.

    Best regards,


    Luciano

  5. #5
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    3,159


    Did you find this post helpful? Yes | No

    Default

    Luciano, I did. The stamp link uses the serial interface; I'd much prefer to use the parallel interface. Unless I am mistaken, that should have faster response time. The Circuit cellar example uses C, nice stuff, but nothing I can use without learning a lot of stuff. Plus, the code I have is for a 51553 demo board, exactly like the one I have on hand.

    Switching to a character LCD is not an option. That would mean basing my design on an obsolete part, not interested. Figuring out how to add a touch screen would complicate matters even more. Right now I have a solid source of gLCDs with mounted TS at an excellent price.

    I'm not exactly starting assembler from scratch either. I was top of my class, only problem is that I graduated in '83. I have references for both 8051 and PM assembler, most of the commands are easy to convert. I'll just have a few questions on the exception cases.

    That being said, would you happen to have an idea on how to convert the absolute call?
    My Creality Ender 3 S1 Plus is a giant paperweight that can't even be used as a boat anchor, cause I'd be fined for polluting our waterways with electronic devices.

    Not as dumb as yesterday, but stupider than tomorrow!

  6. #6
    Join Date
    Oct 2004
    Location
    Italy
    Posts
    695


    Did you find this post helpful? Yes | No

    Default

    Hi,

    See this demo board:
    http://www.tvielectronics.com/Produc...ontroller.html

    The TC51553 Demo board has an option to store the data in a serial eeprom.

    When this option is used, the on-board ATmega16 (9.216 MHz) reads the data
    from a serial eeprom and sends it to the Optrex F-51553 LCD using a
    8-bit parallel interface.

    The Data Transfer of the Optrex F-51553 LCD is selectable serial
    or 8-bit parallel. If your data is stored in a serial eeprom the
    use of the parallel interface is not going to make a big speed difference.

    * * *

    Write a library for a Graphic LCD is a complex and challenging task.
    Doing that in assembly is going to be difficult and time-consuming.

    The assembly code you have posted is just a simple demo.

    Some of the functions of a Graphic LCD library are:

    - Clear display
    - Set/Reset single pixels
    - Draw lines
    - Draw boxes
    - Draw circles
    - Write text with different styles and sizes
    - Show a picture
    - ....

    Example:

    CIRCLE x,y,r,c

    x = Starting horizontal location
    y = Starting vertical location
    r = Radius of the circle
    c = Color of the circle

    * * *

    I wish you a Merry Christmas and a great success with your assembly project.

    Best regards,

    Luciano
    Last edited by Luciano; - 24th December 2005 at 13:53.

  7. #7
    Join Date
    Jul 2003
    Location
    Colorado Springs
    Posts
    4,959


    Did you find this post helpful? Yes | No

    Default

    would you happen to have an idea on how to convert the absolute call?
    The easiest way is probably to use the L?CALL macro. That way, no matter where the destination is, the correct page bits will be set.
    L?CALL destination
    .
    DT

  8. #8
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    3,159


    Did you find this post helpful? Yes | No

    Default

    Luciano, I have that document. That is the one I am using to manage the 4-wire touch screen circuit.

    I am using the schematic for the Optrex demo board from Apollo Display as a base for the LCD circuit. The charge pump circuitry is probably identical, I didn't bother comparing. Since I got the gLCDs from Apollo, I'm going to use their schematic, I also find it a bit easier to read.

    I have no doubt that writing a library for a gLCD is complex, but I'm not doing that, I'm just modifying a working example. If I was able to progam software for banks, credit cards and utility companies for 20 years, it's not unrealistic to believe that I can convert an assembler program. As it is, I understand 90% of what is happening within this code.

    As for the complexity of using all the functions of a graphic LCD, I never said I was going to use them.


    Thanks for answering my question Darrel, much appreciated!
    My Creality Ender 3 S1 Plus is a giant paperweight that can't even be used as a boat anchor, cause I'd be fined for polluting our waterways with electronic devices.

    Not as dumb as yesterday, but stupider than tomorrow!

Similar Threads

  1. decoding quadrature encoders
    By ice in forum mel PIC BASIC Pro
    Replies: 93
    Last Post: - 28th February 2017, 09:02
  2. PIC assembler forum?
    By Lajko in forum Off Topic
    Replies: 1
    Last Post: - 29th September 2008, 05:34
  3. Assembler problem
    By om3bc in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 25th March 2008, 19:12
  4. Am I reading this assembler correctly?
    By crhomberg in forum mel PIC BASIC Pro
    Replies: 9
    Last Post: - 13th November 2007, 12:20
  5. Which assembler are you using?
    By picnaut in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 1st November 2005, 20:34

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts