AT89S8252 Порт «прилипання»

G

GrandAlf

Guest
У мене є програма написана з Bascom для 89S8252. Щоб зробити його трохи швидше, я вирішив переписати в "С" (К * е * я * л). У мене є проблема з Порт-1, це розкол між входом і виходом на різних контактів. Сторони входу має рівень через оптико з 4k7 підтягування прямо на шпильки. Проблема в тому, коли вхідний контакт йде низько, як правило, залишається низьким, навіть коли соус повертається до високих. Скидання процесора очищає його до високих знову. Все відмінно працює з Bascom прога, так що устаткування ОК. 8052 серія, здається, не мають напрями контролю, тому це не може бути причиною. Швидше спантеличені цим. Я використовую AT898252.h, і використання ", якщо (P1_7 == 0) {} і т.д." для читання. Будь-яка допомога з вдячністю.
 
Ви повинні бути дуже обережні при використанні порту 8051 "розщеплюється" (кілька входів, декілька виходів), тому що коли ви зміните порт так: порт | = 0x1C; Якщо один з ваших входів був низьким у той час як ви зробили це, Ви перезаписати вхід, і вона стає вихід, який є низьким і залишається низькою :-( Щоб подолати це написати входу з "1", що означає, у наведеному вище прикладі передбачається, що Біт 7 і 6 ваших портів використовуються в якості вхідних даних: порт | = 0xDC;. Обидва входу написані з "1", а як 8051 можуть тільки тягти контакти низькою вона не «замок» вхід, якщо він був низьким під час запису, сподіваюся, це допоможе
 
C-Man, це дійсно допомагає, я буду перевіряти мої терміни. Дякуємо за Ваші відповіді.
 

Welcome to EDABoard.com

Sponsor

Back
Top