roboforum.ru

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

серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Блоги посетителей.
Правила форума
В данном разделе каждый может иметь не более одной темы. Тема должна начинаться с логина (ника) робофорума.

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение Grem » 09 дек 2011, 02:24

KitaPro писал(а):А зачем?.. Их же уже не выпускают. Для обучения и знакомства с МП самое то

У нас в универе в чемоданах стоят такие. Жестокая хрень :D
"There is nothing better than sliding down snow and flying through the air" (с) Shane McConkey.
Lieber ein Brett am Fuß als eins vorm Kopf, aber lieber ein Brett vorm Kopf als zwei am Fuß.
Аватара пользователя
Grem
 
Сообщения: 1530
Зарегистрирован: 16 май 2009, 12:50
Откуда: Россия
прог. языки: Java, C

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение KitaPro » 09 дек 2011, 07:35

Grem писал(а):У нас в универе в чемоданах стоят такие. Жестокая хрень :D

+1 У нас такие же чемоданы)
KitaPro
 
Сообщения: 127
Зарегистрирован: 30 сен 2011, 20:33
Откуда: Мурманск
ФИО: Никита

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение boez » 09 дек 2011, 11:53

А у меня на нем был первый в жизни ПК. Из тех еще, придуманных в конце 80-х, несовместимых ни с чем кроме самих себя, с бытовым телевизором в качестве моника и магнитофоном в качестве накопителя. Потом уже пошли спектрум, потом IBM PC, потом PIC, а потом AVR и TMS320.
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение Dmitry__ » 09 дек 2011, 12:05

boez писал(а):А у меня на нем был первый в жизни ПК. Из тех еще, придуманных в конце 80-х

И имя ему было радио86рк. И паяли их сами. И получались из этих людей классные специалисты :)
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение boez » 09 дек 2011, 14:42

Э не, 86РК был совместим с 86РК :) и под него было много всего! Но я был не настолько крут в электронике тогда, и деталей тех у нас было не купить. У меня был ПК-01 Львов, готовый купленный, у которого все было по-другому, начиная с видеоадаптера. И я ручками писал ему эмуляцию "системных вызовов" 86РК, чтобы там могли работать редактор и ассемблер от 86РК. До сих пор кстати не понимаю, как их создатели втиснули такую функциональность в 2 килобайта... Потом ручками же ассемблил написанное в машкод и командами бейсика POKE писал в ОЗУ. И только когда это завелось, получил возможность писать на асме с метками и т.п. :)
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение серж » 18 авг 2012, 02:22

почему протеус пишет ошибку в этой простой проге?
Код: Выделить всёРазвернуть
.includi "m8.def.inc"  ;
.cseg                               ;
   .org $0000                         ;
.def temp=r16                        ;
.def tempH=r17                       ;
.def tempL=r18                       ;
.dseg                                ;
.eseg                                ;
.cseg                                ;
;.equ BUT =PD0                       ;
.equ L1   = PB0                   ;na port B1 podklucen svetodiod
.equ L2 = PB1    ;
.equ L3 =  PB2     ;
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, 0b00000000          ;naznachaem port B1 vihod
       out DDRB, temp                ;ostalnie vhodi
       ldi temp, 0b00000000          ;0 na vihod port B1
       out portb, temp               ;
     ldi temp, 0b00000001
     out ddrd, temp                  ;
     ldi temp, 0b00000001            ; podnyazka na pin1
     out portd, temp                  ;
       sei                    ;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               ;
       ret
       

я тут пытаюсь вспомнить азы асма...
ошибок в коде вроде нет, а прот не хочет симулировать...
Последний раз редактировалось серж 18 авг 2012, 03:16, всего редактировалось 1 раз.
Аватара пользователя
серж
 
Сообщения: 589
Зарегистрирован: 27 янв 2011, 17:38
Откуда: россия, череповец

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение Dmitry__ » 18 авг 2012, 02:37

Ой, чо щаззззз будет..... :)

Я протеус снес :pardon:
Прога - каша полная, надо вована ждать, чем у вас все закончилось-то?
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение серж » 18 авг 2012, 02:48

ну с задержками мы уже работали... :wink:
боюсь вован волосы будет рвать... :oops:
ведь почти все с начала... :cry:

Добавлено спустя 1 минуту 40 секунд:
дим, после старта ошибок куча?
Аватара пользователя
серж
 
Сообщения: 589
Зарегистрирован: 27 янв 2011, 17:38
Откуда: россия, череповец

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение Dmitry__ » 18 авг 2012, 03:02

серж писал(а):дим, после старта ошибок куча?

Дохрена :cry:
У тебя в первом сообщении есть каркас программы.
Где include?
Где org?
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение серж » 18 авг 2012, 03:04

точно! ок
поправил.
но по ходу нуно ждать вована...
Аватара пользователя
серж
 
Сообщения: 589
Зарегистрирован: 27 янв 2011, 17:38
Откуда: россия, череповец

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение legion » 18 авг 2012, 15:40

Серж, опиши что у тебя к портам подключено и зачем. У тебя ошибки в инициализации портов, хотя протеус на них ругаться может и не будет.
А вот на "sbis portd, BUT" точно будет, у тебя определение BUT закомментировано.
legion
 
Сообщения: 736
Зарегистрирован: 24 апр 2010, 14:47
Откуда: Уфа
прог. языки: avr asm

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение серж » 18 авг 2012, 16:43

Код: Выделить всёРазвернуть
;задача заигать лед от кнопки. одно нажатие-1 лед2, второе на-лед и т.д.
.includi "m8def.inc"  ; мк мега
.list                        ; вкл листинга
     .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, 0b00000000          ;naznachaem port B1 vihod ostalnie vhodi
           out DDRB, temp                ;запись в рег
           ldi temp, 0b00000000          ;0 na vihod port B1
           out portb, temp               ;вывод порта б
         ldi temp, 0b00000001            ;пдорт д, пин1-вход
         out ddrd, temp                  ;запись в рег
         ldi temp, 0b00000001            ; podnyazka na pin1
         out portd, temp                  ;вывод порта д
           sei                    ;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
Аватара пользователя
серж
 
Сообщения: 589
Зарегистрирован: 27 янв 2011, 17:38
Откуда: россия, череповец

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение legion » 18 авг 2012, 17:05

Начнем с портов. Работа с ними ведется через три регистра: DDRn, PORTn, PINn.
DDRn - направление порта, 0 - вход, 1 - выход.
Если порт настроен как вход, то он может быть с подтяжкой к + питания (PORTn = 1) или быть похожим на никуда не ведущий провод (PORTn = 0).
Если порт настроен как выход, то регистром PORTn задается уровень на ноге, низкий, т.е. земля (PORTn = 0) или высокий, т.е. + питания (PORTn = 1).
Из регистра PINn читают состояние ноги. Обычно, когда она настроена как вход. Но можно читать и когда нога - выход.

Правильнее было бы не писать это здесь, а просто дать ссылку на одну из статей учебных курсов, которых немало.

Теперь посмотри еще раз на свою инициализацию портов. И распиши словами что куда подключаешь, чтобы не запутаться.

Поправь ".include "m8def.inc""
legion
 
Сообщения: 736
Зарегистрирован: 24 апр 2010, 14:47
Откуда: Уфа
прог. языки: avr asm

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение серж » 18 авг 2012, 17:16

точно. все забыл!
должно бытб так
Код: Выделить всёРазвернуть
           ldi temp, 0b00000111          ;naznachaem port pin1,2,3 vihod ostalnie vhodi
           out DDRB, temp                ;запись в рег
           ldi temp, 0b00000000          ;potyazka ne nuno
           out portb, temp               ;вывод порта б
         ldi temp, 0b00000000            ;пдорт д, пин1-вход
         out ddrd, temp                  ;запись в рег
         ldi temp, 0b00000001            ; podnyazka na pin1
         out portd, temp                  ;вывод порта д
           sei                    ;idem na start

c определения выводов нуно начинать, а затем дальше...

Добавлено спустя 1 минуту 28 секунд:
я скачал белова и мотрона и у каждого инициализация потров по разному...
Аватара пользователя
серж
 
Сообщения: 589
Зарегистрирован: 27 янв 2011, 17:38
Откуда: россия, череповец

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение legion » 18 авг 2012, 17:22

В определении порта д осталась ошибка.
legion
 
Сообщения: 736
Зарегистрирован: 24 апр 2010, 14:47
Откуда: Уфа
прог. языки: avr asm

Пред.След.

Вернуться в Блоги

Кто сейчас на конференции

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