| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Проблем при установяване на PORTB на 16F887 http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=6194 |
Страница 1 от 1 |
| Автор: | NVN [ Вто Окт 21, 2008 8:05 pm ] |
| Заглавие: | Проблем при установяване на 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 |
|
| Автор: | Zeus [ Вто Окт 21, 2008 8:57 pm ] |
| Заглавие: | |
Вмъкни това след clrf TRISB MOVLW B‘00000000’ MOVWF TRISB и виж дали няма да стане. |
|
| Автор: | MidNighT_SpiRiT [ Вто Окт 21, 2008 11:02 pm ] |
| Заглавие: | |
Виж каква периферия има на порт Б. |
|
| Автор: | ji4ka [ Вто Окт 21, 2008 11:45 pm ] |
| Заглавие: | |
Може и симулатора да е бъгав. Пробвал ли си я на истинския чип? |
|
| Автор: | plameniv [ Сря Окт 22, 2008 2:42 am ] | |||||||||
| Заглавие: | Re: Проблем при установяване на PORTB на 16F887 | |||||||||
Прочети в упътване как се минава в друга банка. Като гледам това не ми прилича да минаваш в другата банка! Ако компилатора не ти разбира това което си написал няма да ти генерира верен код. За да си сигурен че е всичко върви както трябва, вземи си сложи МПЛАБ от сайта на микрочип, включи си да виждаш регистрите и със F7 се трасира стъпка по стъпка и си гледаш в регистрите какво се случва. Така ще разбереш къде грешиш! |
||||||||||
| Автор: | rumen65 [ Сря Окт 22, 2008 9:27 am ] |
| Заглавие: | |
С какво точно го четеш това C0 на PORTB? Ако е с дебугер, точно RB6 и RB7 са заети за комуникация с него и не могат да бъдат четени. |
|
| Автор: | GTN [ Сря Окт 22, 2008 9:37 am ] | |||||||||
| Заглавие: | ||||||||||
Трябва да си инициализираш АЦПто, по-точно да му кажеш че аналоговите входове на портБ ще са цифрови. Ето ти го направено:
|
||||||||||
| Автор: | bobyk [ Сря Окт 22, 2008 9:42 am ] |
| Заглавие: | |
Така става да се сменят банките, не е това проблема. |
|
| Автор: | ji4ka [ Сря Окт 22, 2008 1:06 pm ] |
| Заглавие: | |
Точно от ANSELH е! Тo затова програма се пише с datasheet-че в ръка (или с отворено PDF-че). |
|
| Автор: | NVN [ Сря Окт 22, 2008 8:04 pm ] |
| Заглавие: | |
Благодаря на всички за отговора! GVN се оказа прав, че първо трябва да се укаже, че портовете ще са цифрови. и след това всичко си работи по план. Аз продължавам нататък. Чао засега |
|
| Автор: | NVN [ Сря Окт 22, 2008 8:05 pm ] |
| Заглавие: | |
Имах предвид GTN, sorry. |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|