Отговори на тема  [ 5 мнения ] 
Проблем с PIC16F876A 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Апр 15, 2006 12:22 pm
Мнения: 22
Местоположение: Пазарджик
Мнение Проблем с PIC16F876A
Здравейте,

хич не ми се ще да занимавам който и да било с проблемите си, но този път здраво я закъсах. Иде реч за следното: Имам си MPLAB и PIC16F876A. Ето с какво се сблъсках след много часове лутане - на променливата Hour предварително е присвоена стойността B'00001000', да кажем. След

movf Hour,w
andlw B'00001111'

стойността на работния регистър не е B'00001000', а някаква доста по-голяма (не си направих труда да разбера точно каква е, изкарах я направо на LCD, вижда се само, че е различен символ, след като забраня andlw) и като се вземе предвид, че следващата инструкция е за изпращане в таблица, сещате се каква каша става. А целта ми е просто да нулирам старшата тетрада. По-нататък в програмата използвам същия алгоритъм няколко пъти и няма проблем. Да не говорим, че като преместя подпрограмата някъде другаде, започва да работи, но след известно време допълване на кода на програмата пак нещо се чупи някъде. В момента точно това работи, но не мога да си подкарам пък I2C шината. Кой знае дали имам грешка, или това е поредният подобен номер... Проверих банките, проверих регистрите, сменях PIC-а, версията на MPLAB-а, компютъра (няколко пъти и с различни виновси) - нищо. Кво става, за кво иде реч, съсипах се... неам нерви вече. Идеи някакви?...


Сря Ное 15, 2006 9:08 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Окт 10, 2004 9:55 am
Мнения: 1718
Мнение Re: Проблем с PIC16F876A
default_pz написа:
Здравейте,

хич не ми се ще да занимавам който и да било с проблемите си, но този път здраво я закъсах. Иде реч за следното: Имам си MPLAB и PIC16F876A. Ето с какво се сблъсках след много часове лутане - на променливата Hour предварително е присвоена стойността B'00001000', да кажем. След

movf Hour,w
andlw B'00001111'

стойността на работния регистър не е B'00001000', а някаква доста по-голяма (не си направих труда да разбера точно каква е, изкарах я направо на LCD, вижда се само, че е различен символ, след като забраня andlw) и като се вземе предвид, че следващата инструкция е за изпращане в таблица, сещате се каква каша става. А целта ми е просто да нулирам старшата тетрада. По-нататък в програмата използвам същия алгоритъм няколко пъти и няма проблем. Да не говорим, че като преместя подпрограмата някъде другаде, започва да работи, но след известно време допълване на кода на програмата пак нещо се чупи някъде. В момента точно това работи, но не мога да си подкарам пък I2C шината. Кой знае дали имам грешка, или това е поредният подобен номер... Проверих банките, проверих регистрите, сменях PIC-а, версията на MPLAB-а, компютъра (няколко пъти и с различни виновси) - нищо. Кво става, за кво иде реч, съсипах се... неам нерви вече. Идеи някакви?...

Дай малко повече инфо , нещо бъркаш но с 1 ред от програмата ти трудно ще се разбере къде !!!


Сря Ное 15, 2006 10:28 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Апр 15, 2006 12:22 pm
Мнения: 22
Местоположение: Пазарджик
Мнение 
Проблемът е отстранен. Реших че има нещо нередно в инициализацията на процесора. Копирах я в текстов файл, изтрих я от MPLAB-а и я преписах на ръка. Дословно. Но на ръка. Вече работи. Странно, няма грешка в старата инициализация, но не работи. И грешка не дава...


Чет Ное 16, 2006 1:41 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 12, 2004 3:38 pm
Мнения: 9103
Местоположение: Chicago, IL
Мнение 
Ъпдейтни си MPLAB-а. Понякога като правиш copy/paste на кода от другаде така става. Те хората що го отричат тоя метод на работа - щото е много спорно дали ще спестиш време с него 8) .


Чет Ное 16, 2006 2:43 am
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Апр 15, 2006 12:22 pm
Мнения: 22
Местоположение: Пазарджик
Мнение 
Мдам... доста време загубих. Определено, няма да правя повече така :oops: . Въпреки, че всяко copy/paste е на код, който сам съм го писал, на MPLAB. Благодаря за отговорите. Особено по това време на денонощието :)


Чет Ное 16, 2006 10:00 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 5 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни