/* 7-SEGMENT-ANZEIGE Multiplexbetrieb mit drei 7-Segment-Anzeigen, CA, Ansteuerung an PORTB0, PORTB1 und PORTB2 mit PNP Transistoren ATMega48 Note: GJO: Compiled fuer ATMEGA328 in Arduino IDE 1.8.19 */ //#define F_CPU 8000000UL //#include //#include uint16_t display_value; uint8_t einer, rest, zehner, hunderter; #define T1 0xFE // Basis Transistor 1 (PNP) Einerstelle #define T2 0xFD // Basis Transistor 2 Zehnerstelle #define T3 0xFB // Basis Transistor 3 Hunderterstelle void wert_zerlegen (int display_value) { einer = display_value % 10; rest = display_value / 10; zehner = rest % 10; hunderter = rest / 10; } int main (void) { DDRD = 0xFF; // PORTD auf Ausgang setzen DDRB = 0xFF; PORTD = 0xFF; //Ausgabeport für 7-Segment-Ziffern PORTB = 0xFF; // Ansteuerung von T1 bis T3 const uint8_t segmenttable[11] = { 0x03, 0xF3, 0x25, 0x0D, 0x99, 0x49, 0x41, 0x1F, 0x01, 0x19, 0xFE } ; display_value = 345; while(1) { wert_zerlegen (display_value); PORTB = T1; PORTD = segmenttable[einer]; _delay_ms(7); PORTB = T2; PORTD = segmenttable[zehner]; _delay_ms(7); PORTB = T3; PORTD = segmenttable[hunderter]; _delay_ms(7); } } /* C:\Ard_Portable\arduino-1.8.19\arduino-builder -dump-prefs -logger=machine -hardware C:\Ard_Portable\arduino-1.8.19\hardware -hardware C:\Users\GJO\AppData\Local\Arduino15\packages -hardware C:\Users\GJO\Documents\Arduino\hardware -tools C:\Ard_Portable\arduino-1.8.19\tools-builder -tools C:\Ard_Portable\arduino-1.8.19\hardware\tools\avr -tools C:\Users\GJO\AppData\Local\Arduino15\packages -built-in-libraries C:\Ard_Portable\arduino-1.8.19\libraries -libraries C:\Users\GJO\Documents\Arduino\libraries -fqbn=m328pb:avr:atmega328pbcc:speed=16mhz -ide-version=10819 -build-path C:\Arduino-Output -warnings=all -build-cache C:\Users\GJO\AppData\Local\Temp\arduino_cache_787827 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\Users\GJO\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=C:\Users\GJO\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.arduinoOTA.path=C:\Users\GJO\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Users\GJO\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.avrdude.path=C:\Users\GJO\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17 -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Users\GJO\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17 -verbose C:\Users\GJO\Documents\Arduino\main.cpp\main.cpp.ino C:\Ard_Portable\arduino-1.8.19\arduino-builder -compile -logger=machine -hardware C:\Ard_Portable\arduino-1.8.19\hardware -hardware C:\Users\GJO\AppData\Local\Arduino15\packages -hardware C:\Users\GJO\Documents\Arduino\hardware -tools C:\Ard_Portable\arduino-1.8.19\tools-builder -tools C:\Ard_Portable\arduino-1.8.19\hardware\tools\avr -tools C:\Users\GJO\AppData\Local\Arduino15\packages -built-in-libraries C:\Ard_Portable\arduino-1.8.19\libraries -libraries C:\Users\GJO\Documents\Arduino\libraries -fqbn=m328pb:avr:atmega328pbcc:speed=16mhz -ide-version=10819 -build-path C:\Arduino-Output -warnings=all -build-cache C:\Users\GJO\AppData\Local\Temp\arduino_cache_787827 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\Users\GJO\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=C:\Users\GJO\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.arduinoOTA.path=C:\Users\GJO\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Users\GJO\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.avrdude.path=C:\Users\GJO\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17 -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Users\GJO\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17 -verbose C:\Users\GJO\Documents\Arduino\main.cpp\main.cpp.ino Using board 'atmega328pbcc' from platform in folder: C:\Users\GJO\AppData\Local\Arduino15\packages\m328pb\hardware\avr\1.1.4 Using core 'arduino' from platform in folder: C:\Users\GJO\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5 Detecting libraries used... "C:\\Users\\GJO\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -w -x c++ -E -CC -mmcu=atmega328pb -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Users\\GJO\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\cores\\arduino" "-IC:\\Users\\GJO\\AppData\\Local\\Arduino15\\packages\\m328pb\\hardware\\avr\\1.1.4\\variants\\atmega328pb" "C:\\Arduino-Output\\sketch\\main.cpp.ino.cpp" -o nul Generating function prototypes... "C:\\Users\\GJO\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -w -x c++ -E -CC -mmcu=atmega328pb -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Users\\GJO\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\cores\\arduino" "-IC:\\Users\\GJO\\AppData\\Local\\Arduino15\\packages\\m328pb\\hardware\\avr\\1.1.4\\variants\\atmega328pb" "C:\\Arduino-Output\\sketch\\main.cpp.ino.cpp" -o "C:\\Arduino-Output\\preproc\\ctags_target_for_gcc_minus_e.cpp" "C:\\Ard_Portable\\arduino-1.8.19\\tools-builder\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\Arduino-Output\\preproc\\ctags_target_for_gcc_minus_e.cpp" Compiling sketch... "C:\\Users\\GJO\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328pb -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Users\\GJO\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\cores\\arduino" "-IC:\\Users\\GJO\\AppData\\Local\\Arduino15\\packages\\m328pb\\hardware\\avr\\1.1.4\\variants\\atmega328pb" "C:\\Arduino-Output\\sketch\\main.cpp.ino.cpp" -o "C:\\Arduino-Output\\sketch\\main.cpp.ino.cpp.o" Compiling libraries... Compiling core... Using precompiled core: C:\Users\GJO\AppData\Local\Temp\arduino_cache_787827\core\core_m328pb_avr_atmega328pbcc_speed_16mhz_51f18f353746006a487f051545014727.a Linking everything together... "C:\\Users\\GJO\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-gcc" -Wall -Wextra -Os -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328pb -o "C:\\Arduino-Output/main.cpp.ino.elf" "C:\\Arduino-Output\\sketch\\main.cpp.ino.cpp.o" "C:\\Arduino-Output/..\\Users\\GJO\\AppData\\Local\\Temp\\arduino_cache_787827\\core\\core_m328pb_avr_atmega328pbcc_speed_16mhz_51f18f353746006a487f051545014727.a" "-LC:\\Arduino-Output" -lm "C:\\Users\\GJO\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 "C:\\Arduino-Output/main.cpp.ino.elf" "C:\\Arduino-Output/main.cpp.ino.eep" "C:\\Users\\GJO\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy" -O ihex -R .eeprom "C:\\Arduino-Output/main.cpp.ino.elf" "C:\\Arduino-Output/main.cpp.ino.hex" "C:\\Users\\GJO\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-size" -A "C:\\Arduino-Output/main.cpp.ino.elf" Sketch uses 586 bytes (1%) of program storage space. Maximum is 32256 bytes. Global variables use 18 bytes (0%) of dynamic memory, leaving 2030 bytes for local variables. Maximum is 2048 bytes. */