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

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: ivan_fd  
Pic Basic pro для начинающих
ivan_fd Дата: Чт, 08.10.2009, 14:52  |                                                                                                                Сообщение # 46
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

То ecilop

А вы пробовали сделать выводы порта А цифровыми портами Ввода\Вывода?

Сообщение отредактировал ivan_fd - Чт, 08.10.2009, 14:53
ecilop Дата: Чт, 08.10.2009, 15:08  |                                                                                                                Сообщение # 47
Группа: Пользователи
Ранг:  Новенький
Сообщений: 13
Репутация: 0   ±
Замечания:   ±
На сайте с 08.04.2009

Статус: Offline

Не пробовал, я думал достаточно в регистре трисА, установить на вход...Да в предыдущем устройстве я так делал и все работало sad
MobyDick Дата: Чт, 08.10.2009, 16:23  |                                                                                                                Сообщение # 48
Группа: Проверенные
Ранг:  Новенький
Сообщений: 14
Репутация: 0   ±
Замечания:   ±
На сайте с 08.09.2009

Статус: Offline

МикроКодСтудио 3.0.0.0 не компилит 16F628A где подвох? Выдает кучу ошибок (225,212,300)Помогите кто сталкивался...
Прикрепления: termo.pbp (2.1 Kb)


Учиться никогда не поздно....
slavauk Дата: Чт, 08.10.2009, 17:11  |                                                                                                                Сообщение # 49
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 64
Репутация: 3   ±
Замечания:   ±
На сайте с 14.03.2009

Статус: Offline

Quote (MobyDick)
не компилит 16F628A

Так в 16f628a нет АЦП .
MobyDick Дата: Чт, 08.10.2009, 17:20  |                                                                                                                Сообщение # 50
Группа: Проверенные
Ранг:  Новенький
Сообщений: 14
Репутация: 0   ±
Замечания:   ±
На сайте с 08.09.2009

Статус: Offline

slavauk, Блин....точно.А все невнимательность и торопливость..... cool

Учиться никогда не поздно....
contra Дата: Вс, 11.10.2009, 12:35  |                                                                                                                Сообщение # 51
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 112
Репутация: 0   ±
Замечания:   ±
На сайте с 27.06.2009

Статус: Offline

Всем привет! Господа форумчане, помогите разобраться! Пытаюсь написать программу для счётчика импульсов на три разряда
За основу взял код из книги Ибрагима Дохана, но сколько не бился ничего не выходит. Помогите пожалуйста!
вот код программы : (PIC16F627)
Code

Cnt var byte
Digit var byte
pattern var byte
Digit1 var PORTA.0
Digit2 var PORTA.1
digit3 var PORTA.2
Pbutton var PORTB.7
i var byte

CMCON = 7
TRISA = 0
TRISB = $80
'++++++++++++ прерывания ++++++++++
INTCON = %00100000
OPTION_REG = %00000111
TMR0 = 217
on interrupt goto ISR
INTCON = %10100000

Cnt = 0
loop:
button Pbutton,0,255,0,i,0,loop
cnt = cnt + 1
goto loop
disable
ISR:
TMR0 = 217

digit = cnt dig 2 ' Самый старший разряд
lookup digit,[$3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F], pattern
pattern = pattern ^ $FF
digit1=1
portb = pattern
digit2 = 1
digit3 = 1
pause 1

digit = cnt dig 1 ' Средний разряд
lookup digit,[$3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F], pattern
pattern = pattern ^ $FF

portb = pattern
digit1= 1
digit2=1

pause 5

digit = cnt dig 0'младший разряд
LOOkup digit,[$3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F], pattern
pattern = pattern ^ $FF
digit1 = 0
PORTB = Pattern
digit2=1
pause 1

'

INTCON.2 = 0
resume
enable
end
ЯНДЕКС Дата: 11.10.2009
ivan_fd Дата: Вс, 11.10.2009, 15:24  |                                                                                                                Сообщение # 52
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Вот так попробуйте, в железе не проверял.
Code

@ device PIC16F627A, INTRC_OSC_NOCLKOUT, WDT_OFF, PWRT_ON, PROTECT_OFF, CPD_OFF, BOD_OFF, LVP_OFF
Cnt var byte
Digit var byte
pattern var byte
odin var byte
dva var byte
tri var byte
Digit1 var PORTA.0
Digit2 var PORTA.1
digit3 var PORTA.2
Pbutton var PORTB.7
i var byte

CMCON = 7
TRISA = 0
TRISB = $80
'++++++++++++ прерывания ++++++++++
INTCON = %00100000
OPTION_REG = %00000111
TMR0 = 156
on interrupt goto ISR
INTCON = %10100000

'Cnt = 0

LOOP:
     Cnt = 0 ' Initialise Cnt to 0
NXT:

     button Pbutton,0,255,0,i,0,nxt
     cnt = cnt + 1
     Digit = Cnt DIG 2 ' Get 100s digit
     GOSUB CONVERT     ' Get segments to turn on
     odin = Pattern  ' Display 100s digit

     Digit = Cnt DIG 1 ' Get 10s digit
     GOSUB CONVERT     ' Get segments to turn on
     dva = Pattern  ' Display 10s digit

     Digit = Cnt DIG 0 ' Get 1s digit
     GOSUB CONVERT     ' Get segments to turn on
     tri = Pattern  ' Display 1s digit

     FOR i = 1 to 1000
     Pause 1           ' Wait 1 second
     NEXT i

     IF Cnt > 200 THEN LOOP ' If Cnt > 99 then goto LOOP
     GOTO NXT               ' Continue

'loop:
'button Pbutton,0,255,0,i,0,loop
'cnt = cnt + 1
'goto loop
disable

'============================
' Interupt
'============================

ISR:
     TMR0 = 155
     PORTB = odin
     digit3 = 0
     Digit2 = 0
     Digit1 = 1
     PAUSE 4
      
     digit1 = 0
     PORTB = dva
     digit3 = 0
     Digit2 = 1
     Digit1 = 0
     PAUSE 4
      
     digit2 = 0
     PORTB = tri
     digit3 = 1
     Digit2 = 0
     Digit1 = 0
     PAUSE 4
     digit3 = 0
      
      
      
     INTCON.2 = 0
resume
enable

Convert:
     LOOKUP Digit, [$3F, $06, $5B, $4F, $66, $6D, $7D, $07, $7F, $6F], Pattern
     Pattern = Pattern ^ $FF ' Invert bits of variable Pattern
     RETURN
end
contra Дата: Вс, 18.10.2009, 18:58  |                                                                                                                Сообщение # 53
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 112
Репутация: 0   ±
Замечания:   ±
На сайте с 27.06.2009

Статус: Offline

ivan fd
Большое спасибо! В Proteus работает нормально.
Я только изменил:
Cnt var WORD ;
И соответственно:
IF Cnt = 999 THEN Loop
теперь буду пробовать в железе

Добавлено (18.10.2009, 18.58.33)
---------------------------------------------
Здравствуйте, господа программисты! Подскажите плз, можно ли использовать программу Ic-Prog для кодов написанных на PicBasic Pro? Если можно, то как работать с этой программой и какой программатор для этого подходит?

evgenb Дата: Вс, 18.10.2009, 21:36  |                                                                                                                Сообщение # 54
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 91
Репутация: 3   ±
Замечания:   ±
На сайте с 14.09.2007

Статус: Offline

Почитайте здесь:
http://miliamper.narod.ru/Extra-PIC/Extra-PIC.htm
OLEGA Дата: Чт, 19.11.2009, 15:39  |                                                                                                                Сообщение # 55
Группа: Проверенные
Ранг:  Новенький
Сообщений: 3
Репутация: 0   ±
Замечания:   ±
На сайте с 19.11.2009

Статус: Offline

Здравствуйте, господа и товарищи!
Начал осваивать ПБП. Собрал JDM программатор, поставил Микрокодестудио. Вобщем все шьется, все работает. Ну как все - пишу пока простенькие алгоритмы.
Возник вопрос такой: как и где в программе обозначить, что у меня кварц стоит на 8МГц? Это устраняется пересчетом, конечно, но неудобно же, не по-людски )))
Подскажите, кому не влом.
Ах да, чуть не забыл: у меня проект на PIC16F628A, хотя, я думаю, роЯли никакой.
Заранее благодарю!
ivan_fd Дата: Чт, 19.11.2009, 16:58  |                                                                                                                Сообщение # 56
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Цитата OLEGA
Возник вопрос такой: как и где в программе обозначить, что у меня кварц стоит на 8МГц? Это устраняется пересчетом, конечно, но неудобно же, не по-людски )))
Подскажите, кому не влом.


Вот эту  и эту книгу вы смотрели?

Во второй книге на 54 стр.

Код
Define OSC X
brown Дата: Чт, 19.11.2009, 16:59  |                                                                                                                Сообщение # 57
Группа: Пользователи
Ранг:  Помогаю всем
Сообщений: 333
Репутация: 12   ±
Замечания:   ±
На сайте с 18.09.2007

Статус: Offline

Quote (OLEGA)
как и где в программе обозначить, что у меня кварц стоит на 8МГц?

DEFINE OSC 8 ; частота генератора


Век живи - век учись! К концу жизни поймешь, что ничего не знаешь...
OLEGA Дата: Пт, 20.11.2009, 07:47  |                                                                                                                Сообщение # 58
Группа: Проверенные
Ранг:  Новенький
Сообщений: 3
Репутация: 0   ±
Замечания:   ±
На сайте с 19.11.2009

Статус: Offline

Спасибо, друзья!
ivan_fd, дело в том что по инету "гуляет" книга Чака Х. с некоторыми пропущеными страницами. А вот за ссылку на книгу Хилинского отдельное Вам спасибо.
Эд Дата: Вс, 13.12.2009, 18:43  |                                                                                                                Сообщение # 59
Группа: Проверенные
Ранг:  Новенький
Сообщений: 10
Репутация: 0   ±
Замечания:   ±
На сайте с 30.08.2009

Статус: Offline

Здравствуйте господа форумчане! помогите начинающему,проблема в следующем пишу элементарную прогу для пика 12ф629 поморгать светодиодом компилю и вставляю в Протеус не моргает гад хоть тресни и ошибок не находит не компилятор не протеус текст такой:
Symbol LED = GPIO.0
GPIO = %111110
main:
LED = 1
Pause 1000
LED = 0
Pause 1000
goto main
demanik Дата: Вс, 13.12.2009, 21:44  |                                                                                                                Сообщение # 60
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 448
Репутация: 10   ±
Замечания:   ±
На сайте с 11.12.2007

Статус: Offline

Quote (Эд)
текст такой:

Так работает:

@ device pic12F629, intrc_osc_noclkout, wdt_on, PWRT_ON,mclr_off, protect_off
Symbol LED = GPIO.0
TRISIO = %111110' указывает направление порта вход или выход
main:
LED = 1
Pause 1000
LED = 0
Pause 1000
goto main


Попробуй всё и вся... может быть пол...


Сообщение отредактировал demanik - Вс, 13.12.2009, 21:46
Поиск: