| Автор |
Съобщение |
|
NVN
Ранг: Минаващ
Регистриран на: Вто Окт 21, 2008 7:54 pm Мнения: 3 Местоположение: София
|
 Проблем при установяване на PORTB на 16F887
Здравейте,
От скоро се заех с изучаването на PIC процесорите и попаднах на следния проблем при компилиране на първата програма.
Искам да присвоя на PORTB стойност 0хFF, но на края на програмата стойността му е винаги 0хC0.
Можете ли да ми кажете къде греша?
Използвам MPLAB.
Кода е:
list p=16f887 #include "P16F887.INC" __CONFIG _CONFIG1, _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
Cblock 0x20 endc
ORG 0x00 goto Main
ORG 0x04 goto Main
Main banksel TRISB clrf TRISB banksel PORTB movlw 0xff movwf PORTB goto $
End
|
| Вто Окт 21, 2008 8:05 pm |
|
 |
|
Zeus
Ранг: Почетен член
Регистриран на: Вто Окт 03, 2006 11:58 am Мнения: 924 Местоположение: Ботевград
|
Вмъкни това след clrf TRISB
MOVLW B‘00000000’
MOVWF TRISB
и виж дали няма да стане.
|
| Вто Окт 21, 2008 8:57 pm |
|
 |
|
MidNighT_SpiRiT
Ранг: Напреднал
Регистриран на: Нед Сеп 17, 2006 12:00 pm Мнения: 450 Местоположение: Plovdiv
|
Виж каква периферия има на порт Б.
|
| Вто Окт 21, 2008 11:02 pm |
|
 |
|
ji4ka
Ранг: Форумен бог
Регистриран на: Чет Фев 01, 2007 4:04 am Мнения: 1539
|
Може и симулатора да е бъгав. Пробвал ли си я на истинския чип?
|
| Вто Окт 21, 2008 11:45 pm |
|
 |
|
plameniv
Ранг: Форумен бог
Регистриран на: Нед Окт 10, 2004 9:55 am Мнения: 1718
|
 Re: Проблем при установяване на PORTB на 16F887
Прочети в упътване как се минава в друга банка. Като гледам това не ми прилича да минаваш в другата банка!
Ако компилатора не ти разбира това което си написал няма да ти генерира верен код.
За да си сигурен че е всичко върви както трябва, вземи си сложи МПЛАБ от сайта на микрочип, включи си да виждаш регистрите и със F7 се трасира стъпка по стъпка и си гледаш в регистрите какво се случва. Така ще разбереш къде грешиш!
_________________ Избийте баламите и тарикатите сами ще умрат!
Няма невъзможни работи - има много трудни работи!
----------------------------------------------------------------------------------
"Я в Москве с киркой уран найду, при такой повышенной зарплате" !
|
| Сря Окт 22, 2008 2:42 am |
|
 |
|
rumen65
Ранг: Новодошъл
Регистриран на: Чет Окт 06, 2005 2:06 pm Мнения: 194 Местоположение: Sofia
|
С какво точно го четеш това C0 на PORTB?
Ако е с дебугер, точно RB6 и RB7 са заети за комуникация с него и не могат да бъдат четени.
|
| Сря Окт 22, 2008 9:27 am |
|
 |
|
GTN
Ранг: Популярен
Регистриран на: Пет Яну 26, 2007 5:05 pm Мнения: 310 Местоположение: из България
|
Трябва да си инициализираш АЦПто, по-точно да му кажеш че аналоговите входове на портБ ще са цифрови.
Ето ти го направено:
|
| Сря Окт 22, 2008 9:37 am |
|
 |
|
bobyk
Ранг: Ориентиран
Регистриран на: Пон Яну 09, 2006 11:32 am Мнения: 276 Местоположение: Kozloduy
|
Така става да се сменят банките, не е това проблема.
|
| Сря Окт 22, 2008 9:42 am |
|
 |
|
ji4ka
Ранг: Форумен бог
Регистриран на: Чет Фев 01, 2007 4:04 am Мнения: 1539
|
Точно от ANSELH е!
Тo затова програма се пише с datasheet-че в ръка (или с отворено PDF-че). 
|
| Сря Окт 22, 2008 1:06 pm |
|
 |
|
NVN
Ранг: Минаващ
Регистриран на: Вто Окт 21, 2008 7:54 pm Мнения: 3 Местоположение: София
|
Благодаря на всички за отговора!
GVN се оказа прав, че първо трябва да се укаже, че портовете ще са цифрови. и след това всичко си работи по план.
Аз продължавам нататък.
Чао засега
|
| Сря Окт 22, 2008 8:04 pm |
|
 |
|
NVN
Ранг: Минаващ
Регистриран на: Вто Окт 21, 2008 7:54 pm Мнения: 3 Местоположение: София
|
Имах предвид GTN, sorry.
|
| Сря Окт 22, 2008 8:05 pm |
|
|