Advertisement
Guest User

Untitled

a guest
May 26th, 2015
297
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2.  * Termometr0.asm
  3.  *
  4.  *  Created: 2015-05-21 23:51:59
  5.  *   Author: D K K M P
  6.  */
  7.  
  8.  
  9.  
  10.  ldi r16,0b11111111 //włączamy cały port do sterowania Dekoderami
  11. sts portc_dir,r16
  12.  
  13.  
  14. ldi r16,0b00001100 //ustawiamy ADC w rozdzielczosci 8bit oraz trybie FREEMODE
  15. sts adca_ctrlb,r16
  16.  
  17. ldi r16,0b0010000 // zwiekszamy napiecie ADC na 1,6V
  18. sts adca_refctrl,r16
  19.  
  20. ldi r16,0b00000001 // ustawiamy tryb bezposredni single-ended
  21. sts adca_ch0_ctrl,r16
  22.  
  23.  
  24. ldi r16,0b00001001
  25. sts adca_ch0_muxctrl,r16 // ustawiamy port z ktorego bedziemy kożystac/podłączony jest termistor
  26.  
  27.  
  28. ldi r16,0b00000001 //tryb ADC bez kalibracjii
  29. sts adca_ctrla,r16
  30.  
  31.  
  32.  
  33.  
  34. start:
  35.     ldi r16,0b00000101
  36.     sts adca_ctrla,r16 //pojedyncza konwersja
  37.    
  38.    
  39.     sprawdzanie:
  40.    
  41.     lds r17,adca_ch0_res //pobieranie wyniku i przypisywanie go do rejesru R17
  42.    
  43.     cpi r17,0b11000011
  44.     brsh _17_st
  45.     cpi r17,0b10111011
  46.     brsh _18_st
  47.     cpi r17,0b10110101
  48.     brsh _19_st
  49.     cpi r17,0b10101110 // pętla porowwnojaca wartosci rejestru R17
  50.     brsh _20_st
  51.     cpi r17,0b10100111
  52.     brsh _21_st
  53.     cpi r17,0b10100001
  54.     brsh _22_st
  55.     cpi r17,0b10011011
  56.     brsh _23_st
  57.     cpi r17,0b10010101
  58.     brsh _24_st
  59.     cpi r17,0b10001111
  60.     brsh _25_st
  61.     cpi r17,0b10001010
  62.     brsh _26_st
  63.     cpi r17,0b10000100
  64.     brsh _27_st
  65.     cpi r17,0b10000000
  66.     brsh _28_st
  67.     cpi r17,0b01111011
  68.     brsh _29_st
  69.    
  70.     jmp sprawdzanie
  71.  
  72.  
  73.  
  74.  
  75.  
  76. _17_st:
  77.     ldi r16,0b00010111
  78.     sts portc_out,r16
  79.     call delay
  80.    
  81. _18_st:
  82.     ldi r16,0b00011000
  83.     sts portc_out,r16
  84.     call delay
  85.     /
  86. _19_st:
  87.     ldi r16,0b00011001
  88.     sts portc_out,r16
  89.     call delay
  90.    
  91. _20_st:                     //liczby w kodzie BCD do sterowania dekoderami
  92.     ldi r16,0b00100000
  93.     sts portc_out,r16
  94.     call delay
  95.    
  96. _21_st:
  97.     ldi r16,0b00100001
  98.     sts portc_out,r16
  99.     call delay
  100.  
  101. _22_st:
  102.     ldi r16,0b00100010
  103.     sts portc_out,r16
  104.     call delay
  105.  
  106. _23_st:
  107.     ldi r16,0b00100011
  108.     sts portc_out,r16
  109.     call delay
  110.  
  111. _24_st:
  112.     ldi r16,0b00100100
  113.     sts portc_out,r16
  114.     call delay
  115.  
  116. _25_st:
  117.     ldi r16,0b00100101
  118.     sts portc_out,r16
  119.     call delay
  120.  
  121. _26_st:
  122.     ldi r16,0b00100110
  123.     sts portc_out,r16
  124.     call delay
  125.  
  126. _27_st:
  127.     ldi r16,0b00100111
  128.     sts portc_out,r16
  129.     call delay
  130.  
  131. _28_st:
  132.     ldi r16,0b00101000
  133.     sts portc_out,r16
  134.     call delay
  135.  
  136. _29_st:
  137.     ldi r16,0b00101001
  138.     sts portc_out,r16
  139.     call delay
  140.  
  141.  
  142.     delay: // petla opoznien
  143.     clr r20
  144.     clr r21
  145.     delay_loop1:
  146.         delay_loop2:
  147.             inc r21
  148.             cpi r21,0b00111111
  149.             brne delay_loop2
  150.         clr r21
  151.         inc r20
  152.         cpi r20,0b00111111
  153.         brne delay_loop1
  154.     jmp start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement