<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: HD44780U-based LCD Example in S12 / MagniV Microcontrollers</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HD44780U-based-LCD-Example/m-p/347045#M10535</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Attached project is for Dp256 and older version CodeWarrior but I think easy portable.&lt;/P&gt;&lt;P&gt;i did it a looooooooong time ago.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You will need to adjust:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;static void LcdDelay10ms (void);&lt;/P&gt;&lt;P&gt;static void LcdDelay1us&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (void);&lt;/P&gt;&lt;P&gt;in the LCD_HD44780.c file&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The best way is to use simulator to adjust timing to given BUSCLK or you can use another approach to generate these delays in the LCD_HD44780.c file (for example PIT). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;...and if you use following functions in the main.c then you should also adjust them on the basis of the BUSCLK you use.&lt;/P&gt;&lt;P&gt;void&amp;nbsp; delay10ms&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (void);&lt;/P&gt;&lt;P&gt;void&amp;nbsp; delay1_4s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (void);&lt;/P&gt;&lt;P&gt;void&amp;nbsp; delay2s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (void);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Entire system setup is done in the LCD_HD44780.h&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you do not understand anything do not hesitate to ask.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I have a little bit more time this week I can adjust the SW for your reqs but I need to know:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BUSCLK, 8 or 4 bit data bus and which port pins, you want only to write or also read from display, define control at MCU pins for E, RW and RS of the display.&lt;/P&gt;&lt;P&gt;Usage of roll up/down/left/right requires also enabling roll functions if you do not it perform it in your mirror window in the MCU's memory and you just refreshes display in .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If this answer solves your issue please label it as answered to provide easier search to other users.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Ladislav&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 02 Mar 2015 12:17:53 GMT</pubDate>
    <dc:creator>lama</dc:creator>
    <dc:date>2015-03-02T12:17:53Z</dc:date>
    <item>
      <title>HD44780U-based LCD Example</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HD44780U-based-LCD-Example/m-p/347044#M10534</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am looking for code to drive HD44780U-based 16x 2 LCD display. I am not using Processor Expert.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a working example for the Atmel AVR, but not sure it can be converted to suit the S12XE I am using.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Ray.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 28 Feb 2015 22:04:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HD44780U-based-LCD-Example/m-p/347044#M10534</guid>
      <dc:creator>rayhall</dc:creator>
      <dc:date>2015-02-28T22:04:49Z</dc:date>
    </item>
    <item>
      <title>Re: HD44780U-based LCD Example</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HD44780U-based-LCD-Example/m-p/347045#M10535</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Attached project is for Dp256 and older version CodeWarrior but I think easy portable.&lt;/P&gt;&lt;P&gt;i did it a looooooooong time ago.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You will need to adjust:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;static void LcdDelay10ms (void);&lt;/P&gt;&lt;P&gt;static void LcdDelay1us&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (void);&lt;/P&gt;&lt;P&gt;in the LCD_HD44780.c file&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The best way is to use simulator to adjust timing to given BUSCLK or you can use another approach to generate these delays in the LCD_HD44780.c file (for example PIT). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;...and if you use following functions in the main.c then you should also adjust them on the basis of the BUSCLK you use.&lt;/P&gt;&lt;P&gt;void&amp;nbsp; delay10ms&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (void);&lt;/P&gt;&lt;P&gt;void&amp;nbsp; delay1_4s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (void);&lt;/P&gt;&lt;P&gt;void&amp;nbsp; delay2s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (void);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Entire system setup is done in the LCD_HD44780.h&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you do not understand anything do not hesitate to ask.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I have a little bit more time this week I can adjust the SW for your reqs but I need to know:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BUSCLK, 8 or 4 bit data bus and which port pins, you want only to write or also read from display, define control at MCU pins for E, RW and RS of the display.&lt;/P&gt;&lt;P&gt;Usage of roll up/down/left/right requires also enabling roll functions if you do not it perform it in your mirror window in the MCU's memory and you just refreshes display in .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If this answer solves your issue please label it as answered to provide easier search to other users.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Ladislav&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Mar 2015 12:17:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HD44780U-based-LCD-Example/m-p/347045#M10535</guid>
      <dc:creator>lama</dc:creator>
      <dc:date>2015-03-02T12:17:53Z</dc:date>
    </item>
    <item>
      <title>Re: HD44780U-based LCD Example</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HD44780U-based-LCD-Example/m-p/347046#M10536</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ladislav,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for the driver code. I will try it in about a weeks time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ray.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Mar 2015 23:52:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HD44780U-based-LCD-Example/m-p/347046#M10536</guid>
      <dc:creator>rayhall</dc:creator>
      <dc:date>2015-03-03T23:52:17Z</dc:date>
    </item>
    <item>
      <title>Re: HD44780U-based LCD Example</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HD44780U-based-LCD-Example/m-p/347047#M10537</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ladislav,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am now ready to use the driver. I am unsure how to set these. I do not understand the pin names. Example PTM_PTM5. I would have expected pin names like PORTC_PC0 and PORTC for the display port name.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/**************************************************************************/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; /* LCD HARDWARE CONTROL PORTS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; /**************************************************************************/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; #define&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCD_E&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PTM_PTM5&amp;nbsp; /* disp ENABLE pin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; #define&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCD_RW&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PTM_PTM6&amp;nbsp; /* disp R/W pin (write/read = 1/0) */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; #define&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCD_RS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PTM_PTM7&amp;nbsp; /* disp RS pin&amp;nbsp; (data/ctrl&amp;nbsp; = 1/0) */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; #define&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCD_DE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DDRM_DDRM5 /* disp ENABLE pin direction bit&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; #define&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCD_DRW&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DDRM_DDRM6 /* disp R/W pin direction bit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; #define&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCD_DRS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DDRM_DDRM7 /* disp RS pin direction bit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; #define&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCD_DPORT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PTP&amp;nbsp;&amp;nbsp;&amp;nbsp; /* display data port&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; #define&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCD_DPORTDIR&amp;nbsp;&amp;nbsp;&amp;nbsp; DDRP&amp;nbsp;&amp;nbsp; /* display data port direction re- */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*gister address&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; #define&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCD_FBUS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 50&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* uC bus frequency [MHz](necessary */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* to ensure software delays)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ray.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 Mar 2015 08:47:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HD44780U-based-LCD-Example/m-p/347047#M10537</guid>
      <dc:creator>rayhall</dc:creator>
      <dc:date>2015-03-25T08:47:35Z</dc:date>
    </item>
  </channel>
</rss>

