Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
03.09.2008, 08:17
|
|
Частый гость
Регистрация: 22.06.2007
Сообщений: 20
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
PIC на СИ
Как выполнить одновременно две задачи на языке СИ ( привожу программу, на выводе RА1 должны идти тактовые импульсы с T=8мкс, помиимо этого микроконтроллер выполняет другие задачи.На выводе RA1
тактовые импульсы не получаються?
#include ‹16F84.h›
#fuses XT, NOWDT
#use delay(clock=8000000)
void main(void)
{
set_tris_a(0b00000001);
set_tris_b(0b00000101);
output_high(PIN_A2);
output_low(PIN_A3);
output_low(PIN_B1);
while(1)
{output_high(PIN_A1);
delay_us(4);
output_low(PIN_A1);
delay_us(4);
if( input(PIN_A0) == 1)
{
output_low (PIN_A2);
delay_ms(40);
output_high (PIN_A3);
}
if( input(PIN_B0) == 1)
{
output_high (PIN_B1);
}
delay_ms(100);
if( input(PIN_B2) == 1 & input(PIN_B0) == 0)
{
output_low (PIN_A3);
output_high(PIN_A2);
}
output_low(PIN_B1);
}
}
|
|
|
Сказали "Спасибо" sergxxx
|
|
|
03.09.2008, 10:59
|
|
Временная регистрация
Регистрация: 20.02.2005
Сообщений: 90
Сказал спасибо: 10
Сказали Спасибо 36 раз(а) в 11 сообщении(ях)
|
перенести выполнение задач в обработчик прерываний - я так делал когда то на asm для avr (не имеет значения).
Читал 4 канала АЦП , формировал пакеты данных и запихивал их в SPI.
Работало как часы . Прикольно было посмотреть загрузку проца по мере накручивания задачи в (VMLAB есть такая фича).
|
|
|
|
03.09.2008, 11:28
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.08.2007
Адрес: Болгария Перник
Сообщений: 1,771
Сказал спасибо: 74
Сказали Спасибо 357 раз(а) в 245 сообщении(ях)
|
Цитата:
|
тактовые импульсы с T=8мкс clock=8000000
|
16F84 на 8МГц это не осилит. Имеете 16 тактов для генерации импульсов. Для остального времени может и хватит, да надо на асемблере писать. ИМХО берите ПИК повыше (16F628 например) с встроенным CCP модулем. Запускайте в режим PWM и будут вам импульсы с T=8мкс. Генерируемые чисто аппаратно.
Удачи!
|
|
|
|
03.09.2008, 13:41
|
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
Точно, Папай, не осилил. Интереса ради попробовал на си и для 84, 8 мегагерц написать и в прерывании инвертировать ножку. 11 микросекунд ...
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:52.
|
|