<?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 HELP with seven segment refresh in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/HELP-with-seven-segment-refresh/m-p/514731#M849</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by pindonga123 on Sun Nov 03 05:35:47 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello. I have some problems and some doubt about seven segment refresh. I did two programs. One shows me the number 0 to 9 in the 6 digit that i have, it work very well. And other program that show me a numer for example 576837, it dont work very well because the digit are tenuous. When I execute the two programs only shows me the first. Theory says that in the second case, each digit have to turn on each 1/6=166 mseg, but it dont work. How is the correct sequence?. Clear the display---Turn the display---Pause?, Is it the general rule?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Here my code&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;int main(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;set_pines();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set_SysTick ();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while(1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;parpadeo ();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;mostrar_dig (564738);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;return 0 ;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void Set_SysTick (void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;SYSTICK_InternalInit (1);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;SYSTICK_Cmd (ENABLE);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;SYSTICK_IntCmd (ENABLE);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void SysTick_Handler (void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;SysTickCnt++;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void Delay (float tick)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;unsigned long systickcnt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;systickcnt = SysTickCnt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while ((SysTickCnt - systickcnt) &amp;lt; tick);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void parpadeo (void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;signed int i, j;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for (i=0; i&amp;lt;=9; i++)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for (j=0; j&amp;lt;=1; j++)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;GPIO_ClearValue (0, clear);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Delay (200);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;GPIO_SetValue (0, vector_b0&lt;/SPAN&gt;&lt;I&gt;);&lt;BR /&gt;GPIO_SetValue (0, vector_b1&lt;I&gt;);&lt;BR /&gt;GPIO_SetValue (0, vector_b2&lt;I&gt;);&lt;BR /&gt;GPIO_SetValue (0, vector_b3&lt;I&gt;);&lt;BR /&gt;GPIO_SetValue (0, vector_b4&lt;I&gt;);&lt;BR /&gt;GPIO_SetValue (0, vector_b5&lt;I&gt;);&lt;BR /&gt;Delay (200);&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void mostrar_dig (unsigned long num)&lt;BR /&gt;{&lt;BR /&gt;int i=0, vect[6]; /*vect [6] lo declaraba como unsigned long y no funcionaba el programa. Porque?*/&lt;BR /&gt;while (num &amp;gt; 0)&lt;BR /&gt;{&lt;BR /&gt;vect&lt;I&gt;=num%10;&lt;BR /&gt;num=num/10;&lt;BR /&gt;i++;&lt;BR /&gt;}&lt;BR /&gt;i--;&lt;BR /&gt;while (i&amp;gt;=0)&lt;BR /&gt;{&lt;BR /&gt;switch (i)&lt;BR /&gt;{&lt;BR /&gt;case 0:&lt;BR /&gt;GPIO_ClearValue (0, clear);&lt;BR /&gt;GPIO_SetValue (0, vector_b0[vect&lt;I&gt;]);&lt;BR /&gt;i--;&lt;BR /&gt;Delay (1);&lt;BR /&gt;break;&lt;BR /&gt;case 1:&lt;BR /&gt;GPIO_ClearValue (0, clear);&lt;BR /&gt;GPIO_SetValue (0, vector_b1[vect&lt;I&gt;]);&lt;BR /&gt;i--;&lt;BR /&gt;Delay (1);&lt;BR /&gt;break;&lt;BR /&gt;case 2:&lt;BR /&gt;GPIO_ClearValue (0, clear);&lt;BR /&gt;GPIO_SetValue (0, vector_b2[vect&lt;I&gt;]);&lt;BR /&gt;Delay (1);&lt;BR /&gt;i--;&lt;BR /&gt;break;&lt;BR /&gt;case 3:&lt;BR /&gt;GPIO_ClearValue (0, clear);&lt;BR /&gt;GPIO_SetValue (0, vector_b3[vect&lt;I&gt;]);&lt;BR /&gt;i--;&lt;BR /&gt;Delay (1);&lt;BR /&gt;break;&lt;BR /&gt;case 4:&lt;BR /&gt;GPIO_ClearValue (0, clear);&lt;BR /&gt;GPIO_SetValue (0, vector_b4[vect&lt;I&gt;]);&lt;BR /&gt;i--;&lt;BR /&gt;Delay (1);&lt;BR /&gt;break;&lt;BR /&gt;case 5:&lt;BR /&gt;GPIO_ClearValue (0, clear);&lt;BR /&gt;GPIO_SetValue (0, vector_b5[vect&lt;I&gt;]);&lt;BR /&gt;Delay (1);&lt;BR /&gt;i--;&lt;BR /&gt;break;&lt;BR /&gt;default:&lt;BR /&gt;break;&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;}&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 17:14:50 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T17:14:50Z</dc:date>
    <item>
      <title>HELP with seven segment refresh</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/HELP-with-seven-segment-refresh/m-p/514731#M849</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by pindonga123 on Sun Nov 03 05:35:47 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello. I have some problems and some doubt about seven segment refresh. I did two programs. One shows me the number 0 to 9 in the 6 digit that i have, it work very well. And other program that show me a numer for example 576837, it dont work very well because the digit are tenuous. When I execute the two programs only shows me the first. Theory says that in the second case, each digit have to turn on each 1/6=166 mseg, but it dont work. How is the correct sequence?. Clear the display---Turn the display---Pause?, Is it the general rule?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Here my code&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;int main(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;set_pines();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set_SysTick ();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while(1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;parpadeo ();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;mostrar_dig (564738);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;return 0 ;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void Set_SysTick (void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;SYSTICK_InternalInit (1);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;SYSTICK_Cmd (ENABLE);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;SYSTICK_IntCmd (ENABLE);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void SysTick_Handler (void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;SysTickCnt++;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void Delay (float tick)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;unsigned long systickcnt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;systickcnt = SysTickCnt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while ((SysTickCnt - systickcnt) &amp;lt; tick);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void parpadeo (void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;signed int i, j;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for (i=0; i&amp;lt;=9; i++)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for (j=0; j&amp;lt;=1; j++)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;GPIO_ClearValue (0, clear);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Delay (200);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;GPIO_SetValue (0, vector_b0&lt;/SPAN&gt;&lt;I&gt;);&lt;BR /&gt;GPIO_SetValue (0, vector_b1&lt;I&gt;);&lt;BR /&gt;GPIO_SetValue (0, vector_b2&lt;I&gt;);&lt;BR /&gt;GPIO_SetValue (0, vector_b3&lt;I&gt;);&lt;BR /&gt;GPIO_SetValue (0, vector_b4&lt;I&gt;);&lt;BR /&gt;GPIO_SetValue (0, vector_b5&lt;I&gt;);&lt;BR /&gt;Delay (200);&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void mostrar_dig (unsigned long num)&lt;BR /&gt;{&lt;BR /&gt;int i=0, vect[6]; /*vect [6] lo declaraba como unsigned long y no funcionaba el programa. Porque?*/&lt;BR /&gt;while (num &amp;gt; 0)&lt;BR /&gt;{&lt;BR /&gt;vect&lt;I&gt;=num%10;&lt;BR /&gt;num=num/10;&lt;BR /&gt;i++;&lt;BR /&gt;}&lt;BR /&gt;i--;&lt;BR /&gt;while (i&amp;gt;=0)&lt;BR /&gt;{&lt;BR /&gt;switch (i)&lt;BR /&gt;{&lt;BR /&gt;case 0:&lt;BR /&gt;GPIO_ClearValue (0, clear);&lt;BR /&gt;GPIO_SetValue (0, vector_b0[vect&lt;I&gt;]);&lt;BR /&gt;i--;&lt;BR /&gt;Delay (1);&lt;BR /&gt;break;&lt;BR /&gt;case 1:&lt;BR /&gt;GPIO_ClearValue (0, clear);&lt;BR /&gt;GPIO_SetValue (0, vector_b1[vect&lt;I&gt;]);&lt;BR /&gt;i--;&lt;BR /&gt;Delay (1);&lt;BR /&gt;break;&lt;BR /&gt;case 2:&lt;BR /&gt;GPIO_ClearValue (0, clear);&lt;BR /&gt;GPIO_SetValue (0, vector_b2[vect&lt;I&gt;]);&lt;BR /&gt;Delay (1);&lt;BR /&gt;i--;&lt;BR /&gt;break;&lt;BR /&gt;case 3:&lt;BR /&gt;GPIO_ClearValue (0, clear);&lt;BR /&gt;GPIO_SetValue (0, vector_b3[vect&lt;I&gt;]);&lt;BR /&gt;i--;&lt;BR /&gt;Delay (1);&lt;BR /&gt;break;&lt;BR /&gt;case 4:&lt;BR /&gt;GPIO_ClearValue (0, clear);&lt;BR /&gt;GPIO_SetValue (0, vector_b4[vect&lt;I&gt;]);&lt;BR /&gt;i--;&lt;BR /&gt;Delay (1);&lt;BR /&gt;break;&lt;BR /&gt;case 5:&lt;BR /&gt;GPIO_ClearValue (0, clear);&lt;BR /&gt;GPIO_SetValue (0, vector_b5[vect&lt;I&gt;]);&lt;BR /&gt;Delay (1);&lt;BR /&gt;i--;&lt;BR /&gt;break;&lt;BR /&gt;default:&lt;BR /&gt;break;&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;}&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:14:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/HELP-with-seven-segment-refresh/m-p/514731#M849</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:14:50Z</dc:date>
    </item>
  </channel>
</rss>

