Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > С/С++
Перезагрузить страницу Аналого-цифровой преобразователь в AVR studio
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
sanderleft sanderleft вне форума
Новичок
 
Сообщений: 3
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 28.06.2017
По умолчанию Аналого-цифровой преобразователь в AVR studio - 28.06.2017, 11:20

Знающим как программировать микроконтроллеры на С, объясните, какую функцию выполняют строчки data[0] = c%10;
c=c/10;
int temp, temp1;
char data[4]; // переменная с типом чар
unsigned int count = 0;
void convert(char *data, int c)
{
data[0] = c%10;
c=c/10;
data[1] = c%10;
c=c/10;
data[2] = c%10;
c=c/10;
data[3] = c%10;
}

char dig2segcode(char d)
{
switch (d)
{
case 0:
return 0x5F;
case 1:
return 0x06;
case 2:
return 0x3B;
case 3:
return 0x2F;
case 4:
return 0x66; //индикатор
case 5:
return 0x6D;
case 6:
return 0x7D;
case 7:
return 0x07;
case 8:
return 0x7F;
case 9:
return 0x6F;
}
}

ISR(INT0_vect)
{
}

ISR(INT1_vect)
{
}

ISR(TIMER0_OVF_vect)
{
static char i=0;
PORTA &=0x0F;
PORTC = dig2segcode(data[i]);
PORTA = (1«(7-i));
i=(i+1) & 0x03;
}

ISR(ADC_vect)
{
temp=ADC;
temp1 = ADC*0.489;
convert(data, temp1);
}

int main(void)
{
char i,j;

DDRA = 0xF0;
DDRC = 0xFF;
DDRD = 0xB0;
GICR |= 0xC0;
MCUCR |= 0x0F;
TCCR0 = 0x01;
TIMSK |= 0x01;

ADMUX = 0x42;
ADCSRA = 0xAC;
SFIOR=0x80;

asm("sei");
ADCSRA |= 0x40;
while(1)
{
}
}
Ответить с цитированием
  (#2 (permalink)) Старый
Rius Rius вне форума
Программист
 
Аватар для Rius
 
Сообщений: 6,719
Сказал(а) спасибо: 15
Поблагодарили 805 раз(а) в 790 сообщениях
Регистрация: 27.08.2004
Адрес: Russian Federation
По умолчанию 28.06.2017, 11:37

Цитата:
Сообщение от sanderleft Посмотреть сообщение
объясните, какую функцию выполняют строчки data[0] = c%10;
c=c/10;
Разбор целого числа на отдельные цифры.
% - остаток от деления.
/ - целочисленное деление (дробная часть отбрасывается).
Ответить с цитированием
Пользователь сказал cпасибо:
sanderleft (28.06.2017)
  (#3 (permalink)) Старый
sanderleft sanderleft вне форума
Новичок
 
Сообщений: 3
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 28.06.2017
По умолчанию 28.06.2017, 13:22

Цитата:
Сообщение от Rius Посмотреть сообщение
Разбор целого числа на отдельные цифры.
% - остаток от деления.
/ - целочисленное деление (дробная часть отбрасывается).


спасибо
Ответить с цитированием
  (#4 (permalink)) Старый
sanderleft sanderleft вне форума
Новичок
 
Сообщений: 3
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 28.06.2017
По умолчанию 28.06.2017, 22:09

Цитата:
Сообщение от Rius Посмотреть сообщение
Разбор целого числа на отдельные цифры.
% - остаток от деления.
/ - целочисленное деление (дробная часть отбрасывается).
Ещё вопрос, а почему именно четыре раза пишем data?
Ответить с цитированием
  (#5 (permalink)) Старый
Rius Rius вне форума
Программист
 
Аватар для Rius
 
Сообщений: 6,719
Сказал(а) спасибо: 15
Поблагодарили 805 раз(а) в 790 сообщениях
Регистрация: 27.08.2004
Адрес: Russian Federation
По умолчанию 30.06.2017, 16:57

Может быть индикатор подключён семисегментный 4-х разрядный. Судя по коду прерывания таймера, это динамическая индикация.
Плата у вас, вам и виднее должно быть
7-seg-1.5in-led.jpg
Ответить с цитированием
Ads.
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразователь изображений Кельвин Графика & дизайн 2 16.11.2016 07:55
Преобразователь Хафа victor1963 Delphi 0 05.01.2013 15:28
Цифровой фотоаппарат fresh Периферия 5 27.07.2012 21:52
Цифровой выход на видеокарте. Philip Видеокарты 43 21.12.2011 16:35
Цифровой видео вход нет доступа antosha Мониторы 0 31.05.2011 16:16
Цифровой видео вход нет доступа antosha Мониторы 0 31.05.2011 15:32
Преобразователь с магазинной памятью glyc Задания за деньги 1 12.01.2011 14:00
Программа цифровой подписи JJKatrin C++ Builder 8 09.01.2011 12:12
Алгоритмическое описание цифровой системы Nastya13 Вопросы начинающих программистов 0 13.12.2010 18:08
Цифровой термометр Алексей74 Электроника 2 10.07.2010 15:26
Преобразователь символов Космос Софт и программы 2 29.07.2007 09:38
Подписывание CAB цифровой подписью Disassociative .NET 0 28.04.2005 18:19



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов