IPB
ЛогинПароль:

> ПРАВИЛА РАЗДЕЛА!!!

1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!

> Разработка микропроцессорного модуля, Модуль для ввода и обработки сигналов
сообщение
Сообщение #1


Ветеран Броуновского Движения
***

Группа: Пользователи
Сообщений: 281
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Может, у кого есть подобная программка на асемблере:
Разработать микропроцессорный модуль ввода и обработки сигналов с двигателя, имеющий следующие входные параметры:
1. Напряжение с термодатчика сопротивления от -1 до +1 В.
2. Частота вращения вала – 5000 об/мин
3. Точность преобразования сигнала аналогового сигнала 0.01%.
4. Точность преобразования сигнала 0.0001%.
5. Точность срабатывания контроллера при перегрузке двигателя - +\-0.05%
6. Индикация выхода – параметры указанные выше и индикатор аварии с возможностью автоматизированного выключения питания двигателя.
Или может, что не будь простенькое подобное?



--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Ветеран Броуновского Движения
***

Группа: Пользователи
Сообщений: 281
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Вообще я неправильно выразился. Мне надо написать программку для AVR микроконтроллера модель 2313. Всю эту модель надо прогнать в проге AVR Studio. Суть задания не во входных и выходных показаниях, а отображения самого процесса. У меня есть уже два написанных модуля для ввода данных с входа и вывода их на семисегментный индикатор, они работаю независимо друг от друга и надо их связать, а вот как? И цель задания, следующая если всё правильно, то я могу вручную задать значения двоичных сигналов на входе и автоматически получу соответствующие десятичные значения на выходе.
Для выхода:
Код

.include "2313def.inc"
    LDI R16, 0b00001000;
DIND:clr r30;
    ser r31;
    out DDRB, R31;
    out PORTB,r30;
    LSR R16;
    BRCC M1;
    LDI R16, 0b00001000;
    MOV R0,R4;
M1: SBRC R16,2;
    MOV R0,R3;
    SBRC R16,1;
    MOV R0,R2;
    SBRC R16,0;
    MOV R0,R1;

INR0: ldi r30,low(tab0);
    ldi r31,high(tab0);
    lsl r30;
    rol r31;
    add r30,r0;
    clr r0;
    adc r31,r0;
    lpm;
    out PORTD, r16;
    out PORTB, r0;
    
    RJMP DIND
TAB0: .DB 0b00111111, 0b00010010, 0b01011011, 0b01001111, 0b01110010, 0b01111001, 0b01111101, 0b00000111, 0b01111111, 0b01101111;
.exit


Для входа:
Код

.include "2313def.inc"
    LDI R16, 0xdf;
    STS 0x5d, R16;
    LDI R16, 0b11110111;
    out PORTD, r16;
    LDI R16, 0x0F;
    out DDRD, R16;
    ser r16;
    out DDRB, R16;

DIND:clr r16;
    rcall k0;
    out PORTB, r16;
    in r16, PORTD;
    LSR R16;
    BRCS M1;
    LDI R16, 0b11110111;
    MOV R0, R4;
M1: SBRC R16, 2;
    MOV R0,R3;
    SBRC R16, 1;
    MOV R0, R2;
    SBRC R16, 0;
    MOV R0, R1;
    RCALL INR0;
    out PORTD, r16;
    out PORTB, r0;
    RJMP DIND

INR0:ldi r30,low(tab0);
    ldi r31,high(tab0);
    rcall k0;
    rol r31;
    add r30, r0;
    clr r0;
    adc r31, r0;
    lpm;
    RET;

k0: rcall k1;
    ret;

TAB0: .DB 0b00111111, 0b00010010, 0b01011011,0b01001111, 0b01110010, 0b01111001, 0b01111101, 0b00000111, 0b01111111, 0b01101111;
k1: ret;
.exit



--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 27.06.2024 0:19
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name