Jump to content

Recommended Posts

Здравствуйте, я работаю в Proteus и у меня возникла ошибка Simulation is not running in real time due to excessive CPU load
Подскажите пожалуйста как её исправить

Код прошивки:

#include <lm3s300.h>
 
// Graphic Display functions
#include <glcd.h>
 
// Font used for displaying text
// on the graphic display
#include <font5x7.h>
 
// Declare your global variables here
 
void main(void)
{
 
unsigned char odin[] = {
0x08, 0x00,
0x08, 0x00,
#ifndef _GLCD_DATA_BYTEY_
0x00, 0x10, 0x18, 0x14, 0x10, 0x10, 0x7C, 0x00,
#else
0x00, 0x00, 0x48, 0x44, 0x7E, 0x40, 0x40, 0x00,
#endif
};
 
// Declare your local variables here
// Variable used to store graphic display
// controller initialization data
GLCDINIT_t glcd_init_data;
 
// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=(1<<CLKPCE);
CLKPR=(0<<CLKPCE) | (0<<CLKPS3) | (0<<CLKPS2) | (0<<CLKPS1) | (0<<CLKPS0);
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
 
// Input/Output Ports initialization
// Port B initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In 
DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T 
PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);
 
// Port C initialization
// Function: Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In 
DDRC=(0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0);
// State: Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T 
PORTC=(0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);
 
// Port D initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In 
DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T 
PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);
 
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0A output: Disconnected
// OC0B output: Disconnected
TCCR0A=(0<<COM0A1) | (0<<COM0A0) | (0<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (0<<WGM00);
TCCR0B=(0<<WGM02) | (0<<CS02) | (0<<CS01) | (0<<CS00);
TCNT0=0x00;
OCR0A=0x00;
OCR0B=0x00;
 
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF
// OC1A output: Disconnected
// OC1B output: Disconnected
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10);
TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (0<<CS10);
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
 
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2A output: Disconnected
// OC2B output: Disconnected
ASSR=(0<<EXCLK) | (0<<AS2);
TCCR2A=(0<<COM2A1) | (0<<COM2A0) | (0<<COM2B1) | (0<<COM2B0) | (0<<WGM21) | (0<<WGM20);
TCCR2B=(0<<WGM22) | (0<<CS22) | (0<<CS21) | (0<<CS20);
TCNT2=0x00;
OCR2A=0x00;
OCR2B=0x00;
 
// Timer/Counter 0 Interrupt(s) initialization
TIMSK0=(0<<OCIE0B) | (0<<OCIE0A) | (0<<TOIE0);
 
// Timer/Counter 1 Interrupt(s) initialization
TIMSK1=(0<<ICIE1) | (0<<OCIE1B) | (0<<OCIE1A) | (0<<TOIE1);
 
// Timer/Counter 2 Interrupt(s) initialization
TIMSK2=(0<<OCIE2B) | (0<<OCIE2A) | (0<<TOIE2);
 
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// Interrupt on any change on pins PCINT0-7: Off
// Interrupt on any change on pins PCINT8-14: Off
// Interrupt on any change on pins PCINT16-23: Off
EICRA=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00);
EIMSK=(0<<INT1) | (0<<INT0);
PCICR=(0<<PCIE2) | (0<<PCIE1) | (0<<PCIE0);
 
// USART initialization
// USART disabled
UCSR0B=(0<<RXCIE0) | (0<<TXCIE0) | (0<<UDRIE0) | (0<<RXEN0) | (0<<TXEN0) | (0<<UCSZ02) | (0<<RXB80) | (0<<TXB80);
 
// Analog Comparator initialization
// Analog Comparator: Off
// The Analog Comparator's positive input is
// connected to the AIN0 pin
// The Analog Comparator's negative input is
// connected to the AIN1 pin
ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0);
ADCSRB=(0<<ACME);
// Digital input buffer on AIN0: On
// Digital input buffer on AIN1: On
DIDR1=(0<<AIN0D) | (0<<AIN1D);
 
// ADC initialization
// ADC disabled
ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0);
 
// SPI initialization
// SPI disabled
SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) | (0<<CPHA) | (0<<SPR1) | (0<<SPR0);
 
// TWI initialization
// TWI disabled
TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) | (0<<TWIE);
 
// Graphic Display Controller initialization
// The KS0108 connections are specified in the
// Project|Configure|C Compiler|Libraries|Graphic Display menu:
// DB0 - PORTB Bit 0
// DB1 - PORTB Bit 1
// DB2 - PORTB Bit 2
// DB3 - PORTB Bit 3
// DB4 - PORTB Bit 4
// DB5 - PORTB Bit 5
// DB6 - PORTB Bit 6
// DB7 - PORTB Bit 7
// E - PORTC Bit 0
// RD /WR - PORTC Bit 1
// RS - PORTC Bit 2
// /RST - PORTC Bit 3
// /CS1 - PORTC Bit 4
// /CS2 - PORTC Bit 5
 
// Specify the current font for displaying text
glcd_init_data.font=font5x7;
// No function is used for reading
// image data from external memory
glcd_init_data.readxmem=NULL;
// No function is used for writing
// image data to external memory
glcd_init_data.writexmem=NULL;
 
glcd_init(&glcd_init_data);
 
glcd_putimage(0,0, odin, GLCD_PUTCOPY);
while (1)
      {
      // Place your code here
 
      }
}

Схема прикреплена ниже в архиве

Screenshot_8.png

Схема.rar

Edited by Super Akk
Link to comment
Share on other sites

LIR-20 – модуль резервирования питания от MORNSUN
Компания MORNSUN расширила линейку продукции, монтируемой на DIN-рейку, выпустив модуль резервирования питания LIR-20 с максимальным током до 20 А на канал. Модуль можно использовать на шинах с напряжением 24 или 48 В (полный диапазон напряжения 22…60 В). Данный модуль применяется в системах, где даже выход из строя источника питания (ИП) не должен привести к потере напряжения. К модулю резервирования подключаются два источника питания, причем один из них может быть бесперебойным (ИБП; UPS), и нагрузка.

Читать подробнее >>

Перевод

Цитата

Моделирование не выполняется в реальном времени из-за чрезмерной загрузки процессора

Компьютер, наверное, слабенький.

Link to comment
Share on other sites

LED-драйверы MEAN WELL – выбор больше, стоимость ниже

Компэл расширил и существенно пополнил склад LED-драйверами компании MEAN WELL, одновременно снизив цену на них. В настоящий момент на складе представлена широкая линейка продукции для наружного (семейства HLG, ELG, XLG, LPC, LPV), и для внутреннего (APC, LCM, SLD, APV) освещения.

Имеется большой выбор моделей с различными режимами стабилизации выходных параметров. Кроме того, есть в наличии и линейка DC/DC-драйверов, как понижающих (семейство LDD), так и повышающих (семейство LDH).

Подробнее>>

1 час назад, Super Akk сказал:

Да, мне необходимо переделать код с AVR на ARM

Тут не переделывать, а заново писать нужно.  

Link to comment
Share on other sites

Популярные модели литиевых батареек FANSO EVE Energy готовы к отправке
На складе КОМПЭЛ уже готовы к поставке одни из самых востребованных литиевых батареек типов ER и CR производства FANSO EVE Energy – одного из мировых лидеров на рынке первичных литиевых элементов питания.
Данные источники тока получили широкое применение в различных областях, будь то системы безопасности, приборы учета или мелкая бытовая техника. 

Подробнее о применениях>>
 

2 минуты назад, Yuriy.pv сказал:

Тут не переделывать, а заново писать нужно.  

Можете мне пожалуйста помочь с этим?

Link to comment
Share on other sites

Источники питания MEAN WELL для медицинских устройств на складе Компэл

Компэл расширяет складскую программу по специальным ИП для применения в медицинских приборах и устройствах. Представлены ИП в диапазоне мощности от 5 до 500 Вт, по медицинскому стандарту EN60601-1 с двумя мерами защиты пациента (2хMOPP; тип BF) для устройств, контактирующих с пациентом.  Все эти надежные источники питания могут применяться не только в медицинских устройствах.

Подробнее>>

Guest
This topic is now closed to further replies.
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Сообщения

    • Вот точно, камрад, вам прямая дорога сюда. Там найдете много благодарных почитателей.
    • Давно залежавшиеся  детали надо же куда пристраивать.
    • Совершенно согласен, у меня возникло то же ощущение после просмотра видео работы устройства. Связь с музыкой, конечно, есть, но далеко не такая очевидная, из-за действительно лишних морганий, не связанных с музыкой. Как тут уже отмечалось, система, построенная на компараторах, априори окажется хуже, например, системы, построенной на АЦП и цифровом анализе / фильтрации.
    • Никакой не стабилизатор. Берем входное напряжение 50 В +-14% (отклонение сетевого +-10%). Значит, минимальное входное будет 43 В. При номинальной нагрузке в 3 А и выставленном без нагрузке 42 В размах пульсаций на выходе будет равен 8 В. При этом никогда режим стабилизации не наступит, ибо разница входного и выходного ну хотя бы 3 В должна быть.  При номинальном 220 сетевом размах пульсаций на выходе при 3 А будет около 5 В. Давай, автор, прокомментируй.
    • В балюстраде установлены три светильника с светодиодными лампами GX53, питание через диммер (100 Вт) с регулировкой освещенности. Года два все было нормально, диммер работал штатно, но теперь, после включения, через разные промежутки времени лампы начинают моргать (моргают сразу три), от положения переменного резистора не зависит. Я понимаю, что идет просадка напряжения на выходе с диммера. Тиристор рабочий, проверял тестером, насколько хватило моего опыта. Подскажите, в чем может быть причина.  
    • Тоже посмотрел. Не возникло никаких эмоциональных и эстетических ощущений. Этой цветомузыке музыка не нужна, потому что она живет своей жизнью. Все эти "плавные переливания" и вспышки возникают непонятно отчего и также непонятно когда исчезают. Не просматривается связь с громкостью и ритмом музыки. Обычная моргалка с частотным разделением каналов, компрессором и фоновым каналом смотрится многократно приятнее, живее и понятнее. Сделал вывод. Мир куда многообразнее, чем каждому из нас в отдельности кажется. Поскольку есть люди, подобные автору и его последователям, которые находят изощренное удовольствие в таком поделии, "очень сложном" не только в изготовлении, но и в восприятии.  Впрочем, если вы все-таки изготовили ЭТО и вам не понравилось, то, значит, просто не смогли правильно настроить. Ведь это "очень сложная цветомузыка". Чем-то напомнило "динамический рупор Алпатова".   
    • Пришли с Китая подправленные платы ЭА2014 с переделанным подводом земли на плату, как в V2020. Так же добавлены резисторы 100 Ом в базы VT5,6 (на фото обведены красным и возможно при настройке нужно будет уменьшить номинал до 51 Ом). В питание УНа добавлена возможность параллельной установки СМД резисторов, так как отмечалось перегорание резисторов в корпусе СМД2010. На плату можно поставить пленку с межножным 22,5 мм.
  • Similar Content

×
×
  • Create New...