Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: ivan_fd  
Форум Picbasic.ru » Программирование МК » PicBasicPro » Помогите разобраться
Помогите разобраться
vpashko Дата: Вт, 08.07.2008, 22:58  |                                                                                                                Сообщение # 16
Группа: Пользователи
Ранг:  Новенький
Сообщений: 13
Репутация: 0   ±
Замечания:   ±
На сайте с 25.06.2008

Статус: Offline

Добрый вечер. У меня такой вопрос. Можно ли между сменами комбинации (??????) вставить какую то команду, чтоб предыдущая комбинация выполнялась ну например 10 раз, а потом переход на следующую комбинацию:

Symbol LED = PORTB
TRISB = %00000000
main:
Led = %00000001
pause 200
Led = %00000011
pause 200
Led = %00000111
pause 200
Led = %00001111
pause 200
Led = %00011111
pause 200
Led = %00111111
pause 200
Led = %01111111
pause 200
Led = %11111111
pause 200
???????????????????????????????????????
Led = %10000000
pause 200
Led = %01000000
pause 200
Led = %00100000
pause 200
Led = %00010000
pause 200
Led = %00001000
pause 200
Led = %00000100
pause 200
Led = %00000010
pause 200
Led = %00000001
pause 200
goto main
Спасибо.

sever Дата: Вт, 08.07.2008, 23:42  |                                                                                                                Сообщение # 17
Группа: Пользователи
Ранг:  Начал соображать
Сообщений: 35
Репутация: 0   ±
Замечания:   ±
На сайте с 15.04.2008

Статус: Offline

я думаю тут проще вам для каждой комбинации написать подпрограмму напримир LED_1: ,LED2:,...
и обращаться к ним через GOSUB. А сомо обращение сделать с помощью цикла FOR...NEXT.

типа

Code

main:
for n=0 to 9 'цикл от 0 до 9
gosub LED_1 ' отправить в подпрограмму LED_1
next n  
for n=0 to 9
gosub LED_2
next n
goto main
LED_1:
...ваши вариции мигалок
..
.
RETURN
LED_2:
.ваши вариции мигалок
.
RETURN
vpashko Дата: Ср, 09.07.2008, 12:34  |                                                                                                                Сообщение # 18
Группа: Пользователи
Ранг:  Новенький
Сообщений: 13
Репутация: 0   ±
Замечания:   ±
На сайте с 25.06.2008

Статус: Offline

Доброе утро. Вот готовая прога из повтором каждого эффекта, в данном случаи 10 раз.
Спасибо Sever, это Ваша подсказка.
I var Byte
Symbol LED = PORTB
TRISB = %00000000
main:
For I = 0 to 9
gosub LED_1
next
For I = 0 to 9
gosub LED_2
next
goto main
LED_1:
LED = %00000001
pause 200
LED = %00000011
pause 200
LED = %00000111
pause 200
LED = %00001111
pause 200
LED = %00011111
pause 200
LED = %00111111
pause 200
LED = %01111111
pause 200
LED = %11111111
pause 200
LED = 0
pause 200
RETURN
LED_2:
LED = %10000000
pause 200
LED = %01000000
pause 200
LED = %00100000
pause 200
LED = %00010000
pause 200
LED = %00001000
pause 200
LED = %00000100
pause 200
LED = %00000010
pause 200
LED = %00000001
pause 200
LED = 0
pause 200
RETURN
goto main
sever Дата: Ср, 09.07.2008, 19:02  |                                                                                                                Сообщение # 19
Группа: Пользователи
Ранг:  Начал соображать
Сообщений: 35
Репутация: 0   ±
Замечания:   ±
На сайте с 15.04.2008

Статус: Offline

а теперь мне нужна помощь, поля дня мучаюсь, не разберусь.
ЧИП 12F675. использую внутренний RC генератор.
подключаяю к нему GPIO.0-SDA GPIO.1-SCL внешнюю eeprom 24c02+ внешние потдягивающие резисторы на 10Ком на sda и scl.
нифига, не читает и не пишет, если подключаю просто светодиоды к нему, нормально мигает ими.
ИДЕ эмулятор вообще 24с02 не эмулирует.
Смотрел цифр.осцилографом, данные идут, но не красивой формы 0 есть, а высокий уровень в бесконечность уходит, сравнивал с программатором от компьютера, так у того по осцилу красивая форма сигнала, есть низки и высокий уровень.
вот код
Code

      
     define intosc 4 mhz
     ansel=0  
     cmcon=7  
     trisio=%00001100
     y VAR BYTE
      

     sda VAR GPIO.0
     scl VAR GPIO.1
       
addr VAR byte

cont CON %10100000
main:

loop:

program:
for addr=0 to 255
I2CWRITE sda,scl,cont,addr,5
pause 20
next addr
return

+ тоже инфа к размылению, пик питал от кроны с кренкой на 5 волть, делал просто на выводах кнопки 0 по умолчанию, включение подавал на вывод +5 вольт через резистор 10КОМ. Кнопки самовозбуждались, думал кренка помехи создает, ставил фильтр конденсаторы - не помогло. Вышел из этого положения поставив резисторы на выоды кнопок по 200КОМ и на минус...
Вот меня это и смущает, может пик сильно шумит на выводах, и все их надо шунтировать на минус резисторами, кондеры не помогаюют- значит это не импульсные помехи.
sad sad sad
посоветуйте что нить дельное пожалуста.
mars_000 Дата: Чт, 10.07.2008, 00:09  |                                                                                                                Сообщение # 20
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 26
Репутация: 1   ±
Замечания:   ±
На сайте с 03.01.2008

Статус: Offline

покажи как подключаеш 24с02 к пик. лучше всю схему, мож че не так, а там посмотрим. sad
ADMIN Дата: Чт, 10.07.2008, 05:58  |                                                                                                                Сообщение # 21
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1087
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

vpashko, думаю, вам поможет команда умножения на 2, записанная в одну подпрограмму:

LED=1
for i = 1 to 8
LED = LED * 2
pause 200
next i

А во втором случае помогает сдвиг:
LED=128
for i = 1 to 8
LED=LED >> 1
pause 200
next

И еще, почему от 0 до 9? Это, в общей сложности 10 раз, а разрядов в переменной LED всего 8...

ЯНДЕКС Дата: 10.07.2008
sever Дата: Чт, 10.07.2008, 18:20  |                                                                                                                Сообщение # 22
Группа: Пользователи
Ранг:  Начал соображать
Сообщений: 35
Репутация: 0   ±
Замечания:   ±
На сайте с 15.04.2008

Статус: Offline

Quote
покажи как подключаеш 24с02 к пик. лучше всю схему, мож че не так, а там посмотрим. sad

ОСЬ на скорую руку нарисовал

Добавлено (11.07.2008, 0:20:00)
---------------------------------------------
посидел поэкспериментировал с битами конфигурации, ноль. Думаю завтра купить пик с внешним кварцем и на нем сваять, так-как на етом портов нехватает.

Прикрепления: 4496894.jpg (20.6 Kb)
holyuser Дата: Чт, 10.07.2008, 19:00  |                                                                                                                Сообщение # 23
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 228
Репутация: 5   ±
Замечания:   ±
На сайте с 12.12.2007

Статус: Offline

А Вы на 24с02 питание подали? На рисунке что-то не видно.
sever Дата: Чт, 10.07.2008, 19:13  |                                                                                                                Сообщение # 24
Группа: Пользователи
Ранг:  Начал соображать
Сообщений: 35
Репутация: 0   ±
Замечания:   ±
На сайте с 15.04.2008

Статус: Offline

Quote (holyuser)
А Вы на 24с02 питание подали? На рисунке что-то не видно.

да, подал.
Ладно завтра попробую другой чип, потомучто все подозрения на биты конфигурации.
По осцилографу смотрю, сигнал есть, но он кривой, сравниваю сигнал с програматора для eepromok.
vpashko Дата: Пт, 11.07.2008, 11:08  |                                                                                                                Сообщение # 25
Группа: Пользователи
Ранг:  Новенький
Сообщений: 13
Репутация: 0   ±
Замечания:   ±
На сайте с 25.06.2008

Статус: Offline

Здравствуйте basicpic, спасибо за команды. От 0 до 9 имеется в виду повтор 10 раз каждого эффекта переключения светодиодов, можно написать от 0 до 2 (повтор 3 раза), или от 0 до 15( повтор 16 раз).
sever Дата: Пт, 11.07.2008, 20:41  |                                                                                                                Сообщение # 26
Группа: Пользователи
Ранг:  Начал соображать
Сообщений: 35
Репутация: 0   ±
Замечания:   ±
На сайте с 15.04.2008

Статус: Offline

тааак, купил новый чип 16f676, собрал на нем схему. примпаял резисторы 4,7 КоМ на SDA и SCL ,тоже самое , wacko не шьет 24с02 и не читает, вроде все правильно, припаял внешний кварц, кнопочками лампочками мигает, установил цифровые выходы. где эта сабака зарыта, может дело в команде I2C бока, где то в ести находил эмулцию этого протокола с помощью команд на бейсике. Кстати на эмуляторе ИДЕ все нормально.
mars_000 Дата: Сб, 12.07.2008, 00:36  |                                                                                                                Сообщение # 27
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 26
Репутация: 1   ±
Замечания:   ±
На сайте с 03.01.2008

Статус: Offline

Quote (sever)
не шьет 24с02 и не читает, вроде все правильно, припаял внешний кварц, кнопочками лампочками мигает, установил цифровые выходы

биты конфигурации правильно выставляеш? Посмотри в примерах подключение памяти, не перепутал ли местами scl cda
mars_000 Дата: Сб, 12.07.2008, 01:25  |                                                                                                                Сообщение # 28
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 26
Репутация: 1   ±
Замечания:   ±
На сайте с 03.01.2008

Статус: Offline

Quote (sever)
тааак, купил новый чип 16f676, собрал на нем схему. примпаял резисторы 4,7 КоМ на SDA и SCL ,тоже самое , не шьет 24с02 и не читает, вроде все правильно, припаял внешний кварц, кнопочками лампочками мигает, установил цифровые выходы. где эта сабака зарыта, может дело в команде I2C бока, где то в ести находил эмулцию этого протокола с помощью команд на бейсике. К

вот пример смотри
Прикрепления: 7663690.jpg (38.0 Kb) · SerialEEPROM.doc (30.0 Kb)
sever Дата: Сб, 12.07.2008, 17:30  |                                                                                                                Сообщение # 29
Группа: Пользователи
Ранг:  Начал соображать
Сообщений: 35
Репутация: 0   ±
Замечания:   ±
На сайте с 15.04.2008

Статус: Offline

Quote
биты конфигурации правильно выставляеш? Посмотри в примерах подключение памяти, не перепутал ли местами scl cda

sda и scl нормально сидят, биты конфигурации такие: pic 16f676
ANSEL = 7 ' все порты.С как цифровые
CMCON = 7 ' Analog comparators off
а в приложении установки которые выставляю при програмировании, там все по умолчанию, может в них дело?

Прикрепления: 4743525.jpg (45.3 Kb)
mars_000 Дата: Сб, 12.07.2008, 22:23  |                                                                                                                Сообщение # 30
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 26
Репутация: 1   ±
Замечания:   ±
На сайте с 03.01.2008

Статус: Offline

Quote (sever)
а в приложении установки которые выставляю при програмировании, там все по умолчанию, может в них дело?

невидал такого прегера.... попробуй после програмированя прочитать биты конфигурации
Я собирал примеры из книги Ч Хейлибака , с еепром все работало.
Форум Picbasic.ru » Программирование МК » PicBasicPro » Помогите разобраться
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск: