Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
et:examples:display:segment_display [2014/10/08 08:20] raivo.sellet:examples:display:segment_display [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 1: Line 1:
-~~PB~~ 
 ====== Numberindikaator ====== ====== Numberindikaator ======
  
-//Vajalikud teadmised: [HW] [[et:hardware:homelab:digi]], [LIB] [[et:software:homelab:library:module:segment_display]], \\ [LIB] [[et:software:homelab:library:delay]][PRT] [[et:examples:digi:led]]//+//Vajalikud teadmised:  
 +[HW] [[et:hardware:homelab:digi]],  
 +[LIB] [[et:software:homelab:library:module:segment_display]], \\ [LIB] [[et:software:homelab:library:delay]]  
 +[PRT] [[et:examples:digi:led]]//
  
 ===== Teooria ===== ===== Teooria =====
  
-[{{  :examples:display:segment_display:7-seg.jpg?100|7-segement}}]+[{{  :examples:display:segment_display:7-seg.jpg?100|7-segment}}]
  
 7-segmendiline LED numberindikaator on seitsmest number 8-kujuliselt paigutatud valgusdioodist koosnev näidik. Vastavaid LED-e (segmente) süüdates või kustutades saab nendega kuvada numbreid nullist üheksani ning mõningaid tähti. 7-segmendiline LED numberindikaator on seitsmest number 8-kujuliselt paigutatud valgusdioodist koosnev näidik. Vastavaid LED-e (segmente) süüdates või kustutades saab nendega kuvada numbreid nullist üheksani ning mõningaid tähti.
Line 26: Line 28:
  
 <code c> <code c>
-// Märgikaart. +// Märgikaart 
-// Bitid tähistavad segmente. Madalaim järk Akõrgeim DP.+// Bitid tähistavad segmente, madalaim järk A ja kõrgeim DP
 const unsigned char __attribute__ ((weak)) segment_char_map[11] =  const unsigned char __attribute__ ((weak)) segment_char_map[11] = 
 { {
Line 40: Line 42:
  0b01111111,  0b01111111,
  0b01100111,  0b01100111,
- 0b01111001   // E like Error+ 0b01111001   // E nagu Error
 }; };
    
Line 46: Line 48:
 void segment_display_init(void) void segment_display_init(void)
 { {
- // Set latch, data out and clock pins as output+ // Juhtviikude väljundiks seadmine
  pin_setup_output(segment_display_latch);  pin_setup_output(segment_display_latch);
  pin_setup_output(segment_display_data_out);  pin_setup_output(segment_display_data_out);
Line 64: Line 66:
  }  }
   
- // Number segmentide kaardiks.+ // Numbri segmentide kaardiks teisendamine
  map = segment_char_map[digit];  map = segment_char_map[digit];
    
- // Lukustussignaal maha+ // Lukustussignaali madalaks muutmine
  pin_clear(segment_display_latch);  pin_clear(segment_display_latch);
    
- // Bittide saatmine. Kõrgeim järk esimesena.+ // Bittide saatmine, kõrgeim järk esimesena
  for (i = 7; i >= 0; i--)  for (i = 7; i >= 0; i--)
  {  {
Line 76: Line 78:
  pin_set_to(segment_display_data_out, bit_is_set(map, i));  pin_set_to(segment_display_data_out, bit_is_set(map, i));
    
- // Taktsignaal kõrgeks hetkeks+ 
 + // Taktsignaali hetkeks kõrgeks muutmine
  pin_set(segment_display_clock);  pin_set(segment_display_clock);
  _delay_us(1);  _delay_us(1);
    
- // Taktsignaal madalaks+ // Taktsignaali madalaks muutmine
  pin_clear(segment_display_clock);  pin_clear(segment_display_clock);
  _delay_us(1);  _delay_us(1);
  }  }
    
- // Lukustussignaal peale+ // Lukustussignaali kõrgeks muutmine
  pin_set(segment_display_latch);  pin_set(segment_display_latch);
 } }
Line 109: Line 112:
  
  // Lõputu tsükkel  // Lõputu tsükkel
- while (true)+ while (1)
  {  {
- // Kuva number ekraanile + // Numbri kuvamine ekraanile 
- segment_display_write(counter);+ segment_display_write(counter % 10);
  
- // Loenduri suurendamine+ // Loenduri suurendamine kuni kümneni
  counter++;  counter++;
 + if (counter>19) counter=0;
  
  // Paus 1 sekund  // Paus 1 sekund
et/examples/display/segment_display.1412756413.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0