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

Сделал Ацп На Мега 8.асм


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

В протеусе работает на ура

а в железе при подаче питание светяца то все то только первый тоесть они зажигаются по порядку так как нужно в алгоритме,но измерения я не произвожу при этом,карочь как хочет само так и мигает,даже с выключеным AREf

вот код:

.device Atmega8

.nolist

.include "C:\Program Files\Atmel\AVR Tools\AvrAssembler\Appnotes\m8def.inc"

.list

;================================================

;Объявления

.def temp=r16

.def nol=r18

.def sor=r19

.def tri=r20

.def dva=r21

.def chik=r22

.def des=r23

;================================================

;..

;НАЧАЛО программ

Init:

ldi nol,0b00000000;ноль

ldi sor,0B01010000;сорок 40;сорок

LDI des,0B00001010;ЧИСЛО 10;десять

ldi dva,0b00010100;Число 20;двацать

ldi tri,0b00101000;трицать 30;трицать

ldi temp,0b00000111;Определяяем входы и выходы порта B

out DDRB,temp ;

ldi temp,0b11111100;Определяем входы и выходы порта C

out DDRC,temp;

ldi temp,0b11111111;Определяем входы и выходы порта D

out DDRD,temp;

ldi temp,0b00000000;Включаем подтяжку для входов порта B

out PortB,temp;и задаём начальные состояния входов

ldi temp,0b00111100;Включаем подтяжку для входов порта C

out PortC,temp;и задаём начальные состояния входов

ldi temp,0b00000000;Включаем подтяжку для входов порта D

out PortD,temp;и задаём начальные состояния входов

ldi temp,0b00100000 ;вход0,опора ACC

out ADMUX,temp;выравниваю вправо

ldi temp,0b10000111;включ ацп

out ADCSR,temp

rjmp Start

;================================================

;Основное тело программы

start:

cbi ADMUX,0;Вібираю порт АЦП 0

sbi adcsr,ADSC;запускаю преобразование

sbic ADCSR,adsc;проверяю преобразовалось ли если нет остаюсь в цыкле

RJMP START+2;остаюсь в цыкле

IN TEMP,ADCH;Сохраняю в темп резулльтат преобразования

sbic ADCSR,ADSC;проверяю ещё раз его окончание

RJMP START;если нет то обратно к цыклу

Cp sor,temp;сорок сравниваю с АЦП

brlo zz;и если рано сорок перехожу к ZZ и зажигаю светодиоды все

Cp tri,temp;трицать сравниваю с АЦП

brlo dd;и зажигаю все кроме одного

CP dva,TEMP;двацать сравниваю с АЦП

BRLO VV;переход если

Cp des,temp;десять сравниваю с АЦП

Brlo BB

Cp nol,temp;десять сравниваю с АЦП

Brlo gg

rjmp start

gg:

cbi PORTC,5;ноль

cbi portc,4

cbi portc,3

cbi portc,2

rjmp start

zz:

sbi PORTC,2;сорок

sbi PORTC,3

sbi portC,4

sbi PORTC,5

rjmp start

BB:

sBI PORTC,2;десять

cbi PORTC,5

cbi portC,4

cbi Portc,3

rjmp start;выполнилось и обратно к цыклу измерения

dd:

cbi Portc,5

sbi PORTC,2;трицать

sbi PORTC,3

sbi PORTC,4

rjmp start

VV:

SBI PORTC,2;двацать

sbi portc,3

cbi portc,5

cbi portc,4

rjmp start

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

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

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

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

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

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

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

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Чувак)За пример всегда пожалуйста если помог.Но я сам начинающий)Этот пример работает конечно,но не думаю что код тут красиво и правильно написан.

У меня вообщем возникла другая проблема,в железе работает если напругу переменником подавать на АЦП,а если подрубить звук то светодиоды светятся а только верхний мигает и когда звук пропадает они всёравно продолжают светится.В чём проблема кто подскажет?Это я тугой код сделал?Или нужно фильтр какойнить?

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

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

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

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

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

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

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

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

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

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

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