Знаю что надо поочереди транзисторы включать, интересует именно сама программа. С какой скоростью и т.д.
Спасибо

|  | roboforum.ruТехнический форум по робототехнике. |  | 






.include "2313def.inc"
; ***** объявление переменных *****************
   .def   del_set      =r9
   .def   lcd         =r24
   .def   tmp         =r25
   .def   count      =r26
   .def   second      =r29
   
; ************** векторы прерываний ***********
      rjmp    RESET           ;Reset Handle
        reti                    ;irq0
        reti                    ;irq1
        reti                    ;timer1
        reti                    ;timer1 comA
        reti                  ;timer1 over
        rjmp   OVER0           ;timer0 over
        reti                    ;spi
        reti                    ;uart
        reti                    ;uart
        reti                    ;uart
        reti                    ;anacomp
; *********************************************
; ***** вектор прерывания переп. Т1 ***********
OVER0:
   ldi tmp,177         
   out TCNT0,tmp      ;корректировка таймера
;**************** ПОДПРОГРАММЫ ****************
   rcall clock
   rcall out_display
   reti
; ***** выход из обработчика прерывания *******
; ***** подпрограмма секундного счетчика ******
clock:
   inc count      
   cpi count,198      
   brne nochange      
   clr count      
   inc second      
   mov tmp,second   
   andi tmp,0x0f   
   cpi tmp,10      
   brne nochange   
   andi second,0xf0
   ldi tmp,0x10      
   add second, tmp
   cpi second,0x60
   brne nochange
   clr second
nochange:
   ret
; ***** вывод на дисплей **********************
out_display:
   cbi portD,0
   cbi portD,1
      
   inc lcd            
   cpi lcd,1
   brne d2
   sbi portD,0
   rjmp digit1
d2:   
   cpi lcd,2
   brne d3
   
   sbi portD,1
   rjmp digit2
d3:
   clr lcd
digit1:
   mov tmp,second
   swap tmp
   andi tmp,0x0f
   out EEAR, tmp
   sbi EECR, EERE
   in tmp, EEDR
   out portB,tmp
   rjmp exit
digit2:
   mov tmp,second
   andi tmp,0x0f
   out EEAR, tmp
   sbi EECR, EERE
   in tmp, EEDR
   out portB,tmp
exit:
   ret
; ***** обработка прерывания сброса ***********
reset:   
   ldi second,0
   clr tmp      ;очистка регистра 
   ldi tmp,$6f   ;установка значений битов регистра
   out SPL,tmp   ;установка начального адреса стека
   clr tmp
   sei   
   clr tmp
   ldi tmp,0x02   ;установка значений битов регистра
   out TIMSK,tmp   ;установка битов в TIMSK
   clr tmp
   ldi tmp,0x04
   out TCCR0,tmp   ;запуск таймера
   ldi tmp,177
   out TCNT0,tmp
   clr count
   ldi tmp,0xff
   out DDRB,tmp
   out DDRD,tmp
next:   
   rjmp next   
; ***** сегмент EЕPROMа ***********************
.eseg         
   .org 0
table1:
   .db 0x40, 0x79, 0x24, 0x30, 0x19, 0x12, 0x02, 0x78, 0x00, 0x10, 0xFF
   ;dig  0       1     2     3     4     5     6     7     8     9
aliens писал(а):Расскажите ламеру что означает запись 1<<что-то (SE,CS02)
aliens писал(а):eseg
.org 0
table1:
.db 0x40, 0x79, 0x24, 0x30, 0x19, 0x12, 0x02, 0x78, 0x00, 0x10, 0xFF
;dig 0 1 2 3 4 5 6 7 8 9
aliens писал(а):Расскажите ламеру что означает запись 1<<что-то (SE,CS02)


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0