Показать сообщение отдельно
Старый 24.09.2009, 15:50   #283   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 52
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от RN3QGA Посмотреть сообщение
К GPIO0,GPIO1,GPIO2 подключены светодиоды катодами, а через R 300 оМ подоется 5В на аноды.
Собственно в какую сторону они будут мигать по порядку всеравно,
я на примере разобраться хочу как это оно. Думаю проще чтоб мигали от GPIO0 к GPIO2 и сначала.
Вроде все.
P.S. А может просто диоды на массу посадить через гасящие R 100Ом, правда проще или сложнее будет не знаю.
Вот вариант с подключением диодов к + питания
Код:
program SveticP16F629;
{ Если раскоментировать следующую строчку, то
  программа будет работать со светодиодами
  подключенными по схеме с ОА, иначе с ОК }
//{$DEFINE LED_OA}
var g: byte;
begin
CMCON  := 7;
TRISIO := 0;
GPIO   := 7;
g := 1;
while true do
 begin
   if g = 8 then g := 1;
 {$IFDEF LED_OA}
   GPIO := (not g) and 7;
 {$ELSE}
    GPIO := g;
 {$ENDIF}
   Delay_ms(1000);
   g := g shl 1;
 end;
end.
С подключением к земле будет чуть проще, а вообщем все равно как их подключать. Смотрел только в симуляторе. Что непонятно спрашивайте.

Последний раз редактировалось petrd; 25.09.2009 в 07:23. Причина: Вместо Delay_us(), надо Delay_ms() и еще по мелочи
  Ответить с цитированием