atmega 8 связь с семисегментным индикатором
- Сообщения: 28
- Зарегистрирован: Чт май 14, 2015 22:18:43
привет всем. я начинающий потому не смейтесь. есть переменная которую я изменяю кнопками.... и порт которому присваиваю значение, на порт подвешен семисегментный индикатор с четырьмя ногами (BCD) он мне в 16ричной системе циферки показывает. ВОПРОС: КАК СДЕЛАТЬ ТАК ЧТО БЫ В ДЕСЯТИЧНОЙ ПОКАЗЫВАЛ? Тип переменной int. работает как счётчик.
- Реклама
Странный какой-то вопрос. Очевидно же - переписать программу так, чтобы на индикатор можно было выводить десятичные цифры 
Эмулятор? Протеус? Программу кто писал?lelik-balabolik писал(а):...с четырьмя ногами (BCD) ...
Docendo discimus
Если индикатор одноразрядный, то просто не выводить на него значения больше 9-и. Всё равно не влезет.
- Сообщения: 28
- Зарегистрирован: Чт май 14, 2015 22:18:43
привет всем. Alex в том то и состоит вопрос как и что дописать что бы на индикаторы (2 шт продлючены к порту D один соответственнно на ноги 1-4 , второй на ноги 5-8) . теперь про саму переменную. тип unsignet int. работает так. если pinc0==1 то a++, если pinc2==1 то а--. после чего вот так PortD=a. вот . и оно мне циферки показывает но в шеснадцатиричной системе. а хочется в десятичной. что нужно дописать?
- Реклама
вместо PORTD = a; написать это
Код: Выделить всё
if(a > 99) a=0;
PORTD = (a % 10) | ((a / 10) << 4);если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 28
- Зарегистрирован: Чт май 14, 2015 22:18:43
СПАСИБИЩЕ!!!!!!!!!! Я СОВСЕМ ЗАБЫЛ ПРО % ЗАДАЮЩИЙ ФОРМАТ!!!!!!!
- Сообщения: 28
- Зарегистрирован: Чт май 14, 2015 22:18:43
детям Донбасса пожертвуйlelik-balabolik писал(а):дружище скинь реквизиты я те хоть на пиво пришлю.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 28
- Зарегистрирован: Чт май 14, 2015 22:18:43
Как скажешь. Вот ещё вопрос. есть иф елс и порт настроеный на выход. как написать код чтоб именно конкретная нога меняла состояние при выполнении ифа.... тоесть я не умею обращаться к конкретной ноге порта. подскажите( сама задумка в том что разные ифы будут управлять разными ногами одного порта)
PD3 - четвертая нога порта D
вот так можно поменять на противоположный уровень по if
вот так можно поменять на противоположный уровень по if
Код: Выделить всё
if(some_condition){
// меняем состояние ноги
PORTD ^= 1 << PD3;
} else {
// делаем что-то иное
}если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 28
- Зарегистрирован: Чт май 14, 2015 22:18:43
Спс. Есть ещё вопрос. Существует функция _delay_ms () . как сделать что бы её время указанное в скобках изенялось. тоесть было переменной а не константой. пробовал писать переменную типа int-работать не хочет.
есть два пути, как это сделать: читать документацию и много думать и задать вопрос и скопипастить ответ:lelik-balabolik писал(а):Есть ещё вопрос. Существует функция _delay_ms () . как сделать что бы её время указанное в скобках изенялось. тоесть было переменной а не константой
Код: Выделить всё
void delay(int d){
if(!d) return;
for(; d; d--) _delay_ms(1);
}если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 13
- Зарегистрирован: Чт авг 06, 2015 22:15:54
Здесь это не формат, а операция "модуль".lelik-balabolik писал(а):СПАСИБИЩЕ!!!!!!!!!! Я СОВСЕМ ЗАБЫЛ ПРО % ЗАДАЮЩИЙ ФОРМАТ!!!!!!!
Хуй российскому фашизму!


