Programarea cu circuite integrate (IC) este un tip de programare de computer în care software-ul este creat prin cod și apoi adăugat la IC. Acest lucru se face în mod normal folosind un computer ca punte pentru programarea IC, deoarece computerul poate încărca software în IC. Acesta este cel mai frecvent utilizat pentru microcontrolere pentru a controla un anumit dispozitiv, dar poate fi folosit și pentru computerul principal în sine. Există multe acțiuni care pot fi codificate prin programarea IC și se reduce la ceea ce este controlat.
Cu programarea IC, totul începe cu software-ul. Cineva creează software creat pentru a controla un dispozitiv, iar software-ul trebuie adăugat la controler. Dacă programul nu este transferat, atunci de obicei nu există nicio modalitate prin care controlerul să comandă dispozitivului să facă ceva, deoarece acesta nu va avea codificarea sau procedurile adecvate pentru a exercita controlul. Programarea este în mod normal construită cu logica clasică și tinde să existe multe instrucțiuni „dacă/atunci”.
După ce programarea IC este completă, software-ul trebuie adăugat la circuit. Uneori se poate realiza un microcontroler separat pentru a facilita această sarcină, dar aceasta se face cel mai frecvent printr-un computer. Computerul, care este, de asemenea, folosit în mod obișnuit pentru a codifica software-ul, se conectează cu IC-ul și încarcă programarea. Acest lucru este adevărat chiar dacă circuitul se află în interiorul computerului însuși.
Aproape toate cazurile de programare IC sunt făcute pentru microcontrolere, deoarece microcontrolerele sunt de obicei inutile fără ca IC-ul lor să aibă software și instrucțiuni. Microcontrolerele se pot conforma cu majoritatea instrucțiunilor, sunt mobile și pot fi instalate cu ușurință în majoritatea sistemelor, astfel încât acest lucru tinde să ușureze procesul. În același timp, circuitele computerului pot avea, de asemenea, o nouă programare adăugată la IC-ul lor, ceea ce îmbunătățește funcțiile computerului, dar de obicei este mai dificilă, deoarece alte programe sunt deja pe majoritatea circuitelor.
Programarea IC poate crea o gamă largă de comenzi și instrucțiuni și există multe limbaje de programare care pot fi folosite pentru aceasta. De obicei, nu există o limită la ceea ce poate comanda programarea în sine, dar există o limită la ceea ce poate face dispozitivul. De exemplu, dacă programarea IC este pentru un motor pas cu pas – un motor care se mișcă conform pașilor programați – atunci programarea nu poate comanda motorului să supravegheze documentele computerului pentru editarea utilizatorului, deoarece dispozitivul este incapabil de această comandă.