Мелкие вопросы по МК и ПЛИС.
- AI_Disable
- Сверлит текстолит когтями
- Сообщения: 1116
- Зарегистрирован: Чт окт 15, 2009 14:16:18
- Откуда: Екб
- Контактная информация:
- Meteor
- Друг Кота
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
- Контактная информация:
14 вольт для КРЕНки это уже чересчур, хотя с трудом но запитает 5В. Эта вся схема или чтото не дорисовали? Странно что при таком подключении не отвечает на программатор, это может быть признаком финиша ее жизни.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
- Meteor
- Друг Кота
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
- Контактная информация:
Смиритесь с потерей и впредь осторожнее с опытами над живыми малоконтроллерами.......
Последний раз редактировалось Meteor Вс дек 20, 2009 20:28:43, всего редактировалось 1 раз.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
- AI_Disable
- Сверлит текстолит когтями
- Сообщения: 1116
- Зарегистрирован: Чт окт 15, 2009 14:16:18
- Откуда: Екб
- Контактная информация:
а можно питать мк стабилитроном? Или есть подводные камни? Почему именно кренка? Мне надо 24 вольта на реле, и 5 на МК. А DC/DC преобразователи стоят дорого помогите решить проблемку.
- Вложения
-
- 126148899148433s.jpg
- (5.79 КБ) 306 скачиваний
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
а КРЕНка тоже дорого стоит?! если вы сумеете рассчитать стабилитрон - питайте на здоровье стабилитрономanon2009 писал(а):Мне надо 24 вольта на реле, и 5 на МК. А DC/DC преобразователи стоят дорого помогите решить проблемку.
"эти грибы можно есть? - есть можно, только умрешь"
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Meteor ну так что?
Назрел втрой вопрос. У тини2313 порт D имеет 7 ножек, старший бит PD6. Если к PD6 подключить кнопку и определять нажата она или нет делаая логический сдвиг влево через перенос (допустим кнопка нажата = 1), то сразу же флаг взведется? (все остальные биты=0) или во флаг переноса попадет нолик несуществующего PD7. Вопрос назрел потому что отправляем то мы в порт не 7 бит, а целый байт.
Назрел втрой вопрос. У тини2313 порт D имеет 7 ножек, старший бит PD6. Если к PD6 подключить кнопку и определять нажата она или нет делаая логический сдвиг влево через перенос (допустим кнопка нажата = 1), то сразу же флаг взведется? (все остальные биты=0) или во флаг переноса попадет нолик несуществующего PD7. Вопрос назрел потому что отправляем то мы в порт не 7 бит, а целый байт.
- *Denis*
- Первый раз сказал Мяу!
- Сообщения: 29
- Зарегистрирован: Пн мар 23, 2009 19:35:08
- Откуда: Хмельницкий
Ребята кто спец в Си помогите разобратса , у меня компилятор mikroC PRO for PIC v3.2
Беру пример запуска ШЫМ из хелпа он компилитса все гуд ,а в протеусе неработает
, хотя проект на асм работает нормально
Код
unsigned short j, oj;
void InitMain() {
PORTB = 0; // Сброс PORTB в 0
TRISB = 0; // PORTB - выход
CMCON = 0X07;
PORTA = 255;
TRISA = 255; // PORTA - вход
PORTB = 0; // Сброс PORTB в 0
PWM1_Init(5000); // Инициализация модуля PWM
}//~
void main() {
InitMain();
j = 80; // Начальное значение j
oj = 0; // oj будет хранить старое j 'old j'
PWM1_Start(); // запуск PWM
while (1) { // Бесконечный цикл
if (Button(&PORTA, 3,1,1)) // Кнопка на RA0 нажата
j++ ; // инкремент j
if (Button(&PORTA, 4,1,1)) // кнопка на RA1 нажата
j-- ; // декремент j
if (oj != j) { // если было изменение,
PWM1_Set_Duty(j); // установить новую скважность,
oj = j; // запомнить,
}
Delay_ms(200); // Замедлитель процесса
}
}
проц использую 16f628a
Беру пример запуска ШЫМ из хелпа он компилитса все гуд ,а в протеусе неработает
Код
unsigned short j, oj;
void InitMain() {
PORTB = 0; // Сброс PORTB в 0
TRISB = 0; // PORTB - выход
CMCON = 0X07;
PORTA = 255;
TRISA = 255; // PORTA - вход
PORTB = 0; // Сброс PORTB в 0
PWM1_Init(5000); // Инициализация модуля PWM
}//~
void main() {
InitMain();
j = 80; // Начальное значение j
oj = 0; // oj будет хранить старое j 'old j'
PWM1_Start(); // запуск PWM
while (1) { // Бесконечный цикл
if (Button(&PORTA, 3,1,1)) // Кнопка на RA0 нажата
j++ ; // инкремент j
if (Button(&PORTA, 4,1,1)) // кнопка на RA1 нажата
j-- ; // декремент j
if (oj != j) { // если было изменение,
PWM1_Set_Duty(j); // установить новую скважность,
oj = j; // запомнить,
}
Delay_ms(200); // Замедлитель процесса
}
}
проц использую 16f628a
anon2009 писал(а): У тини2313 порт D имеет 7 ножек, старший бит PD6. Если к PD6 подключить кнопку и определять нажата она или нет делаая логический сдвиг влево через перенос (допустим кнопка нажата = 1), то сразу же флаг взведется? (все остальные биты=0) или во флаг переноса попадет нолик несуществующего PD7. Вопрос назрел потому что отправляем то мы в порт не 7 бит, а целый байт.
Логические операции возможны с регистрами а не с портами
в регистре всегда 8 бит
При отправке в порт D старший бит игнорится.
При чтении из порта он всегда 0
- Meteor
- Друг Кота
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
- Контактная информация:
anon2009, Вам обязательно сдвигом хочется вводить кнопки?
Ведь есть замечательные команды SBIC и SBIS. Благодаря которым можно сразу определить нажата или нет кнопка...
Что касается 5 кОм в цепи базы, то в принципе достаточно. Только рассчитывать надо назад-исходя из токов через обмотку реле и коэфф. передачи транзистора. Можно даже расчет делать с насыщением 2.
Ведь есть замечательные команды SBIC и SBIS. Благодаря которым можно сразу определить нажата или нет кнопка...
Что касается 5 кОм в цепи базы, то в принципе достаточно. Только рассчитывать надо назад-исходя из токов через обмотку реле и коэфф. передачи транзистора. Можно даже расчет делать с насыщением 2.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Всем МЯУ!
Помогите найти драйвер и описание установки, подключения STK 200/300 !!!
http://ln.com.ua/~real/avreal/adapters.html
Этот сайтик прикрылся, теперь не знаю, где качать ...
Срочно!
Помогите найти драйвер и описание установки, подключения STK 200/300 !!!
http://ln.com.ua/~real/avreal/adapters.html
Этот сайтик прикрылся, теперь не знаю, где качать ...
Срочно!
Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного.
У меня такой простой вопрос по МК AVR.
Можно ли написать программу на C так, чтобы параллельно выполнялись две подпрограммы одновременно? Или это невозможно, и надо писать только так, чтобы все успевало делаться последовательно?
Например МК занимается измерением температуры с датчиков и выводом информации на маленький экран. Все это занимает очень много времени, а надо еще и быстро одновременно делать какие-то другие вещи, но как?
Можно ли написать программу на C так, чтобы параллельно выполнялись две подпрограммы одновременно? Или это невозможно, и надо писать только так, чтобы все успевало делаться последовательно?
Например МК занимается измерением температуры с датчиков и выводом информации на маленький экран. Все это занимает очень много времени, а надо еще и быстро одновременно делать какие-то другие вещи, но как?
- AI_Disable
- Сверлит текстолит когтями
- Сообщения: 1116
- Зарегистрирован: Чт окт 15, 2009 14:16:18
- Откуда: Екб
- Контактная информация:
AVR не может выполнять несколько инструкций одновременно. Но зато можно заюзать периферию, так, например, МК может выполнять основную программу, ШИМ-ить, оцифровывать аналоговый сигнал, принимать/передовать данные по usart/spi и т.д. Всё это происходит, не расходуя ресурсы процессора. А юзая прерывания, часто можно добиться визуального эффекта одновременного выполнения каких-либо действий.
Ещё вроде как есть псевдомногозадачные ОС под AVR, вот о них я, к сожалению, ничего не знаю, только слышал, что они медленные и жрут много ресурсов.
Ещё вроде как есть псевдомногозадачные ОС под AVR, вот о них я, к сожалению, ничего не знаю, только слышал, что они медленные и жрут много ресурсов.