<?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>S12 / MagniV MicrocontrollersのトピックRe: interfacing HC9S12DP256 with LCD (HD44780U) 8 bit</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/interfacing-HC9S12DP256-with-LCD-HD44780U-8-bit/m-p/214548#M8969</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Yes you hava absolutely true. I am forget on it. And I am delete delay and compensate it check busy flag. and now it working. Thank you very much Lundin&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 09 Jan 2009 17:02:03 GMT</pubDate>
    <dc:creator>Seitec</dc:creator>
    <dc:date>2009-01-09T17:02:03Z</dc:date>
    <item>
      <title>interfacing HC9S12DP256 with LCD (HD44780U) 8 bit</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/interfacing-HC9S12DP256-with-LCD-HD44780U-8-bit/m-p/214546#M8967</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;i can´t understant where i hava error in my code. pleas look at my code. see anybody where is error?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you very much.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#include &lt;/SPAN&gt;&lt;HIDEF.H&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* common defines and macros */&lt;BR /&gt;#include &lt;MC9S12DP256.H&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* derivative information */&lt;BR /&gt;#pragma LINK_INFO DERIVATIVE "mc9s12dp256b"&lt;BR /&gt;&lt;BR /&gt;#define LCD_data PORTA&lt;BR /&gt;#define LCD_D7 PORTA_BIT7&lt;BR /&gt;#define LCD_rs PORTB_BIT0&lt;BR /&gt;#define LCD_rw PORTB_BIT1&lt;BR /&gt;#define LCD_en PORTB_BIT2&lt;BR /&gt;&lt;BR /&gt;/*****************zpozdeni pri praci s LCD************************/&lt;BR /&gt;void LCD_busy(void){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; unsigned char i,j;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0;i&amp;lt;50;i++)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //A simple for loop for delay&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(j=0;j&amp;lt;255;j++);&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;void LCD_init(){&lt;BR /&gt;&amp;nbsp; int i = 0;&lt;BR /&gt;&amp;nbsp; LCD_data = 0x30;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*prikaz 0x30*/&lt;BR /&gt;&amp;nbsp; LCD_rs&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; LCD_rw&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; LCD_en&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; LCD_en&amp;nbsp;&amp;nbsp; = 1;&lt;BR /&gt;&amp;nbsp; LCD_en&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; for(i=0; i&amp;lt;2000; i++);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*pauza 4.1 ms*/&lt;BR /&gt;&amp;nbsp; for(i=0; i&amp;lt;2000; i++);&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;&amp;nbsp; LCD_data = 0x30;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*prikaz 0x30*/&lt;BR /&gt;&amp;nbsp; LCD_rs&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; LCD_rw&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; LCD_en&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; LCD_en&amp;nbsp;&amp;nbsp; = 1;&lt;BR /&gt;&amp;nbsp; LCD_en&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; for(i=0; i&amp;lt;2000; i++);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*pauza 100 us*/&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;&amp;nbsp; LCD_data = 0x30;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*prikaz 0x30*/&lt;BR /&gt;&amp;nbsp; LCD_rs&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; LCD_rw&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; LCD_en&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; LCD_en&amp;nbsp;&amp;nbsp; = 1;&lt;BR /&gt;&amp;nbsp; LCD_en&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; for(i=0; i&amp;lt;2000; i++);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*pauza 4.1 ms*/&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;&amp;nbsp; LCD_data = 0x38;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*dva radky a 5x8 dots*/&lt;BR /&gt;&amp;nbsp; LCD_rs&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; LCD_rw&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; LCD_en&amp;nbsp;&amp;nbsp; = 1;&lt;BR /&gt;&amp;nbsp; LCD_en&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; LCD_busy();&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;&amp;nbsp; LCD_data = 0x0E;&lt;BR /&gt;&amp;nbsp; LCD_rs&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; LCD_rw&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; LCD_en&amp;nbsp;&amp;nbsp; = 1;&lt;BR /&gt;&amp;nbsp; LCD_en&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; LCD_busy();&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;&amp;nbsp; LCD_data = 0x01;&lt;BR /&gt;&amp;nbsp; LCD_rs&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; LCD_rw&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; LCD_en&amp;nbsp;&amp;nbsp; = 1;&lt;BR /&gt;&amp;nbsp; LCD_en&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; LCD_busy();&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;&amp;nbsp; LCD_data = 0x06;&lt;BR /&gt;&amp;nbsp; LCD_rs&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; LCD_rw&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; LCD_en&amp;nbsp;&amp;nbsp; = 1;&lt;BR /&gt;&amp;nbsp; LCD_en&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; LCD_busy();&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;/******************odesilani prikazu****************************/&lt;BR /&gt;void LCD_command(unsigned char var){&lt;BR /&gt;&amp;nbsp; LCD_data = var;&lt;BR /&gt;&amp;nbsp; LCD_rs&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; LCD_rw&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; LCD_en&amp;nbsp;&amp;nbsp; = 1;&lt;BR /&gt;&amp;nbsp; LCD_en&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; LCD_busy(); &lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;/*****************odesilani dat*********************************/&lt;BR /&gt;void LCD_senddata(unsigned char var){&lt;BR /&gt;&amp;nbsp; LCD_data = var;&lt;BR /&gt;&amp;nbsp; LCD_rs&amp;nbsp;&amp;nbsp; = 1;&lt;BR /&gt;&amp;nbsp; LCD_rw&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; LCD_en&amp;nbsp;&amp;nbsp; = 1;&lt;BR /&gt;&amp;nbsp; LCD_en&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; LCD_busy();&lt;BR /&gt;&amp;nbsp; LCD_rs&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;/******************odeslani retezce******************************/&lt;BR /&gt;void LCD_sendstring(unsigned char *var, int line){&lt;BR /&gt;&amp;nbsp; unsigned char instruction;&lt;BR /&gt;&amp;nbsp; if(line == 1){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; instruction = 0x80;&lt;BR /&gt;&amp;nbsp; }else{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; instruction = 0xC0;&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; LCD_command(instruction);&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;&amp;nbsp; while(*var){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCD_senddata(*var++);&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void main(void) {&lt;BR /&gt;&amp;nbsp; /* put your own code here */&lt;BR /&gt;&amp;nbsp; EnableInterrupts;&lt;BR /&gt;&amp;nbsp; LCD_init();&lt;BR /&gt;&amp;nbsp; LCD_sendstring("ahoj", 1);&lt;BR /&gt;&amp;nbsp; for(;&lt;A href="http://freescale.i.lithium.com/i/smilies/16x16_smiley-wink.gif"&gt;&lt;IMG alt=":smileywink:" class="emoticon emoticon-smileywink" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-wink.gif" title="Smiley Wink" /&gt;&lt;/A&gt; {} /* wait forever */&lt;BR /&gt;&amp;nbsp; /* please make sure that you never leave this function */&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;Message Edited by Seitec on &lt;SPAN class="date_text"&gt;2009-01-08&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;09:55 PM&lt;/SPAN&gt;&lt;/MC9S12DP256.H&gt;&lt;/HIDEF.H&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Jan 2009 05:54:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/interfacing-HC9S12DP256-with-LCD-HD44780U-8-bit/m-p/214546#M8967</guid>
      <dc:creator>Seitec</dc:creator>
      <dc:date>2009-01-09T05:54:06Z</dc:date>
    </item>
    <item>
      <title>Re: interfacing HC9S12DP256 with LCD (HD44780U) 8 bit</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/interfacing-HC9S12DP256-with-LCD-HD44780U-8-bit/m-p/214547#M8968</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;You don't set the port pins as outputs anywhere. Write to the data direction registers for each port.&lt;BR /&gt;&lt;BR /&gt;Also, using loops to cause time delays is considered poor programming. They keep the CPU busy when it could be working and they make the code non-portable. Use on-chip hardware timers instead.&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Jan 2009 15:22:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/interfacing-HC9S12DP256-with-LCD-HD44780U-8-bit/m-p/214547#M8968</guid>
      <dc:creator>Lundin</dc:creator>
      <dc:date>2009-01-09T15:22:51Z</dc:date>
    </item>
    <item>
      <title>Re: interfacing HC9S12DP256 with LCD (HD44780U) 8 bit</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/interfacing-HC9S12DP256-with-LCD-HD44780U-8-bit/m-p/214548#M8969</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Yes you hava absolutely true. I am forget on it. And I am delete delay and compensate it check busy flag. and now it working. Thank you very much Lundin&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Jan 2009 17:02:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/interfacing-HC9S12DP256-with-LCD-HD44780U-8-bit/m-p/214548#M8969</guid>
      <dc:creator>Seitec</dc:creator>
      <dc:date>2009-01-09T17:02:03Z</dc:date>
    </item>
  </channel>
</rss>

