Перейти к содержанию

Помогите Найти Ошибку В Программе На Ассамблере


Гость Павел

Рекомендуемые сообщения

мне нужно было исправить шим, а исходника не было, так вот я дизассемблировал файл .HEX, подправил чтобы компилировалось но ШИМ не ипсравлял пока, так вот новая прошивка работает не правильно, при подаче импульсов на 17ногу начинают работать выходы(33-36) и 100% ШИМ на 21 ноге идет и это правильно, но с вместе начинают синхронно работать выходы (22-25) и 100%ШИМ на 18 ноге чего не должно быть.Помогите найти ошибку, я до сегодняшнего дня дело с ассамблером не имел...

   .cseg
.org 0x0000
.equ k00=0x00
.equ k01=0x01
.equ k02=0x02
.equ k03=0x03
.equ k04=0x04
.equ k05=0x05
.equ k06=0x06
.equ k07=0x07
.equ k0A=0x0A
.equ k0B=0x0B
.equ k0C=0x0C
.equ k0D=0x0D
.equ k0F=0x0F
.equ k18=0x18
.equ k1E=0x1E
.equ k32=0x32 
.equ k4C=0x4C 
.equ k54=0x54
.equ k5F=0x5F
.equ k60=0x60 
.equ k6C=0x6C 
.equ k80=0x80
.equ kA1=0xA1
.equ kB3=0xB3 
.equ kE0=0xE0
.equ kF0=0xF0 
.equ kF4=0xF4
.equ kFB=0xFB
.equ kFF=0xFF
.equ p08=0x08
.equ p0B=0x0B
.equ p0C=0x0C
.equ p11=0x11
.equ p12=0x12
.equ p13=0x13
.equ p14=0x14
.equ p15=0x15
.equ p17=0x17
.equ p18=0x18
.equ p1A=0x1A
.equ p1B=0x1B
.equ p1C=0x1C
.equ p21=0x21
.equ p22=0x22
.equ p23=0x23
.equ p24=0x24
.equ p25=0x25
.equ p26=0x26
.equ p27=0x27
.equ p28=0x28
.equ p29=0x29
.equ p2A=0x2A
.equ p2B=0x2B
.equ p2C=0x2C
.equ p2D=0x2D
.equ p2E=0x2E
.equ p2F=0x2F
.equ p30=0x30
.equ p32=0x32
.equ p33=0x33
.equ p34=0x34
.equ p35=0x35
.equ p39=0x39
.equ p3A=0x3A
.equ p3B=0x3B
.equ p3C=0x3C
.equ p3D=0x3D
.equ p3E=0x3E
.equ p3F=0x3F
.equ b0=0x00
.equ b1=0x01
.equ b2=0x02
.equ b3=0x03
.equ b4=0x04
.equ b5=0x05
.equ b6=0x06
.equ b7=0x07
L0000:
jmp _reset
jmp L005B
jmp L0075
jmp L0000
jmp L0000
jmp L0000
jmp L0000
jmp L0000
jmp L0000
jmp L00A9
jmp L0000
jmp L0000
jmp L0000
jmp L0000
jmp L0000
jmp L0000
jmp L0000
jmp L0000
jmp L008F
jmp L0000
jmp L0000
nop
_reset:
cli
clr r30
out p1C,r30
ldi r31,k01
out p3B,r31
out p3B,r30
out p35,r30
ldi r31,k18
out p21,r31
out p21,r30
ldi r24,k0D
ldi r26,k02
clr r27
L0038:
st X+,r30
dec r24
 brne L0038
ldi r24,k00
ldi r25,k04
ldi r26,k60
L003E:
st X+,r30
sbiw r24,k01
 brne L003E
ldi r30,k54
ldi r31,k00
L0043:
lpm r24,Z+
lpm r25,Z+
sbiw r24,k00
 breq L0053
lpm r26,Z+
lpm r27,Z+
lpm r0,Z+
lpm r1,Z+
movw r22,r30
movw r30,r0
L004D:
lpm r0,Z+
st X+,r0
sbiw r24,k01
 brne L004D
movw r30,r22
rjmp L0043
L0053:
ldi r30,k5F
out p3D,r30
ldi r30,k04
out p3E,r30
ldi r28,k60
ldi r29,k01
jmp L00D4
L005B:
st -Y,r30
in r30,p3F
st -Y,r30
sbi p18,b0
 sbic p13,b4
 rjmp L0067
inc r4
ldi r30,k07
cp r30,r4
 brcc L0066
clr r4
L0066:
rjmp L006C
L0067:
dec r4
ldi r30,k07
cp r30,r4
 brcc L006C
mov r4,r30
L006C:
ldi r30,kFF
out p2A,r30
ldi r30,k1E
mov r7,r30
cbi p18,b0
ld r30,Y+
out p3F,r30
ld r30,Y+
reti
L0075:
st -Y,r30
in r30,p3F
st -Y,r30
sbi p18,b1
 sbic p13,b5
 rjmp L0081
inc r5
ldi r30,k07
cp r30,r5
 brcc L0080
clr r5
L0080:
rjmp L0086
L0081:
dec r5
ldi r30,k07
cp r30,r5
 brcc L0086
mov r5,r30
L0086:
ldi r30,kFF
out p23,r30
ldi r30,k1E
mov r8,r30
cbi p18,b1
ld r30,Y+
out p3F,r30
ld r30,Y+
L008F:
st -Y,r30
in r30,p3F
st -Y,r30
sbi p12,b0
 sbic p13,b6
 rjmp L009B
inc r6
ldi r30,k07
cp r30,r6
 brcc L009A
clr r6
L009A:
rjmp L00A0
L009B:
dec r6
ldi r30,k07
cp r30,r6
 brcc L00A0
mov r6,r30
L00A0:
ldi r30,kFF
out p28,r30
ldi r30,k1E
mov r9,r30
cbi p12,b0
ld r30,Y+
out p3F,r30
ld r30,Y+
reti
L00A9:
st -Y,r30
in r30,p3F
st -Y,r30
ldi r30,k0C
out p32,r30
ldi r30,k00
cp r30,r7
 brcc L00B3
dec r7
rjmp L00B6
L00B3:
ldi r30,k32
out p2A,r30
sbi p18,b0
L00B6:
ldi r30,k00
cp r30,r8
 brcc L00BB
dec r8
rjmp L00BE
L00BB:
ldi r30,k32
out p23,r30
sbi p18,b1
L00BE:
ldi r30,k00
cp r30,r9
 brcc L00C3
dec r9
rjmp L00C6
L00C3:
ldi r30,k32
out p28,r30
sbi p12,b0
L00C6:
ldi r30,k00
cp r30,r7
 brne L00CD
cp r30,r8
 brne L00CD
cp r30,r9
 breq L00CF
L00CD:
sbi p12,b1
rjmp L00D0
L00CF:
cbi p12,b1
L00D0:
ld r30,Y+
out p3F,r30
ld r30,Y+
reti
L00D4:
ldi r30,k00
out p1B,r30
ldi r30,kFF
out p1A,r30
ldi r30,k04
out p18,r30
ldi r30,kFB
out p17,r30
ldi r30,kF0
out p15,r30
ldi r30,k0F
out p14,r30
ldi r30,k4C
out p12,r30
ldi r30,kB3
out p11,r30
ldi r30,k00
out p33,r30
ldi r30,k0C
out p32,r30
ldi r30,kF4
out p3C,r30
ldi r30,k05
out p33,r30
ldi r30,kA1
out p2F,r30
ldi r30,k0B
out p2E,r30
ldi r30,k00
out p2D,r30
out p2C,r30
out p27,r30
out p26,r30
out p2B,r30
out p2A,r30
out p29,r30
out p28,r30
out p22,r30
ldi r30,k6C
out p25,r30
ldi r30,k00
out p24,r30
out p23,r30
in r30,p3B
ori r30,kE0
out p3B,r30
ldi r30,k0A
out p35,r30
ldi r30,k00
out p34,r30
ldi r30,kE0
out p3A,r30
ldi r30,k01
out p39,r30
ldi r30,k80
out p08,r30
ldi r30,k00
out p30,r30
sei
ldi r30,k32
out p2A,r30
out p23,r30
out p28,r30
L0113:
mov r30,r4
 call L01E8
 brne L011C
sbi p1B,b3
cbi p1B,b2
cbi p1B,b1
cbi p1B,b0
rjmp L0156
L011C:
cpi r30,k01
ldi r26,k00
cpc r31,r26
 brne L0125
sbi p1B,b3
sbi p1B,b2
cbi p1B,b1
cbi p1B,b0
rjmp L0156
L0125:
cpi r30,k02
ldi r26,k00
cpc r31,r26
 brne L012E
cbi p1B,b3
sbi p1B,b2
cbi p1B,b1
cbi p1B,b0
rjmp L0156
L012E:
cpi r30,k03
ldi r26,k00
cpc r31,r26
 brne L0137
cbi p1B,b3
sbi p1B,b2
sbi p1B,b1
cbi p1B,b0
rjmp L0156
L0137:
cpi r30,k04
ldi r26,k00
cpc r31,r26
 brne L0140
cbi p1B,b3
cbi p1B,b2
sbi p1B,b1
cbi p1B,b0
rjmp L0156
L0140:
cpi r30,k05
ldi r26,k00
cpc r31,r26
 brne L0148
cbi p1B,b3
cbi p1B,b2
sbi p1B,b1
rjmp L0155
L0148:
cpi r30,k06
ldi r26,k00
cpc r31,r26
 brne L014E
cbi p1B,b3
rjmp L0153
L014E:
cpi r30,k07
ldi r26,k00
cpc r31,r26
 brne L0156
sbi p1B,b3
L0153:
cbi p1B,b2
cbi p1B,b1
L0155:
sbi p1B,b0
L0156:
mov r30,r5
 call L01E8
 brne L015F
sbi p1B,b7
cbi p1B,b6
cbi p1B,b5
cbi p1B,b4
rjmp L0199
L015F:
cpi r30,k01
ldi r26,k00
cpc r31,r26
 brne L0168
sbi p1B,b7
sbi p1B,b6
cbi p1B,b5
cbi p1B,b4
rjmp L0199
L0168:
cpi r30,k02
ldi r26,k00
cpc r31,r26
 brne L0171
cbi p1B,b7
sbi p1B,b6
cbi p1B,b5
cbi p1B,b4
rjmp L0199
L0171:
cpi r30,k03
ldi r26,k00
cpc r31,r26
 brne L017A
cbi p1B,b7
sbi p1B,b6
sbi p1B,b5
cbi p1B,b4
rjmp L0199
L017A:
cpi r30,k04
ldi r26,k00
cpc r31,r26
 brne L0183
cbi p1B,b7
cbi p1B,b6
sbi p1B,b5
cbi p1B,b4
rjmp L0199
L0183:
cpi r30,k05
ldi r26,k00
cpc r31,r26
 brne L018B
cbi p1B,b7
cbi p1B,b6
sbi p1B,b5
rjmp L0198
L018B:
cpi r30,k06
ldi r26,k00
cpc r31,r26
 brne L0191
cbi p1B,b7
rjmp L0196
L0191:
cpi r30,k07
ldi r26,k00
cpc r31,r26
 brne L0199
sbi p1B,b7
L0196:
cbi p1B,b6
cbi p1B,b5
L0198:
sbi p1B,b4
L0199:
mov r30,r6
 call L01E8
 brne L01A2
sbi p15,b3
cbi p15,b2
cbi p15,b1
cbi p15,b0
rjmp L01DC
L01A2:
cpi r30,k01
ldi r26,k00
cpc r31,r26
 brne L01AB
sbi p15,b3
sbi p15,b2
cbi p15,b1
cbi p15,b0
rjmp L01DC
L01AB:
cpi r30,k02
ldi r26,k00
cpc r31,r26
 brne L01B4
cbi p15,b3
sbi p15,b2
cbi p15,b1
cbi p15,b0
rjmp L01DC
L01B4:
cpi r30,k03
ldi r26,k00
cpc r31,r26
 brne L01BD
cbi p15,b3
sbi p15,b2
sbi p15,b1
cbi p15,b0
rjmp L01DC
L01BD:
cpi r30,k04
ldi r26,k00
cpc r31,r26
 brne L01C6
cbi p15,b3
cbi p15,b2
sbi p15,b1
cbi p15,b0
rjmp L01DC
L01C6:
cpi r30,k05
ldi r26,k00
cpc r31,r26
 brne L01CE
cbi p15,b3
cbi p15,b2
sbi p15,b1
rjmp L01DB
L01CE:
cpi r30,k06
ldi r26,k00
cpc r31,r26
 brne L01D4
cbi p15,b3
rjmp L01D9
L01D4:
cpi r30,k07
ldi r26,k00
cpc r31,r26
 brne L01DC
sbi p15,b3
L01D9:
cbi p15,b2
cbi p15,b1
L01DB:
sbi p15,b0
L01DC:
rjmp L0113
L01DD:
rjmp L01DD
L01DE:
 sbis p0B,b7
 rjmp L01DE
in r30,p0C
ret
L01E2:
 sbis p0B,b5
 rjmp L01E2
ldd r30,Y+k00
out p0C,r30
adiw r28,k01
ret
L01E8:
ldi r31,k00
sbiw r30,k00
ret

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...