DCC er en internasjonal forkortelse for Digital Command Control og det som kontrolleres er lokomotiver og motorvogner på en modelljernbane. Blant brukerne av systemet brukes nesten bare betegnelsen DCC, og ikke det fulle navnet. DCC er et av flere systemer for digital kontroll av modelljernbaner, dog et av de mest utbredte systemene.
Tradisjonelt har lokomotivene på en modelljernbane blitt styrt ved å påføre en spenning på skinnene som varieres ettersom hvor fort man vil at lokomotivet skal kjøre. Står det flere lokomotiver på spor som er elektrisk forbundet, vil samtlige lokomotiver endre hastighet på likt. Det vil si at det går ikke an uten videre å styre de ulike lokomotivene individuelt.
Siden modelljernbaner nesten alltid har vært styrt elektrisk, har modelljernbanehobbyen også vært en arena for å utvikle å teste ut elektrotekniske og elektroniske innretninger, blant annet med det formål å kunne bruke en modelljernbane mest mulig likt slik det gjøres ved fullskala jernbaner. Det har derfor lenge vært utviklet systemer for hvordan styre lokomotivene i tråd med forbildet. En godt utviklet metode er den såkalte cab control. Det vil si at at banen deles elektrisk opp i seksjoner som det er lov til å befinne seg ett tog innenfor. Ved å kunne koble enhver slik seksjon til den kjørekontrolleren (cab) man ønsker, oppnår man i praksis individuell styring av enkelttog, og kan kjøre disse helt i samsvar med praksis for fullskala jernbaner. Skiftebevegelser innenfor en stasjon eller plassering av lokomotiver på en lokstall gir imidlertid en del begrensinger med dette systemet siden hvert lok fortsatt må være elektrisk isolert fra de andre for å kunne styres individuelt. Cab control-systemet ble imidlertid utviklet til langt ut på 1980- og 90-tallet og koblet til datamaskiner om ønskelig. Det såkalte «Gardermobaneanlegget» som var i drift på Informasjonssenteret på Gardermoen under byggingen av Gardermobanen og det man den gang kalte Oslo Storflyplass, ble bygget med datastyrt cab control, og kunne bl.a. styres over Internett fra hvor som helst i verden.
Utviklingen av en ekte individuell styring går langt tilbake, men fikk først fart på 1970/80-tallet. Det første DCC-systemet ble opprinnelig utviklet av Lenz Elektronik GmbH i Tyskland for MJ-fabrikantene Märklin og Arnold på slutten av 1980-tallet. Den amerikanske MJ-organisasjonen NMRA for MJ-brukere adapterte Lenz-systemet og publiserte sine NMRA/DCC-standarder i oktober 1993. Standarden er todelt, en elektrisk standard (S-9.1) og en for kommunikasjonen (S-9.2).
DCC-systemet består som et minimum av én kommandosentral som kobles til skinnene med en ledning til hver skinnestreng (2-skinnesystemet). Lokomotivene (og motorvognene) som skal styres av sentralen, og i praksis gjelder det alle lokomotiver og motorvogner på en DCC-styrt bane, må ha en mottaker, en dekoder, som tolker de elektroniske signalene som kommandosentralen sender ut på sporet. Det ligger alltid en såkal bipolar pulserende likespenning på sporet med tilstrekkelig effekt til at lokomotivene kan bruke denne til å kjøre med. Pulsene er ikke sinusformede som ved vanlig vekselspenning, men er det vi kaller firkantpulser som kan variere i bredden. Ved å variere pulsbredden (tiden en firkantpuls varer) kan man sende ut et digitalt signal samtidig som spenningen ligger der som en kraftstrøm man kan utføre motorarbeid med.
Det digitale signalet brukes til å sende ut koder på skinnene som dekoderne i lokomotivene kan fange opp. Hver dekoder har sin adresse som tilhører denne, og hver gang kommandosentralen sender ut et signal med samme adresse, så er det å forstå som en kommando til denne spesifikke dekoderen. Man kan si at alle lokomotivene på anlegget «lytter» på signalene, men de reagerer bare på signaler til seg selv. På denne måten kan en rekke kommandoer gis til lokomotivene, men den grunnleggende er kommandoer som angår kjørsel, dvs. kjøreretning og hastighet. I tillegg kan det gis kommandoer som kan utføre andre funksjoner på lokomotivet, slik som å slå av på lys, aktivere fløytelyd o.l.
Kodene som sendes ut på skinnene kan også brukes til andre ting som kobles til skinnene, slik som omlegging av sporvekselmotorer, skifte av signalbilder o.l.
Dette medfører i prinsippet en forenklet kabling av et anlegg i forhold til et tradisjonelt som ikke bruker DCC eller andre tilsvarende digitale systemer.