OpenCores
URL https://opencores.org/ocsvn/8051/8051/trunk

Subversion Repositories 8051

[/] [8051/] [trunk/] [asm/] [timer_test.asm] - Diff between revs 2 and 131

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 2 Rev 131
Line 5... Line 5...
; r4: timer low expected value
; r4: timer low expected value
; r5: owerflov counter expected value
; r5: owerflov counter expected value
 
 
        ajmp start;
        ajmp start;
 
 
        .org 03h        ;external interrupt 0
        org 03h         ;external interrupt 0
        reti;
        reti;
 
 
        .org 0bh        ;t/c 0 interrupt
        org 0bh         ;t/c 0 interrupt
        inc r0;
        inc r0;
        reti;
        reti;
 
 
        .org 13h        ;external interrupt 1
        org 13h         ;external interrupt 1
        reti;
        reti;
 
 
        .org 1bh        ;t/c 1 interrupt
        org 1bh         ;t/c 1 interrupt
        inc r1;
        inc r1;
        reti;
        reti;
 
 
        .org 23h        ;serial interface interrupt
        org 23h         ;serial interface interrupt
        reti;
        reti;
 
 
 
 
test0:
test0:
        mov a, th0      ;
        mov a, th0      ;
Line 57... Line 57...
error:
error:
        mov p0, r2;
        mov p0, r2;
        nop;
        nop;
        ajmp error;
        ajmp error;
 
 
 
wait:
 
        dec a           ; 1
 
        nop             ; 1
 
        nop             ; 1
 
        nop             ; 1
 
        nop             ; 1
 
        nop             ; 1
 
        nop             ; 1
 
        nop             ; 1
 
        nop             ; 1
 
        nop             ; 1
 
        jnz wait        ; 2
 
        reti            ; 4
 
 
 
 
start:
start:
        clr a;
        clr a;
        mov r0, a;
        mov r0, a;
        mov r1, a;
        mov r1, a;
Line 74... Line 88...
;
;
        mov tmod, #000h ;t/c 0 and t/c 1 in timer mode 0
        mov tmod, #000h ;t/c 0 and t/c 1 in timer mode 0
        mov th0, #000h  ;load timer 0
        mov th0, #000h  ;load timer 0
        mov tl0, #000h  ;
        mov tl0, #000h  ;
        mov tcon, #010h ;start timer 0;
        mov tcon, #010h ;start timer 0;
 
 
 
        mov a, #03h     ; 1
 
        acall wait      ; 2
 
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
 
 
 
 
        clr tcon.4      ;stop timer 0
        clr tcon.4      ;stop timer 0
        mov r2, #010h   ;
        mov r2, #010h   ;
        mov r3, #000h   ;
        mov r3, #000h   ;
        mov r4, #004h   ;
        mov r4, #004h   ;
        mov r5, #000h   ;
        mov r5, #000h   ;
        acall test0     ;
        acall test0     ;
 
 
        mov tl0, #01ch  ; load timer 0
        mov tl0, #01ch  ; load timer 0
        setb tcon.4     ;start timer 0;
        setb tcon.4     ;start timer 0;
 
 
 
        mov a, #04h     ; 1
 
        acall wait      ; 2
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        clr tcon.4      ;stop timer 0;
        clr tcon.4      ;stop timer 0;
Line 100... Line 123...
        acall test0     ;
        acall test0     ;
 
 
        mov tl0, #01ch  ;
        mov tl0, #01ch  ;
        mov th0, #0ffh  ;
        mov th0, #0ffh  ;
        setb tcon.4     ;start timer 0
        setb tcon.4     ;start timer 0
        nop;
        mov a, #05h     ;
 
        acall wait      ;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        clr tcon.4      ;stop timer 0
        clr tcon.4      ;stop timer 0
Line 118... Line 142...
;
;
        mov tmod, #001h ; t/c 0 in mode 1
        mov tmod, #001h ; t/c 0 in mode 1
        mov th0, #000h  ;load timer 0
        mov th0, #000h  ;load timer 0
        mov tl0, #000h  ;
        mov tl0, #000h  ;
        setb tcon.4     ;start timer 0;
        setb tcon.4     ;start timer 0;
 
        mov a, #03h     ;
 
        acall wait      ;
 
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        clr tcon.4      ;stop timer 0
        clr tcon.4      ;stop timer 0
        mov r2, #040h   ;
        mov r2, #040h   ;
Line 130... Line 157...
        mov r5, #001h   ;
        mov r5, #001h   ;
        acall test0     ;
        acall test0     ;
 
 
        mov tl0, #0fch  ; load timer 0
        mov tl0, #0fch  ; load timer 0
        setb tcon.4     ;start timer 0;
        setb tcon.4     ;start timer 0;
 
        mov a, #04h     ;
 
        acall wait      ;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        clr tcon.4      ;stop timer 0;
        clr tcon.4      ;stop timer 0;
Line 144... Line 173...
        acall test0     ;
        acall test0     ;
 
 
        mov tl0, #0fch  ;
        mov tl0, #0fch  ;
        mov th0, #0ffh  ;
        mov th0, #0ffh  ;
        setb tcon.4     ;start timer 0
        setb tcon.4     ;start timer 0
        nop;
        mov a, #05h     ;
 
        acall wait      ;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        clr tcon.4      ;stop timer 0
        clr tcon.4      ;stop timer 0
Line 162... Line 192...
;
;
        mov tmod, #002h ; t/c 0 in mode 2
        mov tmod, #002h ; t/c 0 in mode 2
        mov th0, #000h  ;load timer 0
        mov th0, #000h  ;load timer 0
        mov tl0, #005h  ;
        mov tl0, #005h  ;
        setb tcon.4     ;start timer 0;
        setb tcon.4     ;start timer 0;
 
        mov a, #03h     ;
 
        acall wait      ;
 
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        clr tcon.4      ;stop timer 0
        clr tcon.4      ;stop timer 0
        mov r2, #070h   ;
        mov r2, #070h   ;
Line 175... Line 208...
        acall test0     ;
        acall test0     ;
 
 
        mov tl0, #0fch  ; load timer 0
        mov tl0, #0fch  ; load timer 0
        mov th0, #050h  ;
        mov th0, #050h  ;
        setb tcon.4     ;start timer 0;
        setb tcon.4     ;start timer 0;
        nop             ; tl0=fd
        mov a, #05h     ;
        nop             ; tl0=fe
        acall wait      ;
        nop             ; tl0=ff
        nop;
        nop             ; tl0=50
        nop;
 
        nop;
 
        nop;
 
;       nop             ; tl0=fd
 
;       nop             ; tl0=fe
 
;       nop             ; tl0=ff
 
;       nop             ; tl0=50
        clr tcon.4      ;stop timer 0;
        clr tcon.4      ;stop timer 0;
        mov r2, #080h   ;
        mov r2, #080h   ;
        mov r3, #050h   ;
        mov r3, #050h   ;
        mov r4, #051h   ;
        mov r4, #053h   ;
        mov r5, #003h   ;
        mov r5, #003h   ;
        acall test0     ;
        acall test0     ;
;
;
; mode 3
; mode 3
;
;
        mov tmod, #003h ; t/c 0 in mode 3
        mov tmod, #003h ; t/c 0 in mode 3
        mov th0, #000h  ;load timer 0
        mov th0, #000h  ;load timer 0
        mov tl0, #000h  ;
        mov tl0, #000h  ;
        setb tcon.4     ;start timer 0;
        setb tcon.4     ;start timer 0;
 
        mov a, #03h     ;
 
        acall wait      ;
 
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        clr tcon.4      ;stop timer 0
        clr tcon.4      ;stop timer 0
        mov r2, #090h   ;
        mov r2, #090h   ;
Line 205... Line 247...
        acall test0     ;
        acall test0     ;
 
 
        mov tl0, #0fch  ; load timer 0
        mov tl0, #0fch  ; load timer 0
        mov th0, #000h  ;
        mov th0, #000h  ;
        setb tcon.4     ;start timer 0
        setb tcon.4     ;start timer 0
        nop             ; tl0=fd
        mov a, #05h     ;
        nop             ; tl0=fe
        acall wait      ;
        nop             ; tl0=ff
        nop;
        nop             ; tl0=00
        nop;
        nop             ; tl0=01
        nop;
 
        nop;
        clr tcon.4      ;stop timer 0
        clr tcon.4      ;stop timer 0
        mov r2, #0a0h   ;
        mov r2, #0a0h   ;
        mov r3, #000h   ;
        mov r3, #000h   ;
        mov r4, #002h   ;
        mov r4, #003h   ;
        mov r5, #004h   ;
        mov r5, #004h   ;
        acall test0     ;
        acall test0     ;
 
 
        mov tl0, #000h  ; load timer 0
        mov tl0, #000h  ; load timer 0
        mov th0, #000h  ;
        mov th0, #000h  ;
        setb tcon.6     ; start timer 1
        setb tcon.6     ; start timer 1
 
        mov a, #03h     ;
 
        acall wait      ;
 
        nop;
        nop             ;
        nop             ;
        nop             ;
        nop             ;
        nop             ;
        nop             ;
        clr tcon.6      ; stop timer 1
        clr tcon.6      ; stop timer 1
        mov r2, #0b0h   ;
        mov r2, #0b0h   ;
Line 233... Line 279...
        acall test0     ;
        acall test0     ;
 
 
        mov tl0, #000h  ; load timer 0
        mov tl0, #000h  ; load timer 0
        mov th0, #0fch  ;
        mov th0, #0fch  ;
        setb tcon.6     ;start timer 1
        setb tcon.6     ;start timer 1
        nop             ; th0=fd
        mov a, #05h     ;
        nop             ; th0=fe
        acall wait      ;
        nop             ; th0=ff
        nop;
        nop             ; th0=00
        nop;
        nop             ; th0=01
        nop;
 
        nop;
        clr tcon.6      ;stop timer 1
        clr tcon.6      ;stop timer 1
        mov r2, #0c0h   ;
        mov r2, #0c0h   ;
        mov r3, #002h   ;
        mov r3, #002h   ;
        mov r4, #000h   ;
        mov r4, #000h   ;
        mov r5, #001h   ;
        mov r5, #001h   ;
Line 258... Line 305...
;
;
        mov tmod, #000h ;t/c 0 and t/c 1 in timer mode 0
        mov tmod, #000h ;t/c 0 and t/c 1 in timer mode 0
        mov th1, #000h  ;load timer 1
        mov th1, #000h  ;load timer 1
        mov tl1, #000h  ;
        mov tl1, #000h  ;
        mov tcon, #040h ;start timer 1;
        mov tcon, #040h ;start timer 1;
 
        mov a, #03h     ;
 
        acall wait      ;
 
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        clr tcon.6      ;stop timer 1
        clr tcon.6      ;stop timer 1
        mov r2, #018h   ;
        mov r2, #018h   ;
Line 270... Line 320...
        mov r5, #000h   ;
        mov r5, #000h   ;
        acall test1     ;
        acall test1     ;
 
 
        mov tl1, #01ch  ; load timer 1
        mov tl1, #01ch  ; load timer 1
        setb tcon.6     ;start timer 1
        setb tcon.6     ;start timer 1
 
        mov a, #04h     ;
 
        acall wait      ;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        clr tcon.6      ;stop timer 1
        clr tcon.6      ;stop timer 1
Line 284... Line 336...
        acall test1     ;
        acall test1     ;
 
 
        mov tl1, #01ch  ;
        mov tl1, #01ch  ;
        mov th1, #0ffh  ;
        mov th1, #0ffh  ;
        setb tcon.6     ;start timer 1
        setb tcon.6     ;start timer 1
        nop;
        mov a, #05h     ;
 
        acall wait      ;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        clr tcon.6      ;stop timer 1
        clr tcon.6      ;stop timer 1
        mov r2, #038h   ;
        mov r2, #038h   ;
        mov r3, #000h   ;
        mov r3, #000h   ;
        mov r4, #002h   ;
        mov r4, #003h   ;
        mov r5, #001h   ;
        mov r5, #001h   ;
        acall test1     ;
        acall test1     ;
;
;
; mode 1
; mode 1
;
;
        mov tmod, #010h ; t/c 1 in mode 1
        mov tmod, #010h ; t/c 1 in mode 1
        mov th1, #000h  ;load timer 1
        mov th1, #000h  ;load timer 1
        mov tl1, #000h  ;
        mov tl1, #000h  ;
        setb tcon.6     ;start timer 1
        setb tcon.6     ;start timer 1
 
        mov a, #03h     ;
 
        acall wait      ;
 
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        clr tcon.6      ;stop timer 1
        clr tcon.6      ;stop timer 1
        mov r2, #048h   ;
        mov r2, #048h   ;
Line 314... Line 370...
        mov r5, #001h   ;
        mov r5, #001h   ;
        acall test1     ;
        acall test1     ;
 
 
        mov tl1, #0fch  ; load timer 1
        mov tl1, #0fch  ; load timer 1
        setb tcon.6     ; start timer 1
        setb tcon.6     ; start timer 1
 
        mov a, #04h     ;
 
        acall wait      ;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        clr tcon.6      ;stop timer 1
        clr tcon.6      ;stop timer 1
Line 328... Line 386...
        acall test1     ;
        acall test1     ;
 
 
        mov tl1, #0fch  ;
        mov tl1, #0fch  ;
        mov th1, #0ffh  ;
        mov th1, #0ffh  ;
        setb tcon.6     ;start timer 1
        setb tcon.6     ;start timer 1
        nop;
        mov a, #05h     ;
 
        acall wait      ;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        clr tcon.6      ;stop timer 1
        clr tcon.6      ;stop timer 1
        mov r2, #068h   ;
        mov r2, #068h   ;
        mov r3, #000h   ;
        mov r3, #000h   ;
        mov r4, #002h   ;
        mov r4, #003h   ;
        mov r5, #002h   ;
        mov r5, #002h   ;
        acall test1     ;
        acall test1     ;
;
;
; mode 2
; mode 2
;
;
        mov tmod, #020h ; t/c 1 in mode 2
        mov tmod, #020h ; t/c 1 in mode 2
        mov th1, #000h  ;load timer 1
        mov th1, #000h  ;load timer 1
        mov tl1, #005h  ;
        mov tl1, #005h  ;
        setb tcon.6     ;start timer 1
        setb tcon.6     ;start timer 1
 
        mov a, #03h     ;
 
        acall wait      ;
 
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        clr tcon.6      ;stop timer 1
        clr tcon.6      ;stop timer 1
        mov r2, #078h   ;
        mov r2, #078h   ;
Line 359... Line 421...
        acall test1     ;
        acall test1     ;
 
 
        mov tl1, #0fch  ; load timer 1
        mov tl1, #0fch  ; load timer 1
        mov th1, #050h  ;
        mov th1, #050h  ;
        setb tcon.6     ;start timer 1
        setb tcon.6     ;start timer 1
        nop             ; tl1=fd
        mov a, #04h     ;
        nop             ; tl1=fe
        acall wait      ;
        nop             ; tl1=ff
        nop;
        nop             ; tl1=50
        nop;
 
        nop;
 
        nop;
        clr tcon.6      ;stop timer 1
        clr tcon.6      ;stop timer 1
        mov r2, #088h   ;
        mov r2, #088h   ;
        mov r3, #050h   ;
        mov r3, #050h   ;
        mov r4, #051h   ;
        mov r4, #051h   ;
        mov r5, #003h   ;
        mov r5, #003h   ;
Line 376... Line 440...
;
;
        mov tmod, #030h ; t/c 1 in mode 3
        mov tmod, #030h ; t/c 1 in mode 3
        mov th1, #000h  ;load timer 1
        mov th1, #000h  ;load timer 1
        mov tl1, #000h  ;
        mov tl1, #000h  ;
        setb tcon.6     ;start timer 1
        setb tcon.6     ;start timer 1
 
        mov a, #03h     ;
 
        acall wait      ;
 
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        nop;
        clr tcon.6      ;stop timer 1
        clr tcon.6      ;stop timer 1
        mov r2, #098h   ;
        mov r2, #098h   ;
Line 389... Line 456...
        acall test1     ;
        acall test1     ;
 
 
        mov tl1, #0fch  ; load timer 1
        mov tl1, #0fch  ; load timer 1
        mov th1, #0ffh  ;
        mov th1, #0ffh  ;
        setb tcon.6     ;start timer 1
        setb tcon.6     ;start timer 1
        nop             ;
        mov a, #05h     ;
 
        acall wait      ;
        nop             ;
        nop             ;
        nop             ;
        nop             ;
        nop             ;
        nop             ;
        nop             ;
        nop             ;
        clr tcon.6      ;stop timer 1
        clr tcon.6      ;stop timer 1
Line 403... Line 471...
        mov r5, #003h   ;
        mov r5, #003h   ;
        acall test1     ;
        acall test1     ;
 
 
        mov p0, #002h   ; test timer 1 done!
        mov p0, #002h   ; test timer 1 done!
 
 
 
end
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.