**68HC12** (skrátene **6812**, alebo **HC12**) je rodina 16-bitových mikrokontrolérov produkovaných firmou Freescale Semiconductor. Na trh boli uvedené v polovici deväťdesiatych rokov ako vylepšené architektúra rodiny mikrokontrolérov Freescale 68HC11. Programy napísané pre HC11 sú obvykle kompatibilné s HC12. HC12 navyše obsahuje niekoľko extra inštrukcií. Prvé deriváty rodiny 68HC12 mali maximálnu rýchlosť vnútornej zbernice 8MHz a veľkosť internej pamäte FLASH do 128 kB.

Architektúra 68HC12
-------------------

Tak isto ako 68HC11 aj 68HC12 obsahuje 2 8-bit akumulátory A and B (spolu predstavujú jeden 16-bitový akumulátor D, keď A a B sú radené kaskádne, čo umožňuje spracovanie inštrukcií, ktoré vyžadujú 16 bitové dáta, alebo adresu), 2 16-bitové registre X a Y, 16-bitová programový čítač (PC – Program Counter), 16-bit ukazovateľ zásobníka (SP – Stack Pointer) a 8 bitové stavové slovo CCR - Condition Code Register.

Deriváty HCS12/MC9S12
---------------------

Začiatkom roku 2000 bola rodina rozšírená o deriváty derivátov MC9S12, ktorá je schopná pracovať do frekvencie internej zbernice 25 MHz a obsahuje internú pamäť FLASH do veľkosti 512 kB.

MC9S12NE64 bol uvedený na trh v roku 2004 ako "prvý priemyselný jednočipový fast-Ethernet Flash mikrokontrolér." Pracuje s vnútornou frekvenciou zbernice 25 MHz. Obsahuje 64 kB FLASH EEPROM , 8 kB internej RAM, a Ethernet 10/100 Mbit/s controller.

MC9S12UF32 je mikrokontrolér, ktorý obsahuje USB 2.0 sériové rozhranie spolu s integrovanou fyzickou vrstvou USB 2.0. Je schopný pracovať na USB zbernici ako HOST. 
Navyše obsahuje:

* ATA5 Host rozhranie (ATA5HC)
* Integrated Queue Controller (IQUE) – poskytuje prenos bloku dát bez účasti CPU
* rozhranie typu CFHC (Compact Flash Host Controller)
* rozhranie typu SDHC (Secure Digital and Multimedia Card Host Controller)
* rozhranie typu SMHC (Smartmedia Host Controller)
* rozhranie typu MSHC (Memorystick Host Controller Interface)

MC9S12P sa pripravuje.

Deriváty MC9S12X
----------------

MC9S12XDP512 bol uvedený na trh v roku 2004 a stal sa predstaviteľov rodiny mikrokontrolérov MC9S12XD a obsahom periférii pokrýva mikrokontroléry S12XD, S12XB a S12XA. Pracuje do maximálnej frekvencie vnútornej zbernice 40 MHz. Obsahuje koprocesor nazývaný XGATE. XGATE je schopný spracovávať užívateľov vybrané prerušenia paralelne s CPU a tým razantne zvyšuje výkonnosť procesora XGATE je procesor typu RISC pracujúci na dvojnásobnej frekvencii vnútornej zbernice. (Max. 80MHz). 

Ďalšími podstatnými rozdielmi oproti klasickým HCS12 sú:

* Pevná pamäťová mapa
* Zmenený prístup na externú zbernicu.
* Možnosť adresácie v lineárnom globálnom adresovacom priestore
* Nedovoľuje pripojenie oscilačného obvodu typu Colpitts.

CPU navyše obsahuje niekoľko nových inštrukcií, ktoré zvyšujú výkonnosť.

V máji roku 2006 Freescale uviedol na trh MC9S12XEP100 ako ďalšie rozšírenie rodiny S12X. 
Hlavnými prínosmi sú:

* Frekvencia internej zbernice do 50 MHz
* Jednotka ochrany pamäte (MPU – Memory Protection Unit). Jednotka kontroluje prístupy do pamäťových modulov na základe nastavených parametrov deskriptora.
* Oprava chybného kódu (ECC - Error Correction Code) – hardvér kontroluje obsah programovej FLASH a automaticky opravuje chybu jedného bytu. Pri chybe dvoch bitov hlási chybu.
* Modul internej PLL. Oproti štandardným MC9S12 a MC9S12X nie je potrebné pripájať k mikrokontroléru externé komponenty modulu PLL.
* Neobsahuje klasickú EEPROM, ale emulovanú EEPROM (EEEPROM). To znamená, že EEPROM je emulovaná vnútorným hardvérom v pamäti FLASH.
* 1 MByte internej FLASH

MC9S12XS sa pripravuje.

Referencie
----------

1. ↑  MC9S12NE64
2. ↑  MC9S12UF32
3. ↑  MC9S12XDP512
4. ↑  MC9S12XEP100

Externé odkazy
--------------

* Prenos kódu z M68HC11 na M68HC12
* Kompatibilita HC12 a HCS12
* Kompatibilita HCS12 a HCS12XD
* Rozdiely medzi S12 a S12X
* Porovnanie S12X a S12
* Kompatibilita HCS12 a HCS12XE
* Kompatibilita HCS12XD a HCS12XE
* Kompatibilita HCS12XE a HCS12XS
* Kompatibilita HCS12XS a HCS12P
* Kompatibilita HCS12XS a HCS12P
* Freescale 16-bitové mikrokontroléry