Например TDA7294

Форум РадиоКот • Просмотр темы - Proteus 7.7 and ATMega16
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт июн 24, 2025 04:49:19

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ 1 сообщение ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Proteus 7.7 and ATMega16
СообщениеДобавлено: Сб май 07, 2011 16:17:53 
Родился

Зарегистрирован: Вт май 03, 2011 18:19:53
Сообщений: 11
Рейтинг сообщения: 0
И так начну сначала.
Вот решил сделать сибе приборчик на МК что то вроде одно-канального USB осциллографа и перед тем как мучать настоящие железки стал тестить устройство в Proteus 7.7 и столкнулся вот с какой проблемкой при замере частоты до 400герц все работает нормально, а начиная с 400 и до 1000герц измерения начинают брихать на 1герц ну и все что выще 2000герц погрешность 2 герца и тд.

Вот в чем вопрос может ли симулятор давать мне такую лажу или это я все таки напортачил где то?

программа на Pascal

Код:
program asc;
//----------
// LCD module connections
var LCD_RS : sbit at PORTD2_bit;
var LCD_EN : sbit at PORTD3_bit;
var LCD_D4 : sbit at PORTD4_bit;
var LCD_D5 : sbit at PORTD5_bit;
var LCD_D6 : sbit at PORTD6_bit;
var LCD_D7 : sbit at PORTD7_bit;

var LCD_RS_Direction : sbit at DDD2_bit;
var LCD_EN_Direction : sbit at DDD3_bit;
var LCD_D4_Direction : sbit at DDD4_bit;
var LCD_D5_Direction : sbit at DDD5_bit;
var LCD_D6_Direction : sbit at DDD6_bit;
var LCD_D7_Direction : sbit at DDD7_bit;
// End LCD module connections
var
   counter, lcd_counter: integer;
   text_0, cloc_txt: array[11] of char;
//----------
procedure Timer2Overflow_ISR(); org IVT_ADDR_TIMER2_OVF;
begin

     inc(lcd_counter);
end;

procedure Interrupt_2(); iv IVT_ADDR_INT2;
begin
   inc(counter);
end;

begin
  { Main program }
  OSCCAL:= 0x7F;
//----------
  SREG_I_bit:= 1;
 
  INT2_bit:= 1;

  TOIE2_bit:= 1;
  TCCR2:= 5;
  ASSR:= 255;
//----------
  Lcd_Init();
  Lcd_Cmd(_LCD_CLEAR);
  Lcd_Cmd(_LCD_CURSOR_OFF);
  ByteToStr(Clock_MHz, cloc_txt);
  LCD_Out(1, 2, 'SNG ST - '+cloc_txt+'MHz');
 //----------
 //DDRB:= 0xFF;
 counter:= 0;
 lcd_counter:= 0;

  while TRUE do
      begin
       if lcd_counter >= 1 then
        begin
        TOIE2_bit:= 0;

         IntToStr(counter, text_0);
         counter:= 0;
         LCD_Out(2, 1, text_0+'Hz');
         lcd_counter:= 0;

        TOIE2_bit:= 1;
        end
      end
 
end.


схема
Изображение


Вложения:
Комментарий к файлу: Скрин из Proteus
shema_00.png [22.08 KiB]
Скачиваний: 1828
Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y