Форум по разработке и ремонту электронной техники Киевский форум радиолюбителей и электронщиков. Форумы по разработке и ремонту электронной техники
    Схемы электрические принципиальныеГлавная    ФорумФорум    ПоискПоиск по форуму    Личные сообщенияФайлообменник    Личные сообщенияРадиотехнический каталог   

Фотогалерея   <b>Профиль</b>Ваш профиль    Личные сообщенияЛичные сообщения    ГруппыГруппы   

FAQFAQ    РегистрацияРегистрация    ВходВход

Уважаемые посетители! Это старая версия форума. Новая версия находится по адресу: http://www.remexpert.com
Помогите запустить программу на AVR

 
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Форум по разработке и ремонту электронной техники -> Микроконтроллеры, процессоры, ПЛИС...
 
Автор Сообщение
Alexander48
Новичок


Зарегистрирован: 12.04.2007
Сообщения: 2

СообщениеДобавлено: 12 Апр 2007, 7:24    Заголовок сообщения: Помогите запустить программу на AVR Ответить с цитатой

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

.include "C:\VMLAB\include\1200def.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

; Following lines are optional; if not included
; exactly these values are taken by default
; ------------------------------------------------------------
.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




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

Вернуться к началу
Посмотреть профиль Отправить личное сообщение
avr123.nm.ru
Знатный посетитель (>20)
Знатный посетитель (>20)


Зарегистрирован: 07.08.2006
Сообщения: 67

СообщениеДобавлено: 18 Апр 2007, 12:45    Заголовок сообщения: Ответить с цитатой

В апноуте AVR400 я нашел ошибку и написал в ATMEL но они не ответили.

Нужно ножку заряда конденсатора сделать выходом - в оригинале он вход и подтяжка заряжает конденсатор.

Вот проект - исправленый AVR400 с комментариями на русском и симуляцией в VMLAB.



AVR400_avr123.nm.ru_VMLAB.rar
 Описание:

Файлообменник
 Название файла:  AVR400_avr123.nm.ru_VMLAB.rar
 Размер файла:  2.8 KB
 Скачено:  106 раз(а)

Вернуться к началу
Посмотреть профиль Отправить личное сообщение
AndryG
Модератор


Зарегистрирован: 24.07.2006
Сообщения: 411
Откуда: Helios-3

СообщениеДобавлено: 18 Апр 2007, 13:45    Заголовок сообщения: Ответить с цитатой

Попробовал .... работает!

Вот только глючит на крайник положениях движка ...

_________________
AndryG
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
avr123.nm.ru
Знатный посетитель (>20)
Знатный посетитель (>20)


Зарегистрирован: 07.08.2006
Сообщения: 67

СообщениеДобавлено: 18 Апр 2007, 14:03    Заголовок сообщения: Ответить с цитатой

Я в VMLAB напряжение 5 вольт поставил вместо 2 когда ошибку искал. Может лучше опять 2 вольта поставить.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Alexander48
Новичок


Зарегистрирован: 12.04.2007
Сообщения: 2

СообщениеДобавлено: 03 Май 2007, 17:21    Заголовок сообщения: Помогите запустить программу на AVR Ответить с цитатой

Всем,кто ответил ,большое спасибо.Если интересно ,апноут AVR400 на русском языке
можно взять по адресу
http://www.e-tools.org/html.cgi/txt/app/micros/avr/AVR400.htm
Александр.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
avr123.nm.ru
Знатный посетитель (>20)
Знатный посетитель (>20)


Зарегистрирован: 07.08.2006
Сообщения: 67

СообщениеДобавлено: 04 Май 2007, 19:13    Заголовок сообщения: Ответить с цитатой

C той же ошибкой ?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Форум по разработке и ремонту электронной техники -> Микроконтроллеры, процессоры, ПЛИС... Часовой пояс: GMT + 2
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете добавлять вложения в этом форуме
Вы можете просматривать вложения в этом форуме


Rambler's Top100 PageRank Яндекс цитирования
Сайты наших друзей: Гири, все о гирях, Автоматизация магазинов, супермаркетов, ресторанов, кинотеатров,
Весы электронные, Сканеры штрих-кода, Принтеры штрих-кода

Powered by phpBB © 2001, 2005 phpBB Group

Время генерации страницы: 0.6046s (PHP: 91% - SQL: 9%) - SQL запросов: 13 - GZIP enabled - Debug on