Перейти к содержанию

Atmega 8


polych

Рекомендуемые сообщения

Здравствуйте.
У меня возникла проблема в прошивке микроконтроллера Atmega8.
Задача заключается в том чтобы сравнивалось опорное на напряжение АЦП с подаваемым на вход АЦП напряжением и далее результат выводился на дисплей. У меня возникли сложности с настройкой АЦП, как я думаю оно находится в спящем режим так как когда я загружаю hex файл в Proteus и запускаю пошаговую отладку, то мои условия не выполняются и в переменной в которую я прописываю значение подаваемого напряжения постоянно находится значение опорного напряжения.
Код пишу в Atmel Studio 6 на С
Симуляцию делаю в Proteus
Очень нужна помощь
Спасибо!

Примерный код в Atmel,не судите строго только начинаю изучать микроконтроллеры :help:

#define F_CPU 1000000UL
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
static volatile int u = 0;
static volatile float v;
int main(void)
{
 DDRB=0xFF;
 PORTB=0x00;
 DDRC=0x00;
 PORTC=0xFF;
 
 //настройка АЦП//
 ADCSRA |=(1<<ADEN)//включение ацп
 |(1<<ADPS1)|(1<<ADPS0)|(1<<ADFR);//ADPS2-ADPS0-тактовая частота АЦП???
 //ADCRA=0x83
 ADMUX |= (0<<REFS1)|(1<<REFS0)//внешний ИОН
 |(0<<MUX0)|(0<<MUX1)|(0<<MUX2)|(0<<MUX3); //вход PC0
 //ADMUX=0x00
    while(1)
    {ADCSRA |=(1<<ADSC);//начинаем преобразование
     while ((ADCSRA&(1<<ADIF))==0);//ждём флага окончание преобразование
    _delay_ms(5);
     u=ADCW;// считываем ADC
    
     v = (float) u*0.0048828;
     if (v>=2.1){
      PORTB=0x01;
     }
     else{
      PORTB=0xFF;
     }
     _delay_ms(5);

Также начальный проект в протеус, опять же не судите строго)

micro.pdsprj

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Если это весь код, то в нем ни слова про дисплей. А модель в протеусе, чтобы посмотреть что и к чему подключено? Ни HEX ни ELF файлов нет! Как без них запускать схему?

Тут есть тема с видеоуроками, как раз для начинающих. Там и про настройку АЦП и многое другое найдете.

 

Изменено пользователем gogaze

Мир не без добрых людей!

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...