Дизассемблер(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено RUAL 13 января 2004 г. 13:30
В ответ на: И как именно? отправлено Bill 13 января 2004 г. 13:02


6: void timer0 (void) interrupt 1 using 3
7: { // 5000 Гц
8: static unsigned char t0, t1, t2, ov_cnt, a;
9:
C:0x0C91 C0E0 PUSH ACC(0xE0)
C:0x0C93 C0D0 PUSH PSW(0xD0)
10: t_cnt++; //увеличим счетчик периода вращения вала
11:
C:0x0C95 050C INC 0x0C
C:0x0C97 E50C MOV A,0x0C
C:0x0C99 7002 JNZ C:0C9D
C:0x0C9B 050B INC t_cnt(0x0B)
12: if (!--t0)
C:0x0C9D D50E17 DJNZ 0x0E,C:0CB7
13: {
14: if (!--t1)
C:0x0CA0 D50F0D DJNZ 0x0F,C:0CB0
15: {
16: if (!--t2)
C:0x0CA3 D51005 DJNZ 0x10,C:0CAB
17: {
18: //-------
19: t2 = 60;
20: return;
C:0x0CA6 75103C MOV 0x10,#0x3C
C:0x0CA9 8038 SJMP C:0CE3
21: }
22: //-------
23: t1 = 100;
24: return;
C:0x0CAB 750F64 MOV 0x0F,#0x64
C:0x0CAE 8033 SJMP C:0CE3
25: }// 1Гц
26: t0 = 50;
C:0x0CB0 750E32 MOV 0x0E,#0x32
27: rich_tim = 1;
28: return;
C:0x0CB3 D21B SETB rich_tim(0x23.3)
C:0x0CB5 802C SJMP C:0CE3
29: }//100 Гц
30: //else
31: // {
32: if (rich) RICHCON(); //ШИМ упр. заслонкой
C:0x0CB7 30191A JNB rich(0x23.1),C:0CD4
C:0x0CBA E50E MOV A,0x0E
C:0x0CBC C3 CLR C
C:0x0CBD 9508 SUBB A,dr_set(0x08)
C:0x0CBF 500F JNC C:0CD0
C:0x0CC1 301A06 JNB rich_dir(0x23.2),C:0CCA
C:0x0CC4 D2A7 SETB RICHCON1(0xA0.7)
C:0x0CC6 C2A6 CLR RICHCON2(0xA0.6)
C:0x0CC8 800A SJMP C:0CD4
C:0x0CCA C2A7 CLR RICHCON1(0xA0.7)
C:0x0CCC D2A6 SETB RICHCON2(0xA0.6)
C:0x0CCE 8004 SJMP C:0CD4
C:0x0CD0 C2A7 CLR RICHCON1(0xA0.7)
C:0x0CD2 C2A6 CLR RICHCON2(0xA0.6)
33: RICHOL(); //блокировка при перегрузке
34: // }
C:0x0CD4 30A009 JNB RICHOVER(0xA0.0),C:0CE0
C:0x0CD7 D51109 DJNZ 0x11,C:0CE3
C:0x0CDA C2A7 CLR RICHCON1(0xA0.7)
C:0x0CDC C2A6 CLR RICHCON2(0xA0.6)
C:0x0CDE 8003 SJMP C:0CE3
C:0x0CE0 751150 MOV 0x11,#0x50
35: }
C:0x0CE3 D0D0 POP PSW(0xD0)
C:0x0CE5 D0E0 POP ACC(0xE0)
C:0x0CE7 32 RETI C:0x0CDE C2A6 CLR RICHCON2(0xA0.6)
C:0x0CE0 8003 SJMP C:0CE5
C:0x0CE2 751550 MOV 0x15,#0x50
31: }
C:0x0CE5 D0D0 POP PSW(0xD0)
C:0x0CE7 D0E0 POP ACC(0xE0)
C:0x0CE9 32 RETI


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru