pic18f452 АЦП

S

suwaii

Guest
я намагаюся використовувати в якості АЦП PIC18f452 тому, коли я його програми я отримую помилку

перевірити не вдалося за адресою 0004h, а іноді за адресою 0007h

проблема з кодом, і це код для перетворення аналогового сигналу в цифровий

сигналу ......Чи може одна допомогти мені, де помилка в коді тут:Список р = 18f452, F = inhx32
# Включити <p18f452.inc>; Початок о скидання вектор
Org 0x000
перейти Початок
Org 0x004
Переривати
retfie
Початок

movlw H'00 '
movwf TRISC; portc [7-0] виходи

movlw B'01000000 '
movwf ADCON1

movlw B'11000000; FOSC / 8 [7-6], A / D ch0 [5-3], а / д на [0]
movwf ADCON0
Основний
виклику ad_portc
Перейти на головнуad_portc
; Чекати збору з часом (20uS)
; (Не вирішальне значення для цього тесту)

ЧФ ADCON0, GO; Початок / D перетворення
Почекати
btfsc ADCON0, GO; Зачекайте, для переходу до повної
Зачекайте, перейти

movf ADRESH, Вт; Створити A / D результат PORTC
movwf PORTC; світлодіодів
повернення

кінець

 
Для мене це схоже на програміста питання.Ви ніколи не отримаєте помилки, такі як, тому що ваш код несправності (ви виявите, що трохи пізніше).
Перевірте напругу в мережі для програміста, електропроводка і т.п.

 
привіт ..

Ви не можете мати програмна помилка неправильної кодування.Врешті-решт, він збирає, didn't це?

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Дуже веселий" border="0" />Який тип програміст ви використовуєте?
Ваше повідомлення про помилку виглядає у вас є несправного контролера.спробуйте змінити чіпа.Якщо він не працює, його визначено з progammer.Спробуйте запустити програмістом в "повільному режимі" для перевірки часу питань. (Якщо Ваш програматор підтримує це)Додано після 1 хвилин:привіт ..

Ви не можете мати програмна помилка неправильної кодування.Врешті-решт, він збирає, didn't це?

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Дуже веселий" border="0" />Який тип програміст ви використовуєте?
Ваше повідомлення про помилку виглядає у вас є несправного контролера.спробуйте змінити чіпа.Якщо він не працює, його визначено з progammer.Спробуйте запустити програмістом в "повільному режимі" для перевірки часу питань. (Якщо Ваш програматор підтримує це)

 
програміст IC_PROG і проблеми приходять з коду не від схеми, а не програміст, тому що в той же час я отримую помилку не вдалося перевірити за адресою 0004h я намагаюся ще один простий код, який робить portc значення = CF.я отримати secussful в цьому коді, але коли я використовую код АЦП я отримую повідомлення перевірити faield за адресою 0004h .... допоможіть мені plzzzz

 
Я повторюю, проблема з програмістом, якщо пристрій несправний.

Той факт, що ви не можете перевірити помилка з більш простий код, можливо, тому, що ви пишете різні дані за адресою 0x0004 і він може отримати тільки "правильні" дані назад.Я маю на увазі, якщо дані, записані на 0x0004, це сказати 0xFFF, тому що код не використовує цю інформацію, то ви можете прочитати тому 0xFFF і ви думаєте, що вона вірна.
Але коли ви пишете що-небудь ще, але ви отримаєте 0xFFF назад, тому що місце насправді не отримати запрограмований правильно, то стає ясно, у вас є помилка, і ви отримаєте повідомлення про помилку.
Для перевірки, тримати переривання звичайної на місці, навіть якщо ви не використовуєте його за допомогою простої програми.Якщо ви отримуєте помилки, ви побачите, що я маю на увазі.

 
Я пропоную у змінити контролера і використовувати новий контролер замість.

 
програміст IC_PROG і проблеми приходять з коду не від схеми, а не програміст, тому що в той же час я отримую помилку не вдалося перевірити за адресою 0004h я намагаюся ще один простий код, який робить portc значення = CF.я отримати secussful в цьому коді, але коли я використовую код АЦП я отримую повідомлення перевірити faield за адресою 0004h .... допоможіть мені plzzzz

 
Чи намагалися ви, що я запропонував?
Тримайте переривати звичайні на місці, але замінити решту коду з простої програми, яка пише тільки CF в порт C.
Я майже впевнений, що ви отримаєте той же перевірити помилки.Це повинно довести, що проблема з програмістом, якщо у вас поганий ПОС, що просто не буде місця програми 0x0004.

 
suwaii пише:

проблеми приходять з коду не від схеми, а не програміст
 
я змінити код і я отримати успішного програмування IC-прог, але коли він спробує

для перетворення аналогового на цифрове я не отримати ні в чому я PORTC RC генератор використовувати

і пін-код # 2 (AN0) аналоговий вхід і VREF , VREF-ті ж Vdd і Vss ...
це код:

Список р = 18f452, F = inhx32
# Включити <p18f452.inc>
Org 0x0000
clrf PORTC
movlw 0x00
movwf TRISC

movlw B'11000000 '
movwf ADCON1

movlw B'11000001 '
movwf ADCON0

ще раз:

ЧФ ADCON0, GO

Wait:
btfsc ADCON0, GO; Зачекайте, для переходу до повної
Зачекайте, перейти

movf ADRESH, Вт; Створити A / D результат PORTC
movwf PORTC; світлодіодів

перейти знову

кінець

Тому я не отримати результат конвертації аналогового на цифрове в portC
і яким чином ми можемо отримати його

 

Welcome to EDABoard.com

Sponsor

Back
Top