Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум

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

 
Опции темы

Помогите отладить программу АЦП на AVR

Непрочитано 12.04.2007, 22:08  
Alexander48
Прохожий
 
Регистрация: 12.04.2007
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Alexander48 на пути к лучшему
По умолчанию Помогите отладить программу АЦП на AVR

Всем доброго дня суток!
Помогите начинающему!Пытаюсь сделать АЦП путем использования компаратора и измерении времени заряда конденсатора до значения входного напряжения.(Пример в AVR400). Моделирую пока в VMLABe.Работать не хочет.
С железом еше не связывался.
Заранее большое спасибо.
Вот программа.
Код:

Код:
.include "C:VMLABinclude1200def.inc" 

;***** Константы 
.equ  preset=192          ;Предустановленный код смещения T/C0 (256-64)    

.def   result=r16        ;Результат пеобразования     и  промежуточные данные 
.def   temp=r17           ;Временный регистр 

.cseg 

.org  0x0000 
      rjmp Reset 
.org  OVF0addr 
      rjmp ANA_COMP 
.org  ACIaddr 
      rjmp ANA_COMP 
;*************************************************  ************************* 
;;*     Начало программы 
;*************************************************  ************************* 
Reset: 
      cbi  DDRB,1 
      rcall convert_init                 ;Инициализация АЦП 
      sei                    ; Глобальное разрешение прерываний 
      ldi  result,0xFF 
      out  DDRD,result 

Delay: 
     clr  result             ;Очистка временного счетчика 1 
     ldi  temp,0xf0          ;Очистка временного счетчика 2 
loop1: 
     inc  result             ;Увеличение на 1 временного счетчика 1 
     brne   loop1            ; и ожидание его переполнения 
     inc    temp             ; Увеличение на 1 временного счетчика 2 
     brne    loop1           ; и ожидание его переполнения 

     rcall   AD_convert      ; Запуск преобразования 
Wait: 
     brtc   Wait             ; Ожидание завершения преобразования 
     out   PORTD,result      ; Вывод результата на порт B 

      rjmp    Delay          ; Повтор преобразования 

ANA_COMP: 
      in  result,TCNT0       ;Загрузка значения таймера 0 
      clr  temp              ;Останов таймера 0 
      out TCCR0,temp 
      subi result,preset+1   ;Вычисление результата преобразования 
      cbi PORTB,PB2          ;Запуск разрядки конденсатора 
      set                    ;Установка флага завершения преобразования 
      reti                   ;Выход из прерывания 

convert_init: 
      ldi result,0x0b        ;Разрешение работы компаратора 
      out ACSR,result        ; и разрешение его прерывания 
      ldi result,0x02        ;Разрешение прерывания таймера 
      out TIMSK,result 
      sbi PORTB,PB2          ;Настройка линии заряда/разряда  как выход 
      ret       

AD_convert: 
      ldi result,preset      ;Очистка счетчика результата 
      out TCNT0,result       ;и загрузка кода смещения 
      clt                    ;Сброс флага окончания преобразования (t) 
      ldi result,0x02        ;Запуск таймера 0 с предделением на 8 
      out TCCR0,result 
      sbi PORTB,PB2          ;Включение режима заряда конденсатора 
      ret                    ;Выход из процедуры
И проект VMLab
Код:

Код:
.MICRO "AT90S1200" 
.PROGRAM "AVR400.asm" 
.TARGET "AVR400.hex" 

.TRACE                 ; Activate micro trace 


.POWER VDD=5 VSS=0    ; Power nodes 
.CLOCK 1meg           ; Micro clock 
.STORE 250m           ; Trace (micro+signals) storage time 

R1 PB2 PB0 100k 
C1 PB0 VSS 10n 
V1 PB1 VSS SLIDER_1(0 2) 
D1 VDD PD0 
D2 VDD PD1 
D3 VDD PD2 
D4 VDD PD3 
D5 VDD PD4 
D6 VDD PD5 
D7 VDD PD6

-- Прилагается рисунок: --
Реклама:
Alexander48 вне форума  
Непрочитано 18.11.2009, 13:09  
And_av
Прохожий
 
Регистрация: 17.11.2009
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
And_av на пути к лучшему
По умолчанию Re: Помогите отладить программу АЦП на AVR

А зачем связываться с барахлом типа 1200, если есть куча нормальных
AtMega со встроенным АЦП и аналоговым коммутатором.
Нормальные люди - из Новгорода в Астрахань через Сахалин не ездят.
С уВажением начинающему.
Авилов.(разработчик(52года)). Стаж- вся жизнь.
And_av вне форума  
Непрочитано 18.11.2009, 16:01  
frend
Вид на жительство
 
Регистрация: 19.05.2005
Сообщений: 476
Сказал спасибо: 0
Сказали Спасибо 21 раз(а) в 16 сообщении(ях)
frend на пути к лучшему
По умолчанию Re: Помогите отладить программу АЦП на AVR

Сообщение от And_av Посмотреть сообщение
А зачем связываться с барахлом типа 1200, если есть куча нормальных
AtMega со встроенным АЦП и аналоговым коммутатором.
Нормальные люди - из Новгорода в Астрахань через Сахалин не ездят.
С уВажением начинающему.
Авилов.(разработчик(52года)). Стаж- вся жизнь.
ясное дело
микруха уже не выпускается
берем какую-нибудь мегу(например мегу
в протеусе прекрасно АЦП моделируется
из 8 делается рожа

Последний раз редактировалось frend; 18.11.2009 в 16:04.
frend вне форума  
Непрочитано 23.11.2009, 15:48  
operator
Частый гость
 
Регистрация: 15.11.2009
Сообщений: 28
Сказал спасибо: 9
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
operator на пути к лучшему
По умолчанию Re: Помогите отладить программу АЦП на AVR

Сообщение от frend Посмотреть сообщение
в протеусе прекрасно АЦП моделируется
из 8 делается рожа
, насчет прекрасно моделируется, а можно поподробнее, а то уже третий день бьюсь, ацп странно работает, все время как результат преобразования одно и то же значение, хотя сигнал на входе меняется
Вложения:
Тип файла: rar adc.rar (39.1 Кб, 81 просмотров)
operator вне форума  
Непрочитано 23.11.2009, 21:49  
Nimod
Прохожий
 
Аватар для Nimod
 
Регистрация: 21.10.2009
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
Nimod на пути к лучшему
По умолчанию Re: Помогите отладить программу АЦП на AVR

Сообщение от frend Посмотреть сообщение
из 8 делается рожа
а вот так не делается 8 )
Nimod вне форума  
Непрочитано 23.11.2009, 21:54  
Nimod
Прохожий
 
Аватар для Nimod
 
Регистрация: 21.10.2009
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
Nimod на пути к лучшему
По умолчанию Re: Помогите отладить программу АЦП на AVR

Attiny 2313 в таком же корпусе, что и 90s1200 если что, и АЦП есть и по цене выгодней чем AtMega.
Nimod вне форума  
Непрочитано 23.11.2009, 22:31  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Помогите отладить программу АЦП на AVR

Сообщение от Nimod Посмотреть сообщение
Attiny 2313 в таком же корпусе, что и 90s1200 если что, и АЦП есть

Откуда АЦП?
kison вне форума  
Непрочитано 24.11.2009, 00:03  
Nimod
Прохожий
 
Аватар для Nimod
 
Регистрация: 21.10.2009
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
Nimod на пути к лучшему
По умолчанию Re: Помогите отладить программу АЦП на AVR

Пардон, да действительно нету ,это я спутал с 13-ым(кстати он вообще копейки стоит - 1$, но он DIP8 ). Ну тогда AtTiny26 - тоже 20 выводов и десять входов мультиплексного АЦП.


Последний раз редактировалось Nimod; 24.11.2009 в 00:50.
Nimod вне форума  
Непрочитано 30.11.2009, 14:07  
hellhound1988
Прохожий
 
Регистрация: 24.11.2009
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
hellhound1988 на пути к лучшему
По умолчанию Re: Помогите отладить программу АЦП на AVR

Сообщение от operator Посмотреть сообщение
, насчет прекрасно моделируется, а можно поподробнее, а то уже третий день бьюсь, ацп странно работает, все время как результат преобразования одно и то же значение, хотя сигнал на входе меняется
У меня была такая проблема с ATmega64 ). АЦП всегда выдавал одно и тоже. Оказалось установить порт ацп на вход вручную. Например для atmega64 - DDRF = 0x00; И все пришло в норму. )
hellhound1988 вне форума  
Сказали "Спасибо" hellhound1988
operator (30.11.2009)
 
Опции темы

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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите написать программу для 8 Меги . sh2cer Микроконтроллеры, АЦП, память и т.д 28 24.04.2009 17:57
Как отладить Си-программу в Протеусе? PortB Proteus 1 24.03.2009 13:24
Помогите откорректировать программу 2517212 Микроконтроллеры, АЦП, память и т.д 21 18.11.2008 01:13
Помогите найти программу. un9gw Proteus, KiCAD и другие ECAD 1 13.04.2007 21:43
Помогите написать программу для микросхемы pic16f84 lexacs Микроконтроллеры, АЦП, память и т.д 0 26.01.2005 23:45


Часовой пояс GMT +4, время: 00:58.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.