sep wrote: > Internal pullups. Where can I find some documentation on how to > implement internal pullups. I coudn't find anything in the data > sheet. I just need to know how to use them on any pin. Look under OPTION register - page 9 of DS35007A, and PORT B - page 15. They work on port B pins, and they work on ALL port B pins when you enable them. > what do people think about them? are they bad? Bad? Why would they be bad? They're provided for your convenience. > They sure would take up less room! Like I said. Just remember: They are intended to conserve current, so they are probably too high in impedance to hang external switches from on cables, because leakage or noise could easily pull them down. OTOH, they only draw current when you pull them down, so if you arrange for whatever you connect to them to default open or "high", you won't waste current. They have no effect on outputs; no current is wasted. They're one-in-all-in so you need to make sure you want them on all inputs on port B. Putting this differently, make sure that all inputs you *don't* want pulled up are on port A, by allocating outputs on to port B after the lines you *do* want pulled up. > ... delay loops made for the RC and the XT oscillators > I could do my own tests, and I will. Just wondering if anybody had > done it before (~ accuratly) You don't exactly test it, you design it first. You know the instruction speed is one quarter of the clock speed, whatever sort of clock you use. You know all instructions take one cycle except those which affect the PC which take two. However... Except for PWM, I suggest you use the TMR0 and perhaps prescaler for delays, preferably binary sub-multiples of the clock frequency, and poll the T0IF. Note, I *didn't* suggest interrupts here! -- Cheers, Paul B.