Advertisement
sombruxo

Untitled

Apr 11th, 2025 (edited)
700
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ASM (NASM) 1.37 KB | Source Code | 0 0
  1. start:
  2.     ldi r16, 0b11111111
  3.     out ddrd, r16
  4.     RCALL config_salida ;Puerto para ver el valor convertido.
  5.     RCALL config_ADC ;Configurar el conversor ADC
  6.     conv:
  7.         LDS r17, ADCSRA
  8.         ORI r17, (1<< ADSC)
  9.         STS ADCSRA, r17
  10.         bit:
  11.             LDS r20, ADCSRA
  12.             SBRC r20, ADSC
  13.             rjmp bit
  14.         LDS r21, ADCH
  15.         LDI r22, 255
  16.         sub r22, r21
  17.         out OCR0A, r22
  18.     rjmp conv
  19.  
  20.  
  21. config_ADC_v2:
  22.     push r16
  23.     LDI R16, (1<<ADEN)
  24.     ;ADC Enable
  25.     ORI R16, (0<<ADATE)
  26.     ;ADC Auto Trigger Enable
  27.     ORI R16, (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0)
  28.     ;ADPSx=3: ADC Prescaler Select Bits (ADPS2:0=111 -> 128)
  29.     STS ADCSRA, R16
  30.     ;_> ADOSRA: The ADC Control and Status register A
  31.     LDI R16, (0<<ADTS2) | (0<<ADTS1) | (1<<ADTS0)
  32.     ;ADTSx-1: trigger source Analog Comparator
  33.     STS ADCSRB, R16
  34.     ;-> ADCSRB: The ADC Control and Status register B
  35.     LDI R16, (1<<MUX0)
  36.     ;MUXx-1: input channel 1: MUX5:0-00001
  37.     ORI R16, (0<<REFS1) | (1<<REFS0)
  38.     ;AREF-1: internal SV reference (REF$1:0-01)
  39.     ORI R16, (1<<ADLAR)
  40.     ;ADC 8 bits resolution
  41.     STS ADMUX, R16
  42.     ; -> ADMUX: The ADC multiplexer Selection Register
  43.     LDI R16, (1<<ADC1D)
  44.     ;ADC disable digital input circuitry for channel 1 (saves
  45.     energy)
  46.     STS DIDR0, R16
  47.     ; -> DIDRO: Digital Input Disable Register
  48.     LDI R16, (0<<PRADC)
  49.     ;ADC disable the power reduction saving for the ADC circuitry
  50.     (not necesary)
  51.     STS PRR, R16
  52.     ;-> PRR: Power Reduction Register
  53.     pop r16
  54. RET
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement