.include "../tn13Adef.INC"
.org $0000
init: ;prescaler 50-200KHz, sys clock 1.2MHz
ldi r16,0b11100011 ;[ADEN(ENABLE),ADSC(START),ADATE,ADIF,ADIE,ADPS2,ADPS1,ADPS0]
out ADCSRA,r16 ;start adc
ldi r16,0b00000011 ;r16 = 3
out ADMUX,r16 ;select channel 3 (PORT B3)
sbi PORTB,PORTB3 ;enable pullup
sbi DDRB,0 ;set PORT B0 as output
main:
in r16,ADCL
in r17,ADCH
rcall delay
sbi PINB,0
rjmp main
delay:
dec r16
brne delay
ret
PWM (Pulse-Width Modulation) di AVR memungkinkan output di AVR ATTiny13 berkelakuan seperti analog, dengan resolusi 256 atau, jika dihubungkan ke LED, memiliki 256 tingkat ke-terang-an (redup-terang).
Program diatas menggunakan ADC di port B3 untuk mengontrol tingkat terang-redup LED di port B0
No comments:
Post a Comment