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

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

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

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

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

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


 
Опции темы
Непрочитано 27.03.2020, 19:34  
j-Roger
Гражданин KAZUS.RU
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 682
Сказал спасибо: 362
Сказали Спасибо 756 раз(а) в 358 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: Proteus общие вопросы

E_C_C, похоже нужно алгоритм менять/усовершенствовать.
Вот поведение в железе ( ATMEGA8А, но в данном случае это ничего не меняет)
Нажмите на изображение для увеличения
Название: ScreenShot.jpg
Просмотров: 0
Размер:	132.9 Кб
ID:	151595
Реклама:
j-Roger вне форума  
Сказали "Спасибо" j-Roger
E_C_C (27.03.2020)
Непрочитано 27.03.2020, 19:36  
E_C_C
Почётный гражданин KAZUS.RU
 
Аватар для E_C_C
 
Регистрация: 08.05.2008
Адрес: регион 63
Сообщений: 1,827
Сказал спасибо: 739
Сказали Спасибо 683 раз(а) в 386 сообщении(ях)
E_C_C на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Осталось понять почему так получается, задумка то вроде нормальная....
__________________
Да здравствует Разум,да сгинет Маразм!
E_C_C вне форума  
Непрочитано 27.03.2020, 23:58  
j-Roger
Гражданин KAZUS.RU
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 682
Сказал спасибо: 362
Сказали Спасибо 756 раз(а) в 358 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Вот что получилось.
Нажмите на изображение для увеличения
Название: ScreenShot.jpg
Просмотров: 0
Размер:	132.2 Кб
ID:	151607
Важные моменты выделены комментариями с угловыми скобками.

PHP код:
#include ‹mega8.h›  
 
// ››››››››››››››››››››
    // программный счетчик - volatile
    
volatile unsigned int time_count
    
// флаги - volatile
    
volatile unsigned char flag1,flag2,flag3,flag4,flag5,flag6,flag7;
// ‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹
     
     
unsigned int delay_A,delay_B,delay_C,length_A,length_B,length_C  ;
     
unsigned int delay_time=20
     
unsigned int length_pulse=50


// External Interrupt 1 service routine            // прерывание по синхре 
interrupt [EXT_INT1void ext_int1_isr(void)
{
        
#asm("wdr")
        
flag1=1;
        
flag2=1;
        
flag3=1;
        
flag4=1;
        
flag5=1;
        
flag6=1;
        
flag7=1
              
        
time_count=0// сброс программного счетчика
       
}


  
// Timer2     10mks
 
interrupt [TIM2_COMPvoid timer2_comp_isr(void)
  { 
   
#asm("wdr")
   
   
if((flag7) && (time_count ‹ 1000))
    {
          
time_count++;
    };
   }


void main(void)
{

PORTB=0x00;
DDRB=0xFF;
PORTC=0x00;
DDRC=0x00;
PORTD=0x00;
DDRD=0x00;
TCCR0=0x00;
TCNT0=0x00;
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
ASSR=0x00;
TCCR2=0x0A;
TCNT2=0x00;
OCR2=0x0A;
GICR|=0x80;
MCUCR=0x0C;
GIFR=0x80;
TIMSK=0x80;  
SPCR=0x00;    
TWCR=0x00;

WDTCR=0x1E;
WDTCR=0x0E;


#asm("sei")


  
delay_A delay_time
  
length_A length_pulse+delay_time;  
  
delay_B delay_time+333
  
length_B length_pulse+delay_time+333;  
  
delay_C delay_time+666
  
length_C length_pulse+delay_time+666
  
  
     
while (
1)
   {  
     
unsigned int time_count_tmp// врЕменная переменная для программного счетчика

     #asm("wdr")

// ››››››››››››››››››››
    
if (!flag7) continue; // работаем только после синхроимпульса
    // "безопасное" чтение 2-байтового счетчика
    #asm("cli")
    
time_count_tmp time_count// далее пользуемся копией программного счетчика
    #asm("sei")
// ‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹

             
       
if((flag1) && ( time_count_tmp ›= delay_A))         // выдыдим импульс 1
            
{
              
PORTB.3=1
                
flag1=0;               
                };            
         if((
flag2) && ( time_count_tmp ›= length_A))
                   {
                   
PORTB.3=0
                      
flag2=0
                      
                        };            
        if((
flag3) && ( time_count_tmp ›= delay_B))        // выдыдим импульс 2
            
{
               
PORTB.1=1;                
                  
flag3=0;
                };                 
           if((
flag4) && (time_count_tmp ›= length_B))
                {
                  
PORTB.1=0
                     
flag4=0;
                   };                 
          if((
flag5) && (time_count_tmp ›= delay_C))      // выдыдим импульс 3
             

               
PORTB.4=1
                  
flag5=0;                
                };   
             if((
flag6) && (time_count_tmp ›= length_C))
                {
                   
PORTB.4=0
                    
flag6=0;  
                    
flag7=0;
                       };     
                   
      };  
      

P. S.
Да, и самое главное - успехов!

Последний раз редактировалось j-Roger; 28.03.2020 в 14:43.
j-Roger вне форума  
Эти 2 пользователя(ей) сказали Спасибо j-Roger за это сообщение:
DmitriyVDN (28.03.2020), E_C_C (28.03.2020)
Непрочитано 28.03.2020, 00:12  
Ara41
Почётный гражданин KAZUS.RU
 
Регистрация: 30.09.2006
Сообщений: 1,560
Сказал спасибо: 158
Сказали Спасибо 661 раз(а) в 431 сообщении(ях)
Ara41 на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Сообщение от j-Roger Посмотреть сообщение
2) Использовалась Atmel Studio
Вы это серьезно?
Ara41 вне форума  
Непрочитано 29.03.2020, 16:00  
pavelpicaaso
Прохожий
 
Регистрация: 16.03.2020
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
pavelpicaaso на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Доброго времени суток, создаю в протеусе проект по USB HID, вопрос такой решил сделать чтобы по нажатию на USBCONN запускалось usb, а при отключении вырубалось (понимаю что нужно сделать прерывание, но не знаю как)
Пример кода:
https://pastebin.com/tzGZHtyF
Сделал пока что костылем, просто в начале программы проверяю включен он или нет, но хочу чтобы можно было в любой момент отключить и подключить
pavelpicaaso вне форума  
Непрочитано 29.03.2020, 16:03  
pavelpicaaso
Прохожий
 
Регистрация: 16.03.2020
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
pavelpicaaso на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Не знаю почему но картинка не вставилась
url https://ibb.co/09xKDFg
pavelpicaaso вне форума  
Непрочитано 29.03.2020, 16:07  
Ara41
Почётный гражданин KAZUS.RU
 
Регистрация: 30.09.2006
Сообщений: 1,560
Сказал спасибо: 158
Сказали Спасибо 661 раз(а) в 431 сообщении(ях)
Ara41 на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Сообщение от pavelpicaaso Посмотреть сообщение
решил сделать чтобы по нажатию на USBCONN запускалось usb, а при отключении вырубалось
это как понимать?
Ara41 вне форума  
Непрочитано 29.03.2020, 16:15  
pavelpicaaso
Прохожий
 
Регистрация: 16.03.2020
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
pavelpicaaso на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Сделать (исправить) эмуляцию извлечения, сейчас она сделало через отправку disconnect
https://ibb.co/W2tj2hk
https://ibb.co/Hz4vW7L
pavelpicaaso вне форума  
Непрочитано 29.03.2020, 16:23  
Ara41
Почётный гражданин KAZUS.RU
 
Регистрация: 30.09.2006
Сообщений: 1,560
Сказал спасибо: 158
Сказали Спасибо 661 раз(а) в 431 сообщении(ях)
Ara41 на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Сообщение от pavelpicaaso Посмотреть сообщение
решил сделать чтобы по нажатию на USBCONN запускалось usb, а при отключении вырубалось (понимаю что нужно сделать прерывание, но не знаю как)
VCC от USB на любой INT.
Ara41 вне форума  
Непрочитано 06.04.2020, 09:22  
E_C_C
Почётный гражданин KAZUS.RU
 
Аватар для E_C_C
 
Регистрация: 08.05.2008
Адрес: регион 63
Сообщений: 1,827
Сказал спасибо: 739
Сказали Спасибо 683 раз(а) в 386 сообщении(ях)
E_C_C на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Сообщение от j-Roger Посмотреть сообщение
Вот что получилось.


P. S.
Да, и самое главное - успехов!
Еще раз спасибо ! добрался до компьютера, отсимулировал , все замечательно получается .
p/s это алгоритм для распределения импульсов по трем фазам тиристорного регулятора , с возможностью изменять длительность импульса и угол открытия тиристора. Дело за малым - воплотить в железе.
__________________
Да здравствует Разум,да сгинет Маразм!
E_C_C вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопросы по PROTEUS-у Advanced_LAMER Proteus 372 19.09.2021 01:20
Вопросы и замечания по топику - FAQ по PROTEUS avr123-nm-ru Proteus 291 05.06.2015 20:49
Вопросы по работе с Proteus dosikus Proteus 510 20.12.2007 18:48
CAN BUS общие впечатления vasseff Микроконтроллеры, АЦП, память и т.д 7 20.06.2007 09:15
Вопросы по Си. Zemlyanov Proteus, KiCAD и другие ECAD 5 20.11.2006 15:36


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


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