Advertisement
Guest User

Untitled

a guest
May 27th, 2015
303
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. st7/
  2.  
  3.     #include "mapping.inc"
  4.     #include "st72334n2.inc"
  5.  
  6.    
  7.     segment 'ram0'
  8.    
  9. display ds.b 1
  10.    
  11.     segment 'rom'
  12. tablica     dc.b %01111110,%00110000
  13.                     dc.b %11011010,%11111000
  14.                     dc.b %10110100,%11101100
  15.                     dc.b %11101110,%00111000
  16.                     dc.b %11111110,%11111100
  17.                     dc.b %10111110,%11100110
  18.                     dc.b %01001110,%11110010
  19.                     dc.b %11001110,%10001110
  20.  
  21. poczatek
  22.     rsp
  23. konfiguracja_portow
  24.     ld A,#%11111110
  25.     ld PDDDR,A
  26.     ld PDOR,A
  27.     ld A,#%00001100
  28.     ld PADDR,A
  29.     ld PAOR,A
  30.     ld A,#$C1
  31.     ld display,A
  32.    
  33. timerinit
  34.     ld A,#%00000000 ;przeranie wyjscie porownania
  35.     ld TACR2,A
  36.    
  37.    
  38. int_init ;inicjalizacja przerwania
  39.     bset TACR1,#6
  40.     rim
  41.     bset ADCCSR,#5
  42. .okres1 equ 10000
  43. .okres2 equ 15000
  44.  
  45. coco_chceck
  46.     btjf ADCCSR,#7,*
  47.     ld A,ADCDR
  48.     ld display,A
  49.     jp coco_chceck
  50. timerA_int
  51. ocf2_check
  52.     btjt TASR,#3,ocf2_res
  53. ocf1_res
  54.     ld A,TASR               ;zerowanie flagi OCF1
  55.     ld A,TAOC1LR            ;zerowanie flagi OCF1
  56.  
  57. zwieksz_rejestr_porow
  58.     ld A,TAOC1LR ;odczytanie mlodszego bajtu porownania
  59.     add A,#okres1.l ;dodanie mlodszych bajtow
  60.     ld X,A
  61.     ld A,TAOC1HR ;odczytanie starszego bajtu porownania
  62.     adc A,#okres1.h
  63.     ld TAOC1HR,A ;zapis nowego starszego bajtu porownania
  64.     ld TAOC1LR,X ;zapis nowego mlodszego bajtu porownania
  65.  
  66. test
  67.     btjt PADR,#3,segment_P
  68.  
  69. segment_L
  70.     bres PADR,#2
  71.     ld A,display
  72.     swap A
  73.     and A,#$0F
  74.     ld X,A
  75.     ld A,(tablica,X)
  76.     ld PDDR,A
  77.     bset PADR,#3
  78.     iret
  79.  
  80. segment_P
  81.     bres PADR,#3
  82.     ld A,display
  83.     and A,#$0F
  84.     ld X,A
  85.     ld A,(tablica,X)
  86.     ld PDDR,A
  87.     bset PADR,#2
  88.     iret
  89.  
  90. ocf2_res
  91.     ld A,TASR               ;zerowanie flagi OCF2
  92.     ld A,TAOC2LR            ;zerowanie flagi OCF2
  93.     iret
  94. infinite_loop
  95.     jra infinite_loop
  96.    
  97.     interrupt NonHandledInterrupt
  98. NonHandledInterrupt
  99.     iret
  100.  
  101.     segment 'vectit'
  102.     dc.w NonHandledInterrupt        ; irq13
  103.     dc.w NonHandledInterrupt        ; irq12
  104.     dc.w NonHandledInterrupt        ; irq11
  105.     dc.w NonHandledInterrupt        ; irq10
  106.     dc.w NonHandledInterrupt        ; irq9
  107.     dc.w timerA_int                 ; irq8
  108.     dc.w NonHandledInterrupt        ; irq7
  109.     dc.w NonHandledInterrupt        ; irq6
  110.     dc.w NonHandledInterrupt        ; irq5
  111.     dc.w NonHandledInterrupt        ; irq4
  112.     dc.w NonHandledInterrupt        ; irq3
  113.     dc.w NonHandledInterrupt        ; irq2
  114.     dc.w NonHandledInterrupt        ; irq1
  115.     dc.w NonHandledInterrupt        ; irq0
  116.     dc.w NonHandledInterrupt        ; trap
  117.     dc.w poczatek                               ; reset
  118.  
  119.     end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement