**Skaitītājs** ir ciparierīce, kuras lietojums ir impulsu skaitīšana. Darbības laikā skaitītājs maina savu stāvokli noteiktā secībā. Atļauto stāvokļu skaitu sauc par skaitīšanas moduli {\displaystyle K\_{S}}. Viens no iespējamiem stāvokļiem tiek uzskatīts par sākuma stāvokli. Ja skaitītājs sāka savu darbību no sākuma stāvokļa, tad katrs impulss, kurš ir pēc kārtas vienāds ar skaitīšanas moduli, atkal uzstādina skaitītāju sākumā stāvoklī, un skaitītāja izejā parādās pārnešanas bits vai aizņemšanas bits.

Skaitītāju veidi
----------------

Skaitītājus var sadalīt pēc to apstrādāšanas koda un pēc skaitīšanas virziena. Gandrīz visi šodien izmantojamie skaitītāji ir bināri skaitītāji, kuri apstrādā 0 un 1 signālus. Ja kodi tiek izvietoti pieaugošā secībā, tad tādus skaitītājus sauc par summējošiem (Up-counter), bet ja kodi ir izvietoti dilstošā secībā, tad tādus sauc par samazinošiem (Down-counter). Skaitītājus, kuriem skaitīšanas virziens varētu mainīties, sauc par reversīviem skaitītājiem (Up/Down counter).

Ja skaitītāja darbībai ir nepieciešams sinhronizētais signāls, tad tādus skaitītājus sauc par sinhronizētiem (visi trigeri pārslēdzas vienlaicīgi). Savukārt skaitītājus, kuri strādā bez sinhronizētā signāla sauc par asinhroniem skaitītājiiem (visi trigeri pārslēdzas dažādos laika brīžos).   
Vēl skaitītāji dalās pēc savas struktūras uz pakāpeniskiem, paralēliem un pakāpeniski-paralēliem. Galvenā atšķirība ir saistīta ar to, kādā veidā tiek sniegtie impulsi uz skaitītāja pozīcijas ieejām. Pakāpeniskā veida skaitītājos impulss tiek sniegts tikai uz pirmās pozīcijas ieeju, bet no tas izejas pāriet uz otrās pozīcijas ieeju. Paralēlveida skaitītājiem skaitīšanas impulsi tiek sniegti uz visu pozīciju ieejām vienlaicīgi, bet skaitītāja iekšējas struktūras dēļ pozīcijas vērtības tika mainītas nepieciešamajos gadījumos.

Asinhronais skaitītājs
----------------------

Asinhronus binārus skaitītājus var realizēt uz T, JK vai D veida trigeriem. Piemēram, ja
skaitītājs ir realizēts uz JK trigeriem ar lecošo fronti, tad iejās J un K ir jābūt augstā līmeņa signālam vai loģiskam 1. Šajā stāvoklī JK trigeris mainīs savējo stāvokli uz pretējo ar katru takta impulsu, līdz ar to kādu no izejam {\displaystyle Q} (summējošiem) vai {\displaystyle {\bar {Q}}} (samazinošiem) var izmantot kā takta signālu nākamajam JK trigerim. JK trigeri asinhronā pakāpenveida skaitītājā strādā ar dažādam frekvencēm. Vislielākā frekvence ir pirmajam trigerim, bet pārslēgšanas frekvence katram nākamam trigerim ir divreiz mazāka.
  
Izmantojot {\displaystyle n} trigerus, skaitītājs varēs saskaitīt {\displaystyle n} impulsa periodus, sākot no 0 un līdz {\displaystyle 2^{n}-1}.

Četru bitu summējošā asinhrona skaitītāja izeju stāvokļu tabula:

Example alt text4 bitu summējošā asinhrona skaitītāja realizācijas shēma uz JK trigeriem ar lecošo fronti

| Impulsa perioda numurs | {\displaystyle Q\_{A}} | {\displaystyle Q\_{B}} | {\displaystyle Q\_{C}} | {\displaystyle Q\_{D}} |
| --- | --- | --- | --- | --- |
| 0. | 0 | 0 | 0 | 0 |
| 1. | 0 | 0 | 0 | 1 |
| 2. | 0 | 0 | 1 | 0 |
| 3. | 0 | 0 | 1 | 1 |
| 4. | 0 | 1 | 0 | 0 |
| 5. | 0 | 1 | 0 | 1 |
| 6. | 0 | 1 | 1 | 0 |
| 7. | 0 | 1 | 1 | 1 |
| 8. | 1 | 0 | 0 | 0 |
| 9. | 1 | 0 | 0 | 1 |
| 10. | 1 | 0 | 1 | 0 |
| 11. | 1 | 0 | 1 | 1 |
| 12. | 1 | 1 | 0 | 0 |
| 13. | 1 | 1 | 0 | 1 |
| 14. | 1 | 1 | 1 | 0 |
| 15. | 1 | 1 | 1 | 1 |

Lai izveidotu samazinošo skaitītāju ir jāizmanto {\displaystyle {\bar {Q}}} izejas perioda skaita noskaidrošanai.
  
Trīs bitu samazinošā asinhrona skaitītāja izeju stāvokļu tabula:

Example alt text3 bitu samazinošā asinhrona skaitītāja realizācijas shēma uz JK trigeriem ar lecošo fronti

| Impulsa perioda numurs | {\displaystyle Q\_{A}} | {\displaystyle Q\_{B}} | {\displaystyle Q\_{C}} |
| --- | --- | --- | --- |
| 0. | 1 | 1 | 1 |
| 1. | 1 | 1 | 0 |
| 2. | 1 | 0 | 1 |
| 3. | 1 | 0 | 0 |
| 4. | 0 | 1 | 1 |
| 4. | 0 | 1 | 0 |
| 6. | 0 | 0 | 1 |
| 7. | 0 | 0 | 0 |
|

Reversīvā skaitītāja realizācijai, kurš var strādāt gan summēšanas, gan samazināšanas
režīmā, ir nepieciešama papildus loģiskā shēma, kura nodrošinātu trigera {\displaystyle Q} izejas signāla padošanu nākama trigera takta signāla ieejai summēšanas gadījumā un {\displaystyle {\bar {Q}}} atņemšanas gadījumā. Uzstādot ieejā {\displaystyle U/{\bar {D}}} loģisko vieninieku skaitītājs
strādās summēšanas režīmā, bet ar loģisko nulli tas strādās atņemšanas režīmā.
  
Trīs bitu reversīvā asinhrona skaitītāja izeju stāvokļu tabula:

Example alt text3 bitu reversīvā asinhrona skaitītāja realizācijas shēma uz JK trigeriem ar lecošo fronti

| {\displaystyle U/{\bar {D}}} | Impulsa perioda numurs | {\displaystyle Q\_{A}} | {\displaystyle Q\_{B}} | {\displaystyle Q\_{C}} |
| --- | --- | --- | --- | --- |
| 0 | 0. | 1 | 1 | 1 |
| 0 | 1. | 1 | 1 | 0 |
| 0 | 2. | 1 | 0 | 1 |
| 0 | 3. | 1 | 0 | 0 |
| 0 | 4. | 0 | 1 | 1 |
| 0 | 5. | 0 | 1 | 0 |
| 0 | 6. | 0 | 0 | 1 |
| 0 | 7. | 0 | 0 | 0 |
| 1 | 0. | 0 | 0 | 0 |
| 1 | 1. | 0 | 0 | 1 |
| 1 | 2. | 0 | 1 | 0 |
| 1 | 3. | 0 | 1 | 1 |
| 1 | 4. | 1 | 0 | 0 |
| 1 | 5. | 1 | 0 | 1 |
| 1 | 6. | 1 | 1 | 0 |
| 1 | 7. | 1 | 1 | 1 |

Ir iespējams arī izveidot skaitītājus, kuri var uzsākt skaitīšanu ar noteiktu perioda numuru un arī
beigt sasniedzot noteikto perioda numuru. To var realizēt, izmantojot speciālas ieejas JK trigeros
(overriding inputs).
Viena no šiem ieejam ir S jeb Set (uzstādīšana) ieeja, kurai ir aktīvs zems līmenis. Tas
nozīme sniedzot uz to loģisko nulli neatkarīgi no J, K un CLK ieejas, izejā {\displaystyle Q} vienmēr būs 1.
Otrā ir R jeb Reset (dzēšana) ieeja, tai arī ir aktīvs zems līmenis. Kad uz šo ieeju tiek
sniegta loģiskā nulle, neatkarīgi no ieejām J,K un CLK, izejā {\displaystyle Q} būs nulle.

Example alt textDecimālā summēšanas asinhrona skaitītāja realizēšanas shēma uz JK trigeriem ar lecošo fronti un ar papildus loģiskiem elementiem
  
Tādā veidā, piemēram, var izveidot decimālo skaitītāju, kuram ir jāskaita no 0 līdz 9 un
jāpārslēdzas kad būs sasniegts 10. impulsa signāls (kad attiecīgi trigeru izejās ir 1010 binārais kods) un atkal uzsākt skaitīšanu:
{\displaystyle \underbrace {0,1,\cdots ,9} \_{10}}. Realizācijai būs jāizmanto vienu NAND elementu, kurš sniegtu loģisko nulli uz katra trigera R ieeju gadījumā kad būs sasniegta 1010 kombinācija.

Sinhronais skaitītājs
---------------------

Asinhrono skaitītāju trūkums ir tas, ka palielinot trigeru skaitu palielinās signāla aizkavēšana. Kopīga signāla aizkavēšana skaitītājam ar {\displaystyle n} trigeriem ir vienāda ar {\displaystyle n\times T\_{P}}, kur {\displaystyle T\_{P}} ir viena trigera aiztures laiks. Tādā gadījumā nedrīkst sniegt impulsus, kura periods ir īsāks par {\displaystyle n\times T\_{P}}, citādāk skaitītājs nevarēs saskaitīs šādu impulsu.

Example alt text4 bitu summēšanas sinhrona skaitītāja realizēšanas shēma uz JK trigeriem ar lecošo fronti un ar papildus loģiskiem elementiem
  
Lai risinātu šo problēmu var izmantot sinhronus skaitītājus, kur impulsa signāls ir sniegts uz visiem trigeriem vienlaicīgi. Salīdzinot ar asinhroniem skaitītājiem, sinhroniem ir nepieciešami papildus loģiskie elementi. Piemēram, realizējot 4 bitu summēšanas sinhrono skaitītāju, trigerim B (skatīt attēlu) būs jāskaita impulsu, tikai tādā gadījumā, kad trigera C izeja Q maina savu stāvokli no 1 uz 0. Trigerim A būs jāskaita tad kad {\displaystyle B=C=1} pāriet uz stāvokli {\displaystyle B=C=0}. Līdzīgi arī var realizēt skaitītāju ar vairākiem bitiem. Stāvokļu tabula sinhroniem skaitītājiem ir tāda pati kā asinhroniem.

Ārējās saites
-------------

* Vikikrātuvē par šo tēmu ir pieejami multivides faili. Skatīt: ***Skaitītājs***.

|  |  |  |
| --- | --- | --- |
| 

|  |  |
| --- | --- |
| Autoritatīvā vadība | 
* GND: 4190463-1
* NKC: ph128233

 |

 |