Znacząca większość osób rozpoczynających naukę programowania zaczyna swoją zabawę od napisania programu wyświetlającego napis „Hello world!”. Podobnie jest w przypadku nauki programowania mikrokotrolerów, tylko z jedną małą różnicą – pierwszy napisany program ma powodować miganie diody LED. Z tego względu pierwszym zagadnieniem, z którym spotyka się każdy z nas jest konieczność obsługi portów I/O – Input/Output, czyli po polsku: wejścia i wyjścia.
W drugiej części poradnika zajmiemy się napisaniem programu i krótkiego progamu do pomiaru temperatury za pomocą termistora. Niezbędny nam będzie oczywiście termistor – wykorzystamy termistor NTC (1o kΩ). Zaprzęgniemy też do pracy mikrokontroler ATmega8, a dla wizualizacji wyników podłączymy wyświetlacz LCD 16×2. Schemat połączeń przedstawia Rysunek 1.
Magistrala I²C służy do przesyłania danych (komunikacji) pomiędzy urządzeniami elektronicznymi, a dokładniej pomiędzy układem nadrzędnym (Master) oraz urządzeniami typu Slave. Magistrala I²C jest oparta o transmisję szeregową prowadzoną za pomocą dwóch linii sygnałowych SDA (linia przesyłu danych) oraz SCL (sygnał zegarowy). Najczęściej występującym rodzajem transmisji jest zastosowanie jednego układu Master oraz kilku układów Slave. Rozpoznawanie układów w magistrali realizowane jest poprzez nadanie im unikalnego adresu, który użytkownik może modyfikować sprzętowo (łącząc odpowiednie piny układu z masą lub napięciem zasilania).