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

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: demanik, ivan_fd  
Форум Picbasic.ru » Программирование МК » Proton PicBasic » вход\выход (нужно чтоб вход выход менялись местами)
вход\выход
oleg Дата: Ср, 03.08.2011, 23:54  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Новенький
Сообщений: 16
Репутация: 0   ±
Замечания:   ±
На сайте с 24.02.2011

Статус: Offline

сразу прошу прощения за глупый вопрос

уже всё перепробывал в протеусе работает а на железе нехочет

628-ой пик

df:

Output PORTA.1
Input PORTA.0

If PORTA.0 = 1 Then PORTB.0 = 1
If PORTA.0 = 0 Then PORTB.0 = 0

DelayMS 100

Output PORTA.0
Input PORTA.1

If PORTA.1 = 1 Then PORTB.1 = 1
If PORTA.1 = 0 Then PORTB.1 = 0

DelayMS 100

GoTo df
ЯНДЕКС Дата: 03.08.2011
anatol Дата: Чт, 04.08.2011, 08:25  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 472
Репутация: 32   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

Quote (oleg)
в протеусе работает а на железе нехочет

В железе обязательно нужно конфигурировать контроллер. В протеусе есть некоторые вещи по умолчанию. К примеру от какого генератора работаете - в протеусе просто задается частота и все. Генератор не моделируется, а какбы существует сам по себе. И тому подобное...
oleg Дата: Чт, 04.08.2011, 08:31  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Новенький
Сообщений: 16
Репутация: 0   ±
Замечания:   ±
На сайте с 24.02.2011

Статус: Offline

конфигурировать что именно?
oleg Дата: Чт, 04.08.2011, 08:44  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Новенький
Сообщений: 16
Репутация: 0   ±
Замечания:   ±
На сайте с 24.02.2011

Статус: Offline

мне нужно чтоб контролёр распозновал каждую кнопку
Прикрепления: 4619326.jpg (12.6 Kb)

Сообщение отредактировал oleg - Чт, 04.08.2011, 09:25
mikhail09p Дата: Чт, 04.08.2011, 10:26  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 481
Репутация: 14   ±
Замечания:   ±
На сайте с 04.05.2010

Статус: Offline

Quote (oleg)
конфигурировать что именно?

Вот: http://www.terrarus.ucoz.ru/proton_plus_ide/index.html
retas Дата: Чт, 04.08.2011, 10:44  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 447
Репутация: 11   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

oleg!
Я всегда, чтоб сразу видеть жив ли МК, отдаю одну лапу под ЛЭД, который постоянно должен мигать.
Убедитесь что на МК приходит напруга, что работает осцилятор, что выключена сторожевая собака
(в слове конфигурации).
oleg Дата: Чт, 04.08.2011, 10:51  |                                                                                                                Сообщение # 7
Группа: Проверенные
Ранг:  Новенький
Сообщений: 16
Репутация: 0   ±
Замечания:   ±
На сайте с 24.02.2011

Статус: Offline

вот такие настройки

проц запускается проверял

Device 16F628A
Config BOREN_OFF, CP_OFF, DATA_CP_OFF, PWRTE_ON, WDT_off, LVP_OFF, MCLRE_OFF, HS_OSC
Declare Xtal = 8
Declare All_Digital = On

CMCON = %00000111 'отключение компараторов

Сообщение отредактировал oleg - Чт, 04.08.2011, 10:52
retas Дата: Чт, 04.08.2011, 12:55  |                                                                                                                Сообщение # 8
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 447
Репутация: 11   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

А чем проявилась его работоспособность?

Попробуйте после df: в место
Output PORTA.1
Input PORTA.0
написать TRISA = %00000001

Перед GoTo df впишите toggle PORTA.2 и повесте на нём ЛЭД - его моргание покажет что
програ крутится (не застревает).

Проверте нет ли замыканий в схеме, исправность диодов...
Удачи.
anatol Дата: Чт, 04.08.2011, 13:05  |                                                                                                                Сообщение # 9
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 472
Репутация: 32   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

Quote (oleg)
Declare All_Digital = On

А как кварц подключать?
Попробуй на внутреннем генераторе для начала.
deskjet Дата: Чт, 04.08.2011, 14:43  |                                                                                                                Сообщение # 10
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 143
Репутация: 5   ±
Замечания:   ±
На сайте с 20.06.2009

Статус: Offline

Добавь в схему подтягивающие резистотры 1-10 кОМ от земли до портов

За 20 8 дней ни одного сгоревшего микроконтроллера.
PIC12, PIC16, PIC18, ATtiny, ATmega, STM8, STM32, MSP430
oleg Дата: Пт, 05.08.2011, 02:21  |                                                                                                                Сообщение # 11
Группа: Проверенные
Ранг:  Новенький
Сообщений: 16
Репутация: 0   ±
Замечания:   ±
На сайте с 24.02.2011

Статус: Offline

вот схема и программа
ошибок в схеме нет

работает как то странно
1 при замыкании сразу двух кнопок сигнал на выходе появляется на какoй то любой из двух ног ,поочерёдное замыкание всё ок.
2 сигналы на выходе на железе и в протеусе совершенно противоположные

Device 16F628A
Config BOREN_OFF, CP_OFF, DATA_CP_OFF, PWRTE_ON, WDT_off, LVP_OFF, MCLRE_OFF, HS_OSC
Declare Xtal = 8
Declare All_Digital = On

CMCON = %00000111 'отключение компараторов
TRISA = %11111111
PORTB = 0
TRISB = %00000000

GH:

DelayUS 1000

PORTB.7 = 1
PORTB.6 = 0
If PORTA.1 = 1 Then PORTB.0 = 0
If PORTA.1 = 0 Then PORTB.0 = 1

DelayUS 1000

PORTB.7 = 0
PORTB.6 = 1
If PORTA.1 = 0 Then PORTB.1 = 0
If PORTA.1 = 1 Then PORTB.1 = 1

GoTo GH

Добавлено (05.08.2011, 02.21.32)
---------------------------------------------
Извиняюсь что отвлёк всех такой глупостью.

Оказывается у меня porta был через кондёры подтянут к +
и это повлияло на работу.

Прикрепления: 8016304.jpg (109.8 Kb)

Сообщение отредактировал oleg - Чт, 04.08.2011, 18:19
ЯНДЕКС Дата: 05.08.2011
retas Дата: Пт, 05.08.2011, 22:37  |                                                                                                                Сообщение # 12
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 447
Репутация: 11   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

Вам надо управиться с дребезгом контактов - нельзя просто так заглянуть на порт и
принимать решение о том что на нём.

Я делаю так
Dim d1 As Word
Dim sk1 As Word

If PORTX.Y =0 then
For d1 = 1 To 30000
If PORTX.Y =0 Then Inc sk1
Next : d1=0
If sk1 > 20000 Then 'было нажатие если из 30000 проверок 20000 подтвердилось.
Время проверки 0.1-0.2сек
oleg Дата: Сб, 06.08.2011, 01:21  |                                                                                                                Сообщение # 13
Группа: Проверенные
Ранг:  Новенький
Сообщений: 16
Репутация: 0   ±
Замечания:   ±
На сайте с 24.02.2011

Статус: Offline

Уважаемый retas у меня есть контроллёр для чпу но в этом контролёре два входа на ось начало и конец раздельные (концевики) а станок имеет концевики два на ось соединённых паралельно
мне просто нужно было разделить концевики чтоб контролёр ЧПУ понимал какая кнопка нажата.

а дребезг не критичен контролёр чпу с этим справляется.

Но большое вам спасибо за борьбу с дребезгом буду пользоваться.
retas Дата: Пн, 08.08.2011, 14:35  |                                                                                                                Сообщение # 14
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 447
Репутация: 11   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

В таком случае вашей проблемы с "при замыкании сразу двух кнопок сигнал на выходе появляется на какoй то любой из двух ног ,поочерёдное замыкание всё ок" нет ибо их сразу не нажать.
"сигналы на выходе на железе и в протеусе совершенно противоположные" - быть может в монтаже не совсем то что протеусе?
oleg Дата: Сб, 13.08.2011, 00:02  |                                                                                                                Сообщение # 15
Группа: Проверенные
Ранг:  Новенький
Сообщений: 16
Репутация: 0   ±
Замечания:   ±
На сайте с 24.02.2011

Статус: Offline

porta был через кондёры подтянут к +
убрал кондёры
и всё заработало как часы.

Сообщение отредактировал oleg - Сб, 13.08.2011, 00:03
Форум Picbasic.ru » Программирование МК » Proton PicBasic » вход\выход (нужно чтоб вход выход менялись местами)
  • Страница 1 из 1
  • 1
Поиск: