C 39
Float seven segment using AVR atmega32 By Hightechrobo on 6th February 2025 11:28:35 AM
  1. #include <mega32a.h>
  2. #define ddigit_A   DDRA
  3.     #define digit_A   PORTA
  4.  
  5.     #define ddigit_B   DDRB
  6.     #define digit_B   PORTB
  7.  
  8.     #define ddigit_C   DDRC
  9.     #define digit_C   PORTC
  10.  
  11.     #define ddigit_D   DDRD
  12.     #define digit_D   PORTD
  13.     const unsigned char digit[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}     ;
  14.  
  15.  
  16.     void main(void)
  17.     {
  18.         float a = 12.78;
  19.         int b = a * 100 ;
  20.         int output[4] ;
  21.        ddigit_A = 0xff;
  22.        ddigit_B = 0xff;
  23.        ddigit_C = 0xff;
  24.        ddigit_D = 0xff;
  25.  
  26.  
  27.         output[0] =  b / 1000;
  28.         output[1] = (b % 1000) / 100 ;
  29.         output[2] = (b % 100) / 10 ;
  30.         output[3] = (b % 10) ;
  31.  
  32.  
  33.        while (1){
  34.  
  35.        digit_A = digit[output[0]];
  36.         digit_B = digit[output[1]];
  37.         digit_C = digit[output[2]];
  38.         digit_D = digit[output[3]];
  39.  
  40.  
  41.  
  42.           }
  43.     }

Hightechrobo bin is for source code and general debugging text.

Login or Register to edit, delete and keep track of your pastes and more.

Raw Paste

Login or Register to edit or fork this paste. It's free.