0 / 0 / 0
Регистрация: 15.09.2017
Сообщений: 16
1

Реализация двоичного 8-разрядного дешифратора (Atmega16)

15.09.2017, 10:44. Показов 1310. Ответов 16
Метки нет (Все метки)

РЕАЛИЗОВАТЬ ДВОИЧНЫЙ 8 РАЗРЯДНЫЙ ДЕШИФРАТОР 3 ВХОДА 8 ВЫХОДОВ стенд STK500 AVR AMEGA16 ASSEMBLER ,программа вроде бы должна быть простой,т.к 1 лабораторная,но я не понимать.

Добавлено через 9 минут
Atmega16 ошибся
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.09.2017, 10:44
Ответы с готовыми решениями:

Atmega16 программа дешифратора
Доброго времени суток всем форумчанам. Потребовалось подключить десяток 8-и сегментных индикаторов...

Преобразователь двоичного 4-х разрядного числа в 2-10
Добрый вечер. Помоги пожалуйста, используя 2 корпуса ИС К155ИМ3 и необходимое количество любых...

Сконструируйте машину Тьюринга, которая выступает в качестве двоичного-восьмеричного дешифратора
Сконструируйте машину Тьюринга, которая выступает в качестве двоичного - восьмеричного дешифратора...

Ввод 32-разрядного двоичного числа с клавиатуры
Нужно написать программу, которая считает сумму двух двоичных 32-разрядных чисел, введенных с...

16
Модератор
Эксперт по электронике
8513 / 6330 / 857
Регистрация: 14.02.2011
Сообщений: 21,978
15.09.2017, 12:25 2
Покажи что сделал
0
0 / 0 / 0
Регистрация: 15.09.2017
Сообщений: 16
16.09.2017, 09:10  [ТС] 3
Да я вообще даже представить не могу как это делать,у меня из примера только вот этот кусок лёгкий,но он не имеет отношения к дешифратору....
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
include "m16def.inc" 
//.def temp = r18;  
ser r18
out DDRB,r18
START:   
in r18,PINA   
CPI r18, 0x01
BREQ Next
LDI r17, 0x00
out PORTB,r17
rjmp START
Next:
LDI r17, 0xFF
out PORTB, r17
rjmp START
0
Модератор
Эксперт по электронике
8513 / 6330 / 857
Регистрация: 14.02.2011
Сообщений: 21,978
16.09.2017, 09:32 4
ИВАН222, правила п 4.9
Используйте тэги форматирования текста и редактор формул для удобства восприятия ваших сообщений другими пользователями.
Цитата Сообщение от ИВАН222 Посмотреть сообщение
Да я вообще даже представить не могу как это делать,
для начала, написать алгоритм
0
0 / 0 / 0
Регистрация: 15.09.2017
Сообщений: 16
16.09.2017, 09:35  [ТС] 5
Вот я примерно наприкидывал,(это чисто моя версия,я прям больше ничего не могу придумать).В моем коде там продолжение по аналогии.
Миниатюры
Реализация двоичного 8-разрядного дешифратора (Atmega16)  
0
Модератор
Эксперт по электронике
8513 / 6330 / 857
Регистрация: 14.02.2011
Сообщений: 21,978
16.09.2017, 09:38 6
Я просил алгоритм а не программу
и все программы выкладываются сюда а не фотографии
правило п 5.18
Запрещено размещать задания и решения в виде картинок и других файлов с их текстом.
0
0 / 0 / 0
Регистрация: 15.09.2017
Сообщений: 16
16.09.2017, 09:43  [ТС] 7
подается информация,считывается,далее идет сравнение если 0х00=>горит 1 диод,иначе опять сравнение с 0х01,если да,то горит 2 диод и т.д.Я правильно рассуждаю?Ну и следовательно последнее сравнение будет с 0х07.

Добавлено через 4 минуты
Ответьте пожалуйста,я все программы буду как надо писать)
0
Модератор
Эксперт по электронике
8513 / 6330 / 857
Регистрация: 14.02.2011
Сообщений: 21,978
16.09.2017, 10:33 8
Цитата Сообщение от ИВАН222 Посмотреть сообщение
подается информация,считывается,далее идет сравнение
а теперь алгоритм

1 считываются данные с порта, записываются в переменную
2 выделяются нужные биты

далее сам
0
0 / 0 / 0
Регистрация: 15.09.2017
Сообщений: 16
16.09.2017, 10:44  [ТС] 9
1 считываются данные с порта, записываются в регистр
2 сравнение значения в регистре,с первой переменной.
3 если совпало,то на выход подаем информацию(зажигаем диод).
3 если нет,то пропускаем,переходим дальше(к следующему сравнению).

Добавлено через 3 минуты
я вообще правильно мыслю или вообще не так?
0
Модератор
Эксперт по электронике
8513 / 6330 / 857
Регистрация: 14.02.2011
Сообщений: 21,978
16.09.2017, 10:48 10
ИВАН222, по шагам описывая каждый нюанс
это микропроцессор, сиречь тупая железка, он не понимает абстракции только конкретные действия
например
Цитата Сообщение от ИВАН222 Посмотреть сообщение
то на выход подаем информацию(зажигаем диод).
он не понимает что такое диод
ему нужно расписать
например так
если переменная равна 0x07 то на выходной порт подаем 10000000, переход к началу программы
иначе
если переменная равна 0x06 то на выходной порт подаем 01000000, переход к началу программы
иначе
..........
0
0 / 0 / 0
Регистрация: 15.09.2017
Сообщений: 16
16.09.2017, 11:10  [ТС] 11
если переменная равна 0x07 то на выходной порт подаем 00000111 разве не так?

Добавлено через 9 минут
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
include "m16def.inc" 
//.def temp = r18;  
ser r18
out DDRB,r18
START:   
in r18,PINA   
CPI r18, 0x00
BREQ Next
LDI r17, 0xFF
out PORTB,r17
rjmp START
CPI r18, 0x01
BREQ Next
LDI r17, 0xFD
out PORTB,r17
rjmp START
CPI r18, 0x02
BREQ Next
LDI r17, 0xFC
out PORTB,r17
rjmp START
Добавлено через 2 минуты
Вот код,продолжение по аналогии,у меня почти нет опыта программирования,поэтому мне сложно расписать алгоритм сленгом программиста.Проверьте,будет же работать?
0
977 / 601 / 100
Регистрация: 15.05.2012
Сообщений: 3,550
16.09.2017, 11:24 12
Цитата Сообщение от ИВАН222 Посмотреть сообщение
подаем 00000111 разве не так
Нет,не так. Дешифратор выставляет одну "1", соответствующую коду на входе.

Добавлено через 1 минуту
Например, так:
шаг n: если на входе число 7, то все выходы сбросить и взвести выход номер 7.
0
0 / 0 / 0
Регистрация: 15.09.2017
Сообщений: 16
16.09.2017, 11:58  [ТС] 13
... т.е мой код в корне не правильный?(

Добавлено через 26 минут
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
include "m16def.inc" 
//.def temp = r18;  
ser r18
out DDRB,r18
START:   
in r18,PINA   
CPI r18, 0x00 // если введено 00000000
BREQ Next
LDI r17, 0xFE// выводим информацию на 11111110 /я думал,на 1 вход должен податься 0
out PORTB,r17
rjmp START
CPI r18, 0x01 //если введено 00000001
BREQ Next
LDI r17, 0xFD //выводим информацию на 11111101
out PORTB,r17
Добавлено через 2 минуты
Assembler
1
2
3
4
5
6
7
8
9
include "m16def.inc" 
//.def temp = r18; 
ser r18
out DDRB,r18
START: 
in r18,PINA 
CPI r18, 0x00 // если введено 00000000
BREQ Next
LDI r17, 00000001//так нельзя писать?
0
Модератор
Эксперт по электронике
8513 / 6330 / 857
Регистрация: 14.02.2011
Сообщений: 21,978
16.09.2017, 12:01 14
Цитата Сообщение от ИВАН222 Посмотреть сообщение
0x00 // если введено 00000000
комментарии в ассемблере это ; а не //
0
0 / 0 / 0
Регистрация: 15.09.2017
Сообщений: 16
16.09.2017, 12:08  [ТС] 15
Простите,про комментарии не знал....что мне с программой можно сделать?(

Добавлено через 2 минуты
Помогите,что с меня взять я бакалавр я уже все перебрал
0
0 / 0 / 0
Регистрация: 15.09.2017
Сообщений: 16
17.09.2017, 06:19  [ТС] 16
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
include "m16def.inc" 
//.def temp = r18;  
ser r18
out DDRB,r18
START:   
in r18,PINA   
CPI r18, 0x00
BREQ Next
LDI r17, 0xFF
out PORTB,r17
rjmp START
CPI r18, 0x01
BREQ Next
LDI r17, 0xFD
out PORTB,r17
rjmp START
CPI r18, 0x02
BREQ Next
LDI r17, 0xFC
out PORTB,r17
rjmp START
Проверьте ,будет ли работать ?

Добавлено через 2 минуты
3 входа,8 выходов
0
6678 / 2661 / 366
Регистрация: 17.02.2013
Сообщений: 3,908
19.09.2017, 01:02 17
Не будет. Здесь какая-то наметка дешифратора, да и то кривая, а не сам дешифратор целиком.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.09.2017, 01:02

Деление 8-разрядного двоичного числа на 4-разрядное двоичное число
Ребята помогите с разработкой программы деления 8-разрядного двоичного числа на 4-разрядное...

Программа для перевода 4-х разрядного двоичного числа в шестнадцатеричное на ассемблере
Нужно написать программу перевода 4-х разрядного двоичного числа в шестнадцатеричное на ассемблере....

Схема формирования модуля (абсолютного значения) 4-разрядного двоичного числа А=а3а2а1а0
Помогите пожалуйста построить структурную схему в программе MAX+plus II на языке AHDL. Нужно...

Осуществить циклический сдвиг n-разрядного двоичного представления заданного числа k на m позиций вправо
Задание: Осуществить циклический сдвиг n-разрядного двоичного представления заданного числа k на m...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.