ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Безопасность и Уязвимости > Электроника и Фрикинг > Схемы и программы
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

помощь по МК AT90S2313
  #1  
Старый 12.02.2010, 20:26
NetSter
студент
Регистрация: 30.07.2007
Сообщений: 800
Провел на форуме:
4275992

Репутация: 1188


Exclamation помощь по МК AT90S2313

Всем доброго времени суток.
Не буду лукавить и сразу скажу 2 важные вещи:
1) то о чем я прошу помощи является курсовой работой
2) я в этом абсолютно ничего не шарю)

собственно то что нужно сделать:
Цитата:
Разработать принципиальную схему и текст программы для управления бачком проявления фотопленки на микроконтроллере AT90S2313. Алгоритм работы системы следующий:
1. По нажатию на клавишу «Пуск»:
a) открывается вентиль проявителя и наполняется бачок пока не сработает датчик-поплавок 1. Включается электродвигатель, который вращает катушку с пленкой в бачке в течение 4 минут. Останавливается электродвигатель. Открывается вентиль слива проявителя. По сигналу от датчика-поплавка 2 закрыть вентиль слива;
b) открывается вентиль закрепителя и наполняется бачок пока не сработает датчик-поплавок 1. Включается электродвигатель, который вращает катушку с пленкой в бачке в течение 6 минут. Останавливается электродвигатель. Открывается вентиль слива закрепителя. По сигналу от датчика-поплавка 2 закрыть вентиль слива;
c) открывается вентиль воды и наполняется бачок пока не сработает датчик-поплавок 1. Включается электродвигатель, который вращает катушку с пленкой в бачке в течение 7 минут. Останавливается электродвигатель. Открывается вентиль слива воды. По сигналу от датчика-поплавка 2 закрыть вентиль слива;
d) включить лампочку «Проявление закончена».
2. В случае срабатывания датчика-поплавка 3 (не закрылся вентиль) используется система прерываний микроконтроллера и срабатывает звуковой сигнал «Тревоги».
кто чем может помочь?
нужно в протеусе все смоделировать и т.д.
но я в этом вообще не разбираюсь.
 
Ответить с цитированием

  #2  
Старый 12.02.2010, 21:12
MAQUEEN
Moderator - Level 7
Регистрация: 27.09.2008
Сообщений: 469
Провел на форуме:
784549

Репутация: 309
Отправить сообщение для MAQUEEN с помощью ICQ Отправить сообщение для MAQUEEN с помощью AIM Отправить сообщение для MAQUEEN с помощью Yahoo
По умолчанию

Работа достаточно сложная (как для меня) Вообще я больше по класике : резисторы, конденсаторы....
Но коечто из моих "архивов" есть, смотрим, может чем нибуть поможет, надо же с чегото начинать
есть 2 схемки сейчас постараюсь выложить, так как весит много.
 
Ответить с цитированием

  #3  
Старый 12.02.2010, 21:15
MAQUEEN
Moderator - Level 7
Регистрация: 27.09.2008
Сообщений: 469
Провел на форуме:
784549

Репутация: 309
Отправить сообщение для MAQUEEN с помощью ICQ Отправить сообщение для MAQUEEN с помощью AIM Отправить сообщение для MAQUEEN с помощью Yahoo
По умолчанию

первая :

вторая:


+ есть архив с документацией
download
если ище что то найди или придумаю, сразу отпишу.
ПЕРЕМЕСТИТЕ ТЕМУ В "СХЕМЫ И ПРОГРАММЫ"

Последний раз редактировалось MAQUEEN; 12.02.2010 в 21:34..
 
Ответить с цитированием

  #4  
Старый 12.02.2010, 21:34
NetSter
студент
Регистрация: 30.07.2007
Сообщений: 800
Провел на форуме:
4275992

Репутация: 1188


По умолчанию

спасибо гляну.
 
Ответить с цитированием

  #5  
Старый 12.02.2010, 23:05
Sn@k3
Познавший АНТИЧАТ
Регистрация: 13.04.2006
Сообщений: 1,738
Провел на форуме:
5151669

Репутация: 1198


Отправить сообщение для Sn@k3 с помощью ICQ
По умолчанию

меня что смущает, тебе либо двигатель шаговый юзать(+драйвера) либо неизвестный мне http://ru.wikipedia.org/wiki/Вентильный_электродвигате ь (яхзчто и как)

прогу наверное на асме придётся делать т.е бля какже обьяснить



вот из асма тебе пригодится задержка(это типа когда подождать или когда двигатель врубаешь, но там хз может драйвер работать будет, кароче вот):

Код:
;<<<<<<<<<<<<min задержка на минуту
;<<<delay_xs задержка на 2 секунды
min:
     ldi tmp, 30     ;|делаем
     rcall delay_xs  ;|задержку
     dec tmp         ;|на
     breq next       ;|60
    rjmp min         ;|секунд
next: ret            ;|

ldi time, $a0       ; задержка на пол секунды 

delay_xs:    ;$ff - 2с    ;$a0 - 0,512с    ;$7 - 43мкс
mov    dly3,time    
d4ms:    mov    dly2,time        
wd2:    mov    dly1,time
wdl:    dec    dly1
    brne    wdl
    dec    dly2
    brne    wd2    
    dec    dly3
    brne    d4ms
ret
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
т.е. вызывая rcall min ты сделаешь задержку на минуту, конечноже это rcall Min можешь прописать несколько раз) сколько пропишешь на столько минут задержит(это уже совсем просто если не сможешь варъировать циклами и прочее, не суть важна)

датчики, я хз какие у тя будут они аналоговые или цифровые, если аналоговые то придётся подрубать АЦП это так:
ADC_IC:
push var1 ;|заносим в стек
in var1,
pop var1 ;|из стека
rcall sravn ;|вызыывем сравнение
ret
sravn:
cp pred_zn, var ;|сравниваемданные
;если больше ;|с ножки АЦП с
brsh motor_on ;|заданным числом
rjmp end
end: ret


кароче типа вытаскивает из ацп сигнал и сравнивает если больше(так у меня у тебя по другому наверное) то переходит на подпрограмму мотор.

если цифровые датчики(хз не работал, сам новичок) то просто там я думаю их к ножке подрубаешь и типа сигнал какойто в виде числа будет - хз

лампочку врубать я думаю типа какойнить светодиод и врубается он просто подав еденицу на ножку типа или подав число на весь порт типа 0001 000 типа того.




кароче у тебя есть две проблемы: нарисовать свою электрическую схему и сделать программу, активно собирай схему т.к. основное это) без неё не будет проги и потом утверди схему у препода потом тока за прогу садись.
 
Ответить с цитированием

  #6  
Старый 12.02.2010, 23:18
NetSter
студент
Регистрация: 30.07.2007
Сообщений: 800
Провел на форуме:
4275992

Репутация: 1188


По умолчанию

Sn@k3 спс.
буду думать.
да, действительно, сначала важно схему утвердить.
 
Ответить с цитированием

  #7  
Старый 12.02.2010, 23:49
TR0J@N
Участник форума
Регистрация: 30.03.2007
Сообщений: 131
Провел на форуме:
1449774

Репутация: 127
Отправить сообщение для TR0J@N с помощью ICQ
По умолчанию

В каком виде должен быть результат, ну насчёт реализации всё в протиусе потяно, а насчёт кода (вам нужно "разжованный" asm !?) если нет то можно накодить на avr basic (pascal,c++)
 
Ответить с цитированием

  #8  
Старый 13.02.2010, 01:52
NetSter
студент
Регистрация: 30.07.2007
Сообщений: 800
Провел на форуме:
4275992

Репутация: 1188


По умолчанию

ну как бы на асме все предыдущие студенты делали (смотрел примеры других вариантов)
но думаю это не принципиально.
за код хз будут ли дрюкать)
 
Ответить с цитированием

  #9  
Старый 13.02.2010, 02:52
POS_troi
Познавший АНТИЧАТ
Регистрация: 01.12.2006
Сообщений: 1,769
Провел на форуме:
3718311

Репутация: 1118


Отправить сообщение для POS_troi с помощью ICQ
По умолчанию



Вдруг забредут однокурсники - пусть будет завидно

P/S/ По просьбе ТС пока не выкладываю полную схему.

Вот все равно, для меня остается загадкой этот пункт

Цитата:
2. В случае срабатывания датчика-поплавка 3 (не закрылся вентиль) используется система прерываний микроконтроллера и срабатывает звуковой сигнал «Тревоги».
Технически он как-то не вяжется:

1. Причем тут поплавок? Концевик на вентили еще пойму но поплавок не в какую дыру

2. Какое ёпт прерывание использовать для него если думать что там поплавок (если думать что концевик на закрытие то прерывание нафик не нужно ну или если оч хочется то INT0)?

Цитата:
INT0addr ; External Interrupt Request 0
INT1addr ; External Interrupt Request 1
ICP1addr ; Timer/Counter1 Capture Event
OC1addr ; Timer/Counter1 Compare Match
OVF1addr ; Timer/Counter1 Overflow
OVF0addr ; Timer/Counter0 Overflow
URXCaddr ; UART, Rx Complete
UDREaddr ; UART Data Register Empty
UTXCaddr ; UART, Tx Complete
ACIaddr ; Analog Comparator
Если считать что там поплавок то получается что только по прерыванию таймера - по типу

- Слили Проявитель

- начали наливать фиксаж (а что? мы не можем поплавком проверить закрыт ли клапан) - Ждем 10 секунд

- если поплавок не отозвался значит фиксаж утекает через глючный клапан и пофигу что течет он в проявитель за 100$ литр, крепче будет ёпт.

Что вообще курнул препод - когда составлял задание?

Последний раз редактировалось POS_troi; 13.02.2010 в 04:24..
 
Ответить с цитированием

  #10  
Старый 13.02.2010, 12:07
Sn@k3
Познавший АНТИЧАТ
Регистрация: 13.04.2006
Сообщений: 1,738
Провел на форуме:
5151669

Репутация: 1198


Отправить сообщение для Sn@k3 с помощью ICQ
По умолчанию

Цитата:
Сообщение от POS_troi  
INT0addr ; External Interrupt Request 0
INT1addr ; External Interrupt Request 1
ICP1addr ; Timer/Counter1 Capture Event
OC1addr ; Timer/Counter1 Compare Match
OVF1addr ; Timer/Counter1 Overflow
OVF0addr ; Timer/Counter0 Overflow
URXCaddr ; UART, Rx Complete
UDREaddr ; UART Data Register Empty
UTXCaddr ; UART, Tx Complete
ACIaddr ; Analog Comparator
п.с. эта таблица для другого МК, но посмотри для своего таблицу прерываний и по аналогии сделай так
немного не так)))
включая то что у тебя датчики аналоговые будут стопудова т.к. дешовые, то вот процентов на 90 будет такое: )

Код:
;КОД
.CSEG
;Прыжки по прерываниям

.org 0
    rjmp RESET ; Reset Handler
    rjmp EXT_INT0 ; IRQ0 Handler
    ;rjmp EXT_INT1 ; IRQ1 Handler
    ;rjmp TIM1_CAPT ; Timer1 Capture Handler
    ;rjmp TIM1_COMP ; Timer1 compare Handler
    ;rjmp TIM1_OVF ; Timer1 Overflow Handler
    ;rjmp TIM0_OVF ; Timer0 Overflow Handler
    ;rjmp SPI_STC; ; SPI Transfer Complete Handler
    ;rjmp UART_RXC ; UART RX Complete Handler
    ;rjmp UART_DRE ; UDR Empty Handler
    ;rjmp UART_TXC ; UART TX Complete Handler
    rjmp ADC_IC ; ADC Conversion Complete Interrupt Handler
    ;rjmp EE_RDY ; EEPROM Ready Handler
    ;rjmp ANA_COMP ; Analog Comparator Handler

;Начало программы
RESET:
;<<ИНИЦИАЛИЗАЦИЯ>>
;отключение WatchDog :
    ldi    rgn,$18    
    out    WDTCR,rgn    
    ldi    rgn,$10
    out    WDTCR,rgn
    

;Установка вершины стека
;на конец ОЗУ
    ldi    rgn,HIGH(RAMEND);начало стека
    out    SPH,rgn             
    ldi    rgn,LOW(RAMEND)    
    out    SPL,rgn    

;Разрешение прерываний
    sei
надеюсь на асме прога?)


п.с. вот твоя кнопка пуск както так будет выглядеть:

Код:
EXT_INT0: ;кароче типа заносим какоето число на  порт, тут можешь описать не для одного Б как у меня а для скольки хочешь) кароче любой код
      LDI    R16,127        ; переведи 127 в двоичную узнаешь какое число пихается) и какие ножки вкл
   OUT    OCR1BL,R16
ret
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ