H25HH

Mikroprotsessorid. Automaatiku 411 vana ainekava
------------------------------------------------

Teemad
~~~~~~

  + Mikroprotsessori ehituse põhimõtted (FBD, Digitaal Skeemid)
  + Mikroprotsessori käskude liigitus. Assembleri mõiste (IL)
  + Katkestused ja adresseerimise süsteemid. (C/C++)
  
Sulgudesse on näidatud keeled, millega on teema läbimise käigus oluline tuttavaks saada.

Raskuse astmed
~~~~~~~~~~~~~~
  
  1. Logo! / Logisim (FBD)
  2. AVR / Arduino (Spice/C/C++)
  3. Raspberry Pi / Intel Euclides (Python/C++)
  
On vaja teha vähemalt 1 praktiline töö igast teemast.

Praktiline töö N1. Panna valitud makett töötama nii, et muutes sisendite seisu tekiks illusioon, nagu tegemist oleks digitaaltehnika kombinatsioonskeemiga (4 sisendit 1 väljund):

                           MSB(F)               LSB(0)
Variandid f(x3,x2,x1,x0) =      bbbbbbbb bbbbbbbb      on antud kümnendkoodis. 

Näide
~~~~~

Antud arv kümnendsüsteemis: 39451

Leiame, et kahendsüsteemis sellele arvule vastab: 1001 1010 0001 1001

Täidame tõesustabeli.

  Logisim:
  
    Window -> Combinational Analysis:
    
      Inputs:  x3 x2 x1 x0
      
      Outputs: f
      
      Table:  x3 x2 x1 x0 | f
             -------------+---
               0  0  0  0 | 1
               0  0  0  1 | 0
               0  0  1  0 | 0
               0  0  1  1 | 1
               0  1  0  0 | 1
               0  1  0  1 | 0
               0  1  1  0 | 0
               0  1  1  1 | 0
               1  0  0  0 | 0
               1  0  0  1 | 1
               1  0  1  0 | 0
               1  0  1  1 | 1
               1  1  0  0 | 1
               1  1  0  1 | 0
               1  1  1  0 | 0
               1  1  1  1 | 1  MSB
               
      Minimized (Karnaugh kaart ja loogikatehe)
      
                x1,x0
                00 01 11 10
            00  1  0  1  0
      x3,x2 01  1  0  0  0
            11  0  0  0  0
            10  0  1  1  0
            
            !x3!x1!x0+!x2x1x0 +x2!x1!x0+x3!x2x0
            
      Build Circuit: Circuit Name: 39451
                     [v] Use Two-Input Gates Only 
                     [ ] Use NAND Gates Only

Vajutage [ OK ] skeemi ehitamiseks. Saadud skeem tuleb käsitsi joonistada ümber Siemens Logo v.6 keskkonda, käivitada skeem simulaatoril ning salvestada programm maketti (Tools -> Transfer -> PC to Logo!). Sisendite olek peaks olema nähtav lampidel 0..3, väljund lampidel 4..7
            
Variandid
---------

py.py

  from random import randrange

  MAX = 65535
  f = []
  for x in range(20):
      ff = randrange(0, MAX)
      while ff in f:
          ff = randrange(0, MAX)
      f.append( ff)
      print "%02d." % x, "%05d" % f[x]

  $ python py.py
  
  00. 04077
  01. 16050
  02. 48926
  03. 48787
  04. 28457
  05. 64619
  06. 21724
  07. 39488
  08. 03889
  09. 34046
  10. 15234
  11. 42479
  12. 40971
  13. 36427
  14. 49221
  15. 32085
  16. 65035
  17. 01097
  18. 25727
  19. 42275
