Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

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

 
Опции темы
Непрочитано 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
Сообщений: 478
Сказал спасибо: 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.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
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 27.01.2005 00:45


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot