Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

problem with timer code

Status
Not open for further replies.

nicoli

New Member
i happen to have a prooblem with my code. it seems like its very difficult to debug than to start a new program.
Can anyone help me find a problem with the code. i am not sure whether you will be able to understand the code if you can't please let me know. if you need it's intended operation just let me know.
;************************************************************************
;
; ***********************************************************************
device pic16c84,rc_osc,wdt_off,pwrt_on,protect_off
id '8000'
; ************************************************************************
; Timer program done by nik banda
; ***********************************************************************

r0 equ 0ah
r1 equ 0bh
r2 equ 0ch
r3 equ 0dh
r4 equ 0eh
r5 equ 0fh
r6 equ 10h
r7 equ 11h
org 0000h
; *********************************************************************
jmp main ; jump over interrupt handler
; *********************************************************************
org 0032h
main mov !porta, #0ch ; Initialise ports
mov !portb, #00h ; port B output for seven segment
clr r2 ; clear most of the registers
clr r3
clr r4
clr r5
clr r6
mov r0, 01h ; put 0s in the registers for seven seg
mov r1, 01h
mov rtcc, #69h
setb rp0 ; page one
mov !option, #00h ; prescaler /2
clrb rp0
setb gie ; enable interrupts
clrb rtif ; start timer
setb rtie
loop0 jb porta.2, loop0
clr r4
mov r5,#0ffh
jb porta.3,$
clr r5
jmp loop0
; *********************************************************************
change inc r2
cje r2, #10h, next
loop2 mov w, r2
jmp seven
mov r0, w
clr r4
ret
next clr r2
inc r3
cje r2, #10h, clear
loop3 mov w, r3
jmp seven
mov r1, w
jmp loop2
clear clr r3
jmp loop3
seven jmp pc+w
retw 01h
retw 4fh
retw 12h
retw 06h
retw 4ch
retw 24h
retw 20h
retw 0dh
retw 00h
retw 04h
; *********************************************************************
org 0004h ;interrupt handler
inc r4
cje r4, #0fah, next1
loop5 cje r6, #00h, next2
mov portb, #0ffh
mov portb, r1
setb porta.1
clr r6
loop4 mov rtcc, #69h
setb rp0 ; page one
mov !option, #00h ; prescaler /2
clrb rp0
clrb rtif ; enable interrupts
reti
next1 cjne r7, #04h, loop5
cje r5, #0ffh, change
jmp loop5
next2 mov portb, #0ffh
mov portb, r0
setb porta.0
mov r6, #0ffh
jmp loop4
; **********************************************************************
 
Jay.slovak said:
Wow, what is that?

Is it PIC51 mixup ? :lol: :lol: :lol:

As I suggested above, it might be the old (REALLY old!) Parallax PIC assembler - and we've got members on this board younger than that!. It's not been used since well into last century, and there's certainly no reason at all to be using it now!.

As far as I recall it was discontinued well before the 16F84 ever saw the light of day?.

Apparently it was intended to make PIC programming easier for 51 programmers, essentially it's just a series of macros.
 
Another suggestion:

I would love to take a shot at fixing your code. However, you should make it easy for us to help by posting it in "code" format.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top