Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите с КОДОМ НА C У МЕНЯ ЭКЗАМЕН! Переделай данный код по таким требованиям:

Вячеслав Назаркевич Ученик (96), на голосовании 4 месяца назад
Добавь сложение 2-х чисел с выводом на 7-сегментный индикатор
Должна быть синхронизация с протеусом 8
Код и схема должны быть простыми 4)Также исходя из этого кода сделай подробнейшую инструкцию с комментариями, поэтапную расстановку элементов в схеме протеуса, куда и что подсоединять

  
#include
#define F_CPU 10000
#include
unsigned char A,X;
int main(void)
{
DDRD=0X00; //объявляем входа выхода
PORTD=0X7F;
DDRB=0XFF;
PORTB=0X00;

while(1)
{
X=PIND; //считываем нажатия
X=X&0X0F; //выбираем кнопку
A=0X03; // если нажаты первые 2 кнопки
if(X==A) // если x равняется а
{
PORTB=0X77; // А 7-seg индикаторе
_delay_ms(1000);
}
else // иначе
{
PORTB=0X7F; // горит все
_delay_ms(100);
PORTB=0X00; // не горит ничего
_delay_ms(100);
} // за счет задержки появляется эффект мигания

}
}
Голосование за лучший ответ
Несмачный Дмитрий Профи (871) 5 месяцев назад
А как переделать то, что вообще никаким боком к заданию не относится?
Тебе надо: получить два числа. Как ты это будешь делать? С клавиатуры какой то? Тогда надо подключить к контроллеру клавиатуру и опрашивать значения клавиш при разных включенных (или отключенных, как подключить) битах порта строк клавиатуры. Это, наверное, лучше всего повесить на прерывания.
Вывод на индикатор: опять же выбрать порт, подключить индикатор, создать таблицу перекодировки в зависимости от того как и какой индикатор подключен (анодный или катодный), если это несколько сегментов, то раз 50-100 в секунду менять сегмент и выводить в него нужное значение, перекодированное по таблице. Если там только один сегмент, то можно не заморачиваться с динамическим выводом и вывести только один раз после вычисления.
В основной логике принять c клавиатуры числа A и B, сложить их C=A+B или A+=B и вывести перекодированный по таблице результат.
Учитывая объем кода, подозреваю, что у вас должны быть какие то готовые модули, ибо за время штатного экзамена написать и отладить все это с нуля довольно затруднительно...
Похожие вопросы