Поиск сообщества
Показаны результаты для тегов 'proteus'.
Найдено: 46 результатов
-
Доброго времени суток!! Я в замешательстве! Atmega8, AtmelStudio, отладка в Proteus. int main(void) { setup();//Там устанавливаются конфигурации входов и регистров таймера1 while(1) { if(!(PINB&(1<<1)))// pb1 через кнопку на землю. pb1 притянут к питанию внутренним резистором. { TCCR1B |= (1<<0);//Устанавливаем нулевой бит регистра, что бы запустить таймер без делителя частоты, //остальные биты этого регистра в сетапе обнулялись } PORTD = TCCR1B;// в Порт Д засылаем значения регистра и смотрим шо происходит. } } А происходит следующее. При нажатии кнопки загорается PD0, вроде бы норм. Но при отпускании кнопки тухнет. Почему? Стоит вынести TCCR1B |= (1<<0); из тела условия в любое другое место все работает как надо. Но вот еще прикол. int main(void) { setup(); int tmp = 1;// Добавляем переменную while(1) { if((!(PINB&(1<<1))) && tmp)// Тело условия должно выполниться только 1 раз после нажатия { TCCR1B |= (1<<0);//start timer1 tmp = 0; } PORTD = TCCR1B; } } Казалось бы, теперь момент отпускания кнопки никак не должен влиять на результат. Но поведение PD0 то же самое. Горит только во время удержания кнопки. МК для меня новая область изучения, по этому прошу помочь разобраться и установить этот чёртов бит))
-
Доброго всем времени суток, прошу помощи. Накидал схему преобразования +12в в +5, -5. Но при симуляции на протеусе происходит что то не понятное для меня (и не только для меня) - при подаче питания 6.5в все идеально, если подать выше то выход 7660 начинает сходить с ума. Что я не так сделал? Возможно подскажете другой вариант решения вопроса. Мне необходимо сделать устройство в идеале способное питаться от аккумулятора(в плане батарейки АА или ААА) и от внешнего источника (3 - 12в), схему устройства прикладываю. Туда ещё прикручу ардуину нано для обработки данных, и дисплей. По хорошему надо не ардуину а что то вроде атмеги, но это уже следующий шаг разработки.
-
Господа, здравствуйте. Не ругайтесь, пожалуйста, я студент и я учусь. Возможно, вопрос будет глуповат. Подскажите, пожалуйста, чем можно заменить PIC32MX775F256H для САПР Proteus. Или намеки как подобрать анлог. Имеется код и принципиальная схема некого проекта на данном микроконтроллере(в Proteus нету 32х битных PIC). Я хочу создать его в Proteus,разобрать его и с ним поработать, но необходим другой микроконтроллер(скорее всего 16битный PIC) т.к. данного в протеусе нету. Повторюсь, что я учусь,а учиться лучше на примерах, а не изобретать колесо. Спасибо.
-
Доброго времени суток! Кто разбирается с Atmega128, ассемблером и кому не жалко времени, пожалуйста помогите. Как можно корректировать скорость падения маятника (он должен постеменно набирать скорость падения и плавно замедляться к верхней точке)... Какие данные нужно менять?! Спасибо! логин маятник 2.zip
- 5 ответов
-
- микроконтроллер
- Atmega
- (и ещё 7 )
-
Добрый вечер необходимо смоделировать схему "Индикатор перегрева двигателя". Первая проблема с которой я столкнулся Proteus не содержит в себе Микросхему КР1436АП1. Ну да ладно подумал я, мне достаточно будет знать, что на каждом входе микросхемы (U, BC, RC1, R1), но как бы я не менял значение опорного R1, то на выходах значение не меняется. Почему? Как мне вывести характеристику U(t) этих входов? Почему не работает схема и на каждом выходе 0 Вольт? ng_spice.pdsprj
-
Здравствуйте.С электроникой знаком только теоретически.Решил попробовать попрактиковаться.На макетной плате для монтажа без пайки попробовал собрать простую схему(к батарейному отсеку с батарейками общим номиналом напряжения 3В подключается резистор сопротивлением 68 Ом).Без подключения резистора вольтметр показывает 3В. После подключение резистора вольтметр показывает на ножках резистора 0.91В. В чем причина такого изменения?Это так и должно быть?Макетную плату прозвонил. Элементы подключаю правильно. Напряжение мультиметром измеряю параллельно. Промоделировать схему в Proteus.Proteus показывает 3В. Схема из Proteus в прикрепленном файле.
-
Всем привет. В общем есть простая мигалка по переполнению нулевого таймера. ATmega328. В АВР студии все прекрасно работает, в протеусе-0 реакции. Либо протеус тупит, либо я не настроил в нем что-то, так как собрал в железе и прошил - все работает замечательно. Файлы исходника, прошивки и протеуса прилагаю. P_5.asm P_5.hex Timer.pdsprj
-
1.Посредством манипулирования «вручную» элементами «LOGICSTATE» среды Proteus, в соответствии со схемой, представленной на следующем рисунке, включить светодиоды VD2, VD5, VD6 Прошу помогите пожалуйста, голову ломаю, не могу понять что да как...
-
Добрый день (вечер)! Уже практически целый день голову ломаю, что же это может быть... Итак, в чем проблема. Имеется некий проект на ATmega8, компилятор - WinAVR, среда - встроенный в протеус редактор кода. Все бы хорошо, но вот незадача, при компилировании и запуске в отладчике отображается черт знает что. Пример: Строки 147, 153 и т.д. не должны иметь адресов, но они есть. А вот строки 143, 150 и т.д. наоборот. И это при выключенной оптимизации... Никто не сталкивался с таким? Весь проект очень не хочется заново делать, но чувствую по-другому этот странный баг не одолеть. Так как остальные проекты открываются и редактируются нормально. Пробовал и менять версии протеуса, машины, оптимизацию. Результат 0.
-
Всем привет! Ребят объясните пожалуйста, правильно ли я понимаю, что мощность транзистора при данном подключении с фиксированным током базы будет равна 6 Вт? то есть у нас 1 ампер это ток коллекторный а падение напряжения коллектор эмиттер 6 В? перемножаем и получаем мощность, рассеиваемую транзистором 6 Вт? 123123.DSN
- 12 ответов
-
- начинающие
- мощность транзистора
-
(и ещё 1 )
C тегом:
-
Доброго дня! Не могу разобраться откуда ошибка прет, AVR USART RX Frame Error, на прямую все работает, когда RE/DE притягиваю к питанию тоже все ОК. в Этом случае линия всегда занята. void UART_Int(){ UCSRB|=(1<<RXCIE) | (1<<TXCIE) | (1<<RXEN)| (1<<TXEN) ; UBRRH=0; UBRRL=103; } void UART_Send(uint8_t data) { LAN_PORT SET_B(LAN_PIN);//занимаем линию while(!(UCSRA & (1<<UDRE))); UDR = data; } //Вектор при завершении передачи ISR(USART_TXC_vect) { LAN_PORT CLR_B(LAN_PIN);// отпускаем линию } int main(void) { /**Config*/ LAN_DDR SET_B(LAN_PIN); LAN_PORT CLR_B(LAN_PIN);// В режиме чтения UART_Int(); sei();//разрешаем глобально прерывания /* Replace with your application code */ while (1) { UART_Send(172); _delay_ms(1000); } }
-
Разработать модель в среде симуляции Proteus на базе микроконтроллера AtMega128 и написать программу на языке ассемблера для решения следующей задачи: 1. Изменяя положение ручки регулятора напряжения переменным резистором высвечивать на одном разряде трехразрядного семисегментного индикатора цифру от 0 до 9. 2. При нажатии кнопки 1 на клавиатуре выдавать звуковой сигнал с пьъезодинамика с частотой 1 кГц. При нажатии на кнопку 2 – с частотой 2 кГц, при нажатии на кнопку 3 – с частотой 3 кГц.
-
Тестирую код assembler для AtMega8515, правильные значения на PORTC чередуются с какой-то чушью, значения на порт передаются только в 2х местах в коде может ли это быть ошибкой Proteus?
-
Вопрос. Почему не выполняется на atmega328 команды? Тестировал в протеусе на частоте 8 мгц (в настройках проекта 20 мгц, но думаю на это не так сильно должно влиять). На микроконтроллере запущен аппаратный таймер - работает нормально. Через юарт (настроен только TXD) всё время шлёт: 011111111101111111110... Но сам код не хочет выполняться: while (1) { delay_ms(0.4); // выполнилось при первом цикле PORTD.6=1; // выполнилось при первом цикле delay_ms(0.4); // выполнилось при первом цикле putchar(PORTC.0+PORTC.1*2); // заморозилось и далее не выполняется, но аппаратный таймер работает, юарт флудит (011111111101111111110...) // функцию putchar нашёл в интернете PORTD.6=0; } PORTD.6 - настроен на выход PORTC.0 и PORTC.1 настроены на вход. Включены подтягивающие резисторы. P.S. Проект сделан в CodeVisionAVR с использованием генератора кода.
-
Собираю светодиодную индикацию хочу чтобы по очередности включались светодиодные "сборки". Хочу при помощи последовательного сдвигового регистра, управлять базами NPN транзисторов по классике жанра. На SH-CP подаю синхронизацию ST-CP не использую ибо нет нужды в нем DS подтягиваю питание(+5V/HIGH) MR подтянут к питанию ОЕ подтянут к земле(для обеспечения рабочего режима регистра) Q0-Q2 базами Q3 сбрасывает регистр в "ноль" В чем проблема? Она как раз заключается в том что ничего не происходит при обеспечении регистра рабочими настройками. P.S. Ниже прикрепил файл проекта Proteus. 74hc595.pdsprj
-
Нарисовал схему в Proteus'е, но когда начал компилировать на один из элементов не казалось модели. Аналогов не нашел, не знаю что делать. Может скините библиотеку в которой этот элемент имеет модель или что то другое подскажете. Буду благодарен.
-
- proteus
- no model specified
-
(и ещё 2 )
C тегом:
-
я устал.. познаяю протеус и нужен футпринт для микроСД, скачал какие то файлы для 3д моделей, не понимаю как и куда из запихнкть. Люди добрые спасите меня!!
-
Добрый день. Помогите запустить схему в протеусе. Никак не могу ничего сделать ни дисплей ни юарт не работает. Протеус 8,4 сп0 True RMS.zip
- 12 ответов
-
-1
-
Каким софтом сейчас, в 2016 году пользуются для симуляции электронных схем. Не осилил Proteus, увидел что он только под windows и решил попробывать qucs, в ней намного быстрее накидал схему и не понял как смоделировать параметры. Т.к. всё равно потребуется изучать конкретную программу возникает вопрос, что перспективнее. Кто-нибудь пользуется под софтом под macOS, Linux? Задачи простые: симуляция и разводка платы для различной гитарной электроники (усилители, перегрузы, встраевымые предусилители, дилэи).
-
Всем привет! Хочу собрать метеостанцию по схеме http://cxem.net/mc/mc303.php и стоит задача промоделировать её в Proteus. Но с датчиком BMP180 вышла загвоздка — модели для него нет и гуглинг никак не помог. Собственно, вопрос, можно ли его чем-то заменить, чтобы понаблюдать за изменениями показаний на экране? Буду благодарен за помощь.
-
Добрый день ребят! Помогите пожалуйста с реализацией кода на Attimy2313A с UART Написал вот такой кодик по примерам: #define F_CPU 8000000UL #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <stdio.h> #include <stdlib.h> //макросы вычисления скорости #define BAUD 19200 #define UBRR_VAL F_CPU/8/BAUD-1 void usart_init(unsigned int speed) { // устанавливаем скорость Baud Rate: 9600 UBRRH=(char)(speed>>8); UBRRL=(char) speed; UCSRA=0x00; UCSRB|=(1<<RXEN);// Разрешение работы приемника UCSRB|=(1<<TXEN); //Разрешение работы передатчика UCSRB|=(1<<RXCIE);// Разрешение прерываний по приему // Установка формата посылки: 8 бит данных, 1 стоп-бит UCSRC=(1<<UCSZ1)|(1<<UCSZ0); } //выводим принятый байт на порт ISR(USART0_RX_vect) { PORTB=UDR; _delay_ms(100); UDR = PORTB; // "ЭХО" } int main(void) { usart_init(UBRR_VAL);//инициализация модуля sei(); DDRB= 0b11111111; //вывод на все пины порта B while(1); { } Цель текущего кода: принять и отправить по прерыванию. Пробовал тестить в протеусе, что то неочень получается. данные приходят но криво. Приколы с таблицой ASCII я уже просек, поэтому пробовал отправлять с зажатым альтом цифры. Результат неутешил. Конечный код должен принимать подряд 2 байта, где 1- содержит ИД устройства , если BlockID == 1 байту (где BlockID - const), то второй байт кидаем на PORTB Главный вопрос, работает ли мой код и как принимать подряд 2 байта в одном прерывании?? Пишу в Atmel Studio 7 Баудрэйт 19200 бод Частота мк 8МГц
- 46 ответов
-
- UART
- AtmelStudio
-
(и ещё 2 )
C тегом: