Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Классика жанра: Hello World
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
D H
Ввиду наличия некоторого количества пиков решил сесть за парту. Начало классическое - помигать светодиодом. И как все студенты в ступоре. В протеусе тишина, светодиод погашен. В мплаб заметил, что при первой записи в порт В trisb сбрасывается. Что не так?

#device PIC16F84a
#use delay (clock=20000000)

int main (void)
{
set_tris_B(0xFF);
while(1)
{
output_B(0xFF);
delay_ms(1);
output_B(0);
}
}

PS: компилятор CCS
SSerge
1. set_tris_B(0xFF);
Этак Вы настроили порт B на ввод, чтобы настроить на вывод нужно записывать в TRISB нули.
2. После output_B(0); неплохо было бы тоже вставить задержку.
D H
Цитата(SSerge @ Nov 5 2007, 00:39) *
1. set_tris_B(0xFF);
Этак Вы настроили порт B на ввод, чтобы настроить на вывод нужно записывать в TRISB нули.
2. После output_B(0); неплохо было бы тоже вставить задержку.

1. Опечатка. в trisb, конечно, нули.
2. Симулирую в протеусе. пошаговая симуляция. задержка пофигу. можно и без нее, смысл при пошаговой симуляции не изменится.
В протеусе цеплял светодиод с порта и на +5 и на 0. все одно, не зажигается.
Прийдется на макетку все цеплять и в железе пробовать. Эх, нет в жизни совершенства crying.gif
MaxEngee
Попробуй так:

#device PIC16F84a
#use delay (clock=20000000)

int main (void)
{
set_tris_B(0xFF);
output_B(0xFF);
output_B(0); \\ диод катодом на порт и анодом через 1к на +5

while(1)


}
urry1
Цитата(MaxEngee @ Nov 5 2007, 13:20) *
Попробуй так:

#device PIC16F84a
#use delay (clock=20000000)

int main (void)
{
set_tris_B(0xFF);
output_B(0xFF);
output_B(0); \\ диод катодом на порт и анодом через 1к на +5

while(1)
}

мля... wub.gif
D H
2Urry1: Спасибо! a14.gif
Проблема была в модели. В протеусе нарисовал две модели, верхняя не работает, нижняя работает 07.gif
Прицепил проект css и протеус. Ткните носом еще раз, pls.
urry1
Цитата(D H @ Nov 5 2007, 21:10) *
2Urry1: Спасибо! a14.gif
Проблема была в модели. В протеусе нарисовал две модели, верхняя не работает, нижняя работает 07.gif
Прицепил проект css и протеус. Ткните носом еще раз, pls.

Заземлите минус батареи (средний вывод кренки) и заработает верхняя.
D H
Urry1 Еще раз спасибо! a14.gif
Объявляю себе замечание за невнимательность twak.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.