AT89S8252 Port "Pieturoties"

G

GrandAlf

Guest
Man ir programma, sākotnēji rakstīts ar Bascom par 89S8252. Lai tas iet mazliet ātrāk esmu nolēmis pārrakstīt "C" (K * e * i * l). Man ir problēma ar 1 Port, tas ir sadalīta starp ieejas un izejas uz dažādiem pins. Ieejas pusē ir aktīva zema caur opto, ar 4K7 pullups tieši pins. Problēma ir, kad ievadi pin iet zems, tas parasti paliek zema, pat mērci atgriežas augsts. Atiestatīšana cpu notīra to augstu vēlreiz. Tas viss darbojas naudas sodu ar Bascom prog, tā aparatūra ir OK. 8052 sērija nav, šķiet, ir virziena kontroles, tāpēc tas nevar būt iemesls. Drīzāk neizpratnē par to. Es lietoju AT898252.h, un izmantojot "if (P1_7 == 0) {utt}" lasīšanai. Jebkura palīdzība ir ļoti appreciated.
 
Jums jābūt ļoti uzmanīgiem, lietojot ostā 8051 "splited" (dažas izejvielas, daži rezultāti), jo, kad jūs mainīt portu šādi: osta | = 0x1C; Ja viena no jūsu ieguldījumiem bija zema, kamēr jūs šo jūs pārrakstīt ieejas un tas kļūst par izejas, kas ir zema, un paliek zems :-( Lai pārvarētu šo rakstīt jūsu ieejas ar "1", kas nozīmē, iepriekšminētajā piemērā, pieņemot, ka Bit7 un 6 jūsu ostas tiek izmantotas kā izejvielas: osta | = 0xDC;. Gan ieejas ir rakstīts ar "1", bet kā 8051 var tikai pull pins zems tas nav "atslēga" ievades, ja tas bija zems laikā jūsu rakstīšanas operācija ceru, ka tas palīdz
 
C-Man, tas palīdz, es pārbaudīt manu laiku. Paldies par jūsu ieguldījumu.
 

Welcome to EDABoard.com

Sponsor

Back
Top