Нужна помощь... Есть программа для Atmeg8, что в ней изменить чтоб она заработала на Atmeg128 ?
P.S. Компелировалась в AVRstudio
Spoiler
.include "m8def.inc"
.def a=r16
.def a2=r17
.org $0
rjmp reset; Reset Handler
nop ; IRQ0 Handler
nop ; IRQ1 Handler
rjmp tcnt2_step; Timer2 Compare Handler
nop ; Timer2 Overflow Handler
nop ; Timer1 Capture Handler
nop ; Timer1 CompareA Handler
nop ; Timer1 CompareB Handler
nop ; Timer1 Overflow Handler
nop ; Timer0 Overflow Handler
nop ; SPI Transfer Complete Handler
nop; rjmp rxd ; USART RX Complete Handler
nop ; UDR Empty Handler
nop ; USART TX Complete Handler
nop ; ADC Conversion Complete Handler
nop ; EEPROM Ready Handler
nop ; Analog Comparator Handler
nop ;
nop ; Store Program Memory Ready
;.org $20
;-------------------2 МГц-------------------------------------
reset: ldi a,high(RAMEND); Main program start
out SPH,a ; Set Stack Pointer to top of RAM
ldi a,low(RAMEND)
out SPL,a
clr a
out TCNT2,a;очистка счетчика
ldi a,250
out OCR2,a;скорость по умолчанию
ldi a,0b00001011;предделитель на 32
out TCCR2,a
ldi a,0b10000000
out TIMSK,a;вкл прерывания по сравнению от ТС2
clr a
out PORTB,a
out PORTD,a
ser a
out DDRB,a
out DDRD,a
clr YH
clr YL
ldi a,0b01000101
out admux,a;0v,5-й канал ацп
nop
nop
ldi a,0b10000000
out adcsra,a;adc on
sei
;---------------------------------------------------------------
main: rcall opros_ADC
rjmp main
;-------------------------------------------------------------------------------------
opros_ADC: in a,adcsra
sbr a,(1<<ADSC)
out adcsra,a
aaaa: sbic adcsra,ADSC
rjmp aaaa
in a2,ADCL
in a,ADCH
lsr a;out portd,a2
ror a2
lsr a;
ror a2
lsr a;
ror a2
ldi a,50
add a,a2
out OCR2,a
ret
;-------------------------------------------------------------------------------------
;-----------------------------------------------------------
out_sin: ldi ZH,high(data*2)
ldi ZL,low(data*2)
add ZL,YL
adc ZH,YH
lpm a,Z
rcall change_to_bit
out PORTB,a;high
out PORTD,a2;low
ret
;-----------------------------------------------------------
change_to_bit: cpi a,0
brne ctb01
ldi a,0b00000000
ldi a2,0b00000001
ret
ctb01: cpi a,1
brne ctb02
ldi a,0b00000000
ldi a2,0b00000010
ret
ctb02: cpi a,2
brne ctb03
ldi a,0b00000000
ldi a2,0b00000100
ret
ctb03: cpi a,3
brne ctb04
ldi a,0b00000000
ldi a2,0b00001000
ret
ctb04: cpi a,4
brne ctb05
ldi a,0b00000000
ldi a2,0b00010000
ret
ctb05: cpi a,5
brne ctb06
ldi a,0b00000000
ldi a2,0b00100000
ret
ctb06: cpi a,6
brne ctb08
ldi a,0b00000000
ldi a2,0b01000000
ret
ctb08: cpi a,7
brne ctb09
ldi a,0b00000000
ldi a2,0b10000000
ret
ctb09: cpi a,8
brne ctb010
ldi a,0b00000001
ldi a2,0b00000000
ret
ctb010: cpi a,9
brne ctb011
ldi a,0b00000010
ldi a2,0b00000000
ret
ctb011: cpi a,10
brne ctb012
ldi a,0b00000100
ldi a2,0b00000000
ctb012: ret
;-----------------------------------------------------------
tcnt2_step: push a
push a2
in a,SREG
push a
adiw YL,2
cpi YH,high(722)
brne out_reti
cpi YL,low(722)
brne out_reti
clr YH
clr YL
out_reti: rcall out_sin
pop a
out SREG,a
pop a2
pop a
reti
;-----------------------------------------------------------
data:
.db 5
.db 5
.db 5
.db 5
.db 5
.db 5
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 5
.db 5
.db 5
.db 5
.db 5
.db 5
.db 5
.db 5
.db 5
.db 5
.db 5
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 5
.db 5
.db 5
.db 5
.db 5
.db 5
Раздел: AVR
P.S. Компелировалась в AVRstudio
Spoiler
.include "m8def.inc"
.def a=r16
.def a2=r17
.org $0
rjmp reset; Reset Handler
nop ; IRQ0 Handler
nop ; IRQ1 Handler
rjmp tcnt2_step; Timer2 Compare Handler
nop ; Timer2 Overflow Handler
nop ; Timer1 Capture Handler
nop ; Timer1 CompareA Handler
nop ; Timer1 CompareB Handler
nop ; Timer1 Overflow Handler
nop ; Timer0 Overflow Handler
nop ; SPI Transfer Complete Handler
nop; rjmp rxd ; USART RX Complete Handler
nop ; UDR Empty Handler
nop ; USART TX Complete Handler
nop ; ADC Conversion Complete Handler
nop ; EEPROM Ready Handler
nop ; Analog Comparator Handler
nop ;
nop ; Store Program Memory Ready
;.org $20
;-------------------2 МГц-------------------------------------
reset: ldi a,high(RAMEND); Main program start
out SPH,a ; Set Stack Pointer to top of RAM
ldi a,low(RAMEND)
out SPL,a
clr a
out TCNT2,a;очистка счетчика
ldi a,250
out OCR2,a;скорость по умолчанию
ldi a,0b00001011;предделитель на 32
out TCCR2,a
ldi a,0b10000000
out TIMSK,a;вкл прерывания по сравнению от ТС2
clr a
out PORTB,a
out PORTD,a
ser a
out DDRB,a
out DDRD,a
clr YH
clr YL
ldi a,0b01000101
out admux,a;0v,5-й канал ацп
nop
nop
ldi a,0b10000000
out adcsra,a;adc on
sei
;---------------------------------------------------------------
main: rcall opros_ADC
rjmp main
;-------------------------------------------------------------------------------------
opros_ADC: in a,adcsra
sbr a,(1<<ADSC)
out adcsra,a
aaaa: sbic adcsra,ADSC
rjmp aaaa
in a2,ADCL
in a,ADCH
lsr a;out portd,a2
ror a2
lsr a;
ror a2
lsr a;
ror a2
ldi a,50
add a,a2
out OCR2,a
ret
;-------------------------------------------------------------------------------------
;-----------------------------------------------------------
out_sin: ldi ZH,high(data*2)
ldi ZL,low(data*2)
add ZL,YL
adc ZH,YH
lpm a,Z
rcall change_to_bit
out PORTB,a;high
out PORTD,a2;low
ret
;-----------------------------------------------------------
change_to_bit: cpi a,0
brne ctb01
ldi a,0b00000000
ldi a2,0b00000001
ret
ctb01: cpi a,1
brne ctb02
ldi a,0b00000000
ldi a2,0b00000010
ret
ctb02: cpi a,2
brne ctb03
ldi a,0b00000000
ldi a2,0b00000100
ret
ctb03: cpi a,3
brne ctb04
ldi a,0b00000000
ldi a2,0b00001000
ret
ctb04: cpi a,4
brne ctb05
ldi a,0b00000000
ldi a2,0b00010000
ret
ctb05: cpi a,5
brne ctb06
ldi a,0b00000000
ldi a2,0b00100000
ret
ctb06: cpi a,6
brne ctb08
ldi a,0b00000000
ldi a2,0b01000000
ret
ctb08: cpi a,7
brne ctb09
ldi a,0b00000000
ldi a2,0b10000000
ret
ctb09: cpi a,8
brne ctb010
ldi a,0b00000001
ldi a2,0b00000000
ret
ctb010: cpi a,9
brne ctb011
ldi a,0b00000010
ldi a2,0b00000000
ret
ctb011: cpi a,10
brne ctb012
ldi a,0b00000100
ldi a2,0b00000000
ctb012: ret
;-----------------------------------------------------------
tcnt2_step: push a
push a2
in a,SREG
push a
adiw YL,2
cpi YH,high(722)
brne out_reti
cpi YL,low(722)
brne out_reti
clr YH
clr YL
out_reti: rcall out_sin
pop a
out SREG,a
pop a2
pop a
reti
;-----------------------------------------------------------
data:
.db 5
.db 5
.db 5
.db 5
.db 5
.db 5
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 10
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 9
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 8
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 7
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 6
.db 5
.db 5
.db 5
.db 5
.db 5
.db 5
.db 5
.db 5
.db 5
.db 5
.db 5
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 0
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 1
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 2
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 3
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 4
.db 5
.db 5
.db 5
.db 5
.db 5
.db 5
Раздел: AVR