
Добавлено спустя 43 секунды:
исправил
 ![]()  | 
			
					roboforum.ruТехнический форум по робототехнике.  | 
			
				
					 | 
		

   .cseg                               ;
          .org $0000                         ;
        .def temp=r16                        ;íàçíà÷åíèå ðàáî÷èõ ðåãèñòðîâ
        .def tempH=r17                       ;
        .def tempL=r18                       ;
        .dseg                                ;
        .eseg                                ;
        .cseg                                ;
        .equ BUT =PD0                       ;êíîïêà íà ïîðò Ä1
        .equ L1   = PB0                   ;na port B1 podklucen svetodiod1
        .equ L2 = PB1                     ;na port B2 podklucen svetodiod2
        .equ L3 =  PB2                      ;na port B3 podklucen svetodiod3
        rjmp reset                           ;åïðåõîä ê íàçíà÷åíèþ ðàá ðåãèñòðîâ
        reset:                               ;
               ldi tempH,$04                 ;ob etom v dvuh slovah 
               out SPH,tempH                 ;napisat mozno
               ldi tempL,$5F                 ;no poka rano
               out SPL,tempL                 ;prosto schitay eto neobhodimiy tipo include
        ;nastroyka portov
               ldi temp, 0b00000111          ;naznachaem port B1 vihod ostalnie vhodi
               out DDRB, temp                ;çàïèñü â ðåã
               ldi temp, 0b00000000          ;0 na vihod port B1
               out portb, temp               ;âûâîä ïîðòà á
             ldi temp, 0b00000000            ;ïäîðò ä, ïèí1-âõîä
             out ddrd, temp                  ;çàïèñü â ðåã
             ldi temp, 0b00000000            ; podnyazka na pin1
             out portd, temp                  ;âûâîä ïîðòà ä
             ;  rjmp stapt                    ;idem na start 
        start:                               ;glavnaia programma
               sbis portd, BUT              ;schit knopki
               sbi portb, L1              ; vkl led1
              rjmp start                     ; íà ñ÷èò êíîïêè       
               sbi portb, L2               ;âêë ëåä
              rjmp start                     ;íà ñ÷èò êíîïêè 
               sbi portb,L3               ;âêë ëåä3
               ret
.includi "m8def.inc"
.include "m8def.inc" ;определение мк
.org $0000
.def temp r=16  ;назначение рабочего регистра
.cseg
.eseg
.dseg
.equ led = pb0                   ;присвоение имени
  reset:                               ;
               ldi tempH,$04                 ;тут пока не знаю,
               out SPH,tempH                 ;но думаю, это
               ldi tempL,$5F                 ;определение режима работы 
               out SPL,tempL                 ;регистра - рыба
        ;nastroyka portov
  ldi temp, 0b00000001        ;пин1, выход
  out ddrb, temp              ; запись в рег
 ldi temp, 0b00000000        ; подт нет
 out portb, temp             ; вывод порта Б
init:
   sbi portb, led       ;вкл сд
   ret
.include "m8def.inc" ;определение мк
.org $0000
.def temp r=16  ;назначение рабочего регистра
.cseg
.eseg
.dseg
.equ led = pb0                   ;присвоение имени
  reset:                               ;
               ldi tempH,$04                 ;тут пока не знаю,
               out SPH,tempH                 ;но думаю, это
               ldi tempL,$5F                 ;определение режима работы 
               out SPL,tempL                 ;регистра - рыба
        ;nastroyka portov
  ldi temp, 0b00000001        ;пин1, выход
  out ddrb, temp              ; запись в рег
 ldi temp, 0b00000000        ; подт нет
 out portb, temp             ; вывод порта Б
init:
   sbi portb, led       ;вкл сд
   nop                  ;задержки
   nop ;
   nop  ;
  nop ;
  nop ;
 nop ;
 cbi portb, led  ;выкл сд
 nop                  ;задержки
   nop ;
   nop  ;
  nop ;
  nop ;
 nop ;
rjmp init   ; переход в начало. зациклили.
 
.include "m8def.inc" ;определение мк
.org $0000
.def temp r=16  ;назначение рабочего регистра
.def tempH r=17
.def tempL r=18
.cseg
.eseg
.equ led = pb0                   ;присвоение имени
.equ but = pd0                   присвоение имени кнопки на порт д (посаена на +)
  reset:                               ;
               ldi tempH,$04                 ;тут пока не знаю,
               out SPH,tempH                 ;но думаю, это
               ldi tempL,$5F                 ;определение режима работы 
               out SPL,tempL                 ;регистра - рыба
        ;nastroyka portov
  ldi temp, 0b00000001        ;пин1, выход
  out ddrb, temp              ; запись в рег
 ldi temp, 0b00000000        ; подт нет
 out portb, temp             ; вывод порта Б
 
 ldi temp, 0b00000000        ; пин1 порта д вход
 out ddrd, temp             ;запись в рег
 ldi temp, 0b00000001       ;подт на пин1
 out portd, temp            ; вывод порта
init:
  sbis portd, but       ; считывание + с кнопки
  sbi portb, led        ;если на кнопке +, то вкл сд
  rjmp init

legion писал(а):Здесь опечатка:
.def temp r=16 ;назначение рабочего регистра
И у тебя код размещен в сегменте ОЗУ - .dseg, а надо в сегменте кода - .cseg
А еще tempH и tempL не определены.
.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0