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

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

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

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

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

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


 
Опции темы
Непрочитано 12.08.2006, 12:18  
Luzkov
Гражданин KAZUS.RU
 
Регистрация: 21.02.2005
Сообщений: 685
Сказал спасибо: 14
Сказали Спасибо 84 раз(а) в 44 сообщении(ях)
Luzkov на пути к лучшему
По умолчанию

Если уж не нравится компаратор так зачем его заменять тригером Шмитта? Почему именно RB0? Других выводов и прерываний нет? RB0 (как правильно заметели выше)реагирует на фронт и спад. Так что Протеус прав. Ну так возьмите другой вывод порта Б4-Б7. И используйте прерывание по изменению состояния. Попробйте. (Только схему скоректируйте по вышеуказанным ошибкам)
Реклама:
Luzkov вне форума  
Сказали "Спасибо" Luzkov
a1ex64 (26.04.2010)
Непрочитано 12.08.2006, 15:33  
oscill
Временная регистрация
 
Регистрация: 25.12.2005
Адрес: Таганрог
Сообщений: 74
Сказал спасибо: 5
Сказали Спасибо 15 раз(а) в 9 сообщении(ях)
oscill на пути к лучшему
По умолчанию

Вот попытался испоьзовать SPICE модели в Proteus (результатом в принципе доволен)
может кому пригодиться,
в втором архиве SPICE модели от Texas Instruments.

Прикрепленный файл: 1340557.zip
oscill вне форума  
Сказали "Спасибо" oscill
a1ex64 (26.04.2010)
Непрочитано 14.08.2006, 22:32  
UserM
Прописка
 
Регистрация: 14.08.2006
Сообщений: 106
Сказал спасибо: 19
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
UserM на пути к лучшему
По умолчанию Загрузить EEPROM.

Добрый, день.
Подскажите плз. как в PROTEUS_6.73 загрузить данные в EEPROM контроллера ATMEGA8?
UserM вне форума  
Сказали "Спасибо" UserM
a1ex64 (26.04.2010)
Непрочитано 16.08.2006, 18:36  
Snixers
Прописка
 
Регистрация: 14.02.2006
Сообщений: 114
Сказал спасибо: 0
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
Snixers на пути к лучшему
По умолчанию

include ‹90s8515.h›

const unsigned char CODE_TAB[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6 f,0x00};
unsigned char buffer[9];
unsigned char PTR;
#asm
.equ __i2c_port=0x12
.equ __sda_bit=3
.equ __scl_bit=2
#endasm
#include ‹ds1307.h›
void main(void)
{
unsigned char h,m,s,i;
PORTC=0x00;
DDRC=0xff;
PORTD=0x0C;
DDRD=0xf0;
TCCR0=0x02;
TCNT0=247;
TIMSK=0x02;
#asm("sei")
PTR=0;
PORTD=0;
i2c_init();
rtc_init(0,0,0);
rtc_set_time(0,0,0);
for(i=0;i‹9;i++)buffer[i]=10;
while (1)
{
rtc_get_time(&h,&m,&s);
buffer[7]=h/10;
buffer[6]=h-(h/10)*10;
buffer[4]=m/10;
buffer[3]=m-(m/10)*10;
buffer[1]=s/10;
buffer[0]=s-(s/10)*10;
for(i=0;i‹255;i++){};
};
}
interrupt[8]void timer0_ovf_isr(void)
{
if(PTR==10){PTR=0;PORTD=0x00;}
PORTD+=16;
PORTC=CODE_TAB[buffer[PTR]];
PTR++;
}
Это исходник. Проблемма в том что Протеус6.9 дико тормозит с I2C особенно когда подключаю подтягивающие резисторы R8 и R9 между VCC и I2C шиной Хотя симуляция верна (Железо CPU 3.4GHz )Где проблемма?

-- Прилагается рисунок: --

Snixers вне форума  
Сказали "Спасибо" Snixers
a1ex64 (26.04.2010)
Непрочитано 17.08.2006, 07:26  
Snixers
Прописка
 
Регистрация: 14.02.2006
Сообщений: 114
Сказал спасибо: 0
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
Snixers на пути к лучшему
По умолчанию

P.S.Тоже попробовал для LCD Все работает как надо без пережирания ресурсов.
Snixers вне форума  
Сказали "Спасибо" Snixers
a1ex64 (26.04.2010)
Непрочитано 17.08.2006, 12:22  
kapNemo
Временная регистрация
 
Регистрация: 09.01.2006
Сообщений: 63
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
kapNemo на пути к лучшему
По умолчанию

Сообщение от Snixers
P.S.Тоже попробовал для LCD Все работает как надо без пережирания ресурсов.
Видимо проблема в том, что CV при работе с I2C использует софтовую реализацию шины. И шина висит на том-же порту, что и индикатор. Во время обнуления разрядов индикатора идет побочный эффект - обнуление и SCL и SDA. Попробуй заменить строку
if(PTR==10){PTR=0;PORTD=0x00;}
на
if(PTR==10){PTR=0;PORTD&=0x0F;}
kapNemo вне форума  
Сказали "Спасибо" kapNemo
a1ex64 (26.04.2010)
Непрочитано 17.08.2006, 13:58  
Snixers
Прописка
 
Регистрация: 14.02.2006
Сообщений: 114
Сказал спасибо: 0
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
Snixers на пути к лучшему
По умолчанию

Попробовал результат тот же более того взял другой свободный порт PORTA всё бестолку. Тормозит Протеус при эмуляции.Кстати подобное у меня было раз и вылечил перестановкой строк в исходнике программы. Хотя с точки зрения Си и то и другое было синтаксически верно но Протеус не понял и тоже жутко загребал ресурсы компа. Буду менять текст проги хотя думаю в кристалле AVR тормозов не будет.
Snixers вне форума  
Сказали "Спасибо" Snixers
a1ex64 (26.04.2010)
Непрочитано 17.08.2006, 14:13  
kapNemo
Временная регистрация
 
Регистрация: 09.01.2006
Сообщений: 63
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
kapNemo на пути к лучшему
По умолчанию

Сообщение от Snixers
Попробовал результат тот же более того взял другой свободный порт PORTA всё бестолку. Тормозит Протеус при эмуляции.Кстати подобное у меня было раз и вылечил перестановкой строк в исходнике программы. Хотя с точки зрения Си и то и другое было синтаксически верно но Протеус не понял и тоже жутко загребал ресурсы компа. Буду менять текст проги хотя думаю в кристалле AVR тормозов не будет.
Протеус С не знает. Ему все равно - переставляй строки, не переставляй. Выполнение идет по уже скомпилированным инструкциям процессора. Так что это баги компилятора. Попробуй выяснить что конкретно тормозит - прерывание от таймера?
Вообще так писать программу не нужно - зачем постоянный опрос RTC? Все равно информация в них обновляется 1 раз в секунду.
Далее - при каждом обновлении индикатора будет читаться флеш-память, что не есть гут.
Заноси туда данные сразу:
buffer[7]=CODE_TAB[h/10];
Ну и вообще посмотри программу на логичность и избыточность.
kapNemo вне форума  
Сказали "Спасибо" kapNemo
a1ex64 (26.04.2010)
Непрочитано 17.08.2006, 14:28  
Snixers
Прописка
 
Регистрация: 14.02.2006
Сообщений: 114
Сказал спасибо: 0
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
Snixers на пути к лучшему
По умолчанию

Заноси туда данные сразу:
buffer[7]=CODE_TAB[h/10];


Так flash читатся будет еще чаще а не только по прерываниям и более того HEX файл будет больше.Нет здесь всё верно.
Snixers вне форума  
Сказали "Спасибо" Snixers
a1ex64 (26.04.2010)
Непрочитано 17.08.2006, 14:39  
kapNemo
Временная регистрация
 
Регистрация: 09.01.2006
Сообщений: 63
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
kapNemo на пути к лучшему
По умолчанию

Сообщение от Snixers
Заноси туда данные сразу:
buffer[7]=CODE_TAB[h/10];


Так flash читатся будет еще чаще а не только по прерываниям и более того HEX файл будет больше.Нет здесь всё верно.
Это от невнимательного прочтения моего поста...
Я же писал- НЕ НАДО читать RTC чаще 2-х раз в секунду. Это просто бессмысленно.
kapNemo вне форума  
Сказали "Спасибо" kapNemo
a1ex64 (26.04.2010)
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Proteus общие вопросы dosikus Proteus 3366 06.09.2024 08:25
Вопросы по PROTEUS-у Advanced_LAMER Proteus 372 19.09.2021 01:20
Вопрос по работе с Proteus Slnew Proteus 16 20.11.2013 20:09
глюк Proteus при работе с ATMEL ATTINY45 igoruha727 Микроконтроллеры, АЦП, память и т.д 3 23.05.2009 01:00
загрузка CPU при работе PROTEUS dimonbest Proteus 48 25.05.2007 20:30


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


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