;**************************************************************** ;cntr_demo Counter Demonstration ;This program demos Timer 0 as counter, using ping-pong hardware ;TJW 15.4.05 Tested 15.4.05 ;**************************************************************** ;Clock freq 800kHz approx (RC osc.) ;Port A 4 right paddle (ip) Counter input. ; 2 "out of play" led (op) ;Port B 7-0 "play" leds (all op) ;Interrupts not used ;Config Word: RC oscillator, WDT off, PU timer on, code protect off ; #include p16f84A.inc ; org 00 ; Initialise bsf status,rp0 ;select memory bank 1 movlw B'00011000' movwf trisa ;port A according to above pattern movlw 00 movwf trisb ;all port B bits outout movlw B'00101000' ;set up TMR0 for external input, +ve edge, ;no prescale movwf TMR0 ;as we are in Bank 1, this addresses OPTION bcf status,rp0 ;select bank 0 ; movlw 04 ;switch on "out of play" led to show power is on movwf porta loop movf TMR0,0 ;Continuously display Timer 0 on Port B movwf portb goto loop end