CodeCodeCode

ECE 362 LAB05

Oct 5th, 2012
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;***********************************************************************
  2. ; ECE 362 - Logic Analyzer Experiment
  3. ;
  4. ; Skeleton file for Step 3
  5. ;***********************************************************************
  6. ;
  7. ; Completed by: < your name >
  8. ;               < your lab partners name >
  9. ;               < your class number >
  10. ;               < your lab division >
  11. ;
  12. ;***********************************************************************
  13. ;
  14. ; Exercise 3 for Logic Analyzer Experiment
  15. ;
  16. ; Program: Square Wave Generator
  17. ;
  18. ; Purpose: Produces a square wave on Pin 0 of Port A
  19. ;
  20. ; Starting Address: 0800
  21. ;
  22. ; Note: This program is an infinite loop
  23. ;
  24. ;***********************************************************************
  25.  
  26. ddra    equ $0002
  27. porta   equ $0000
  28.  
  29.     org $0800
  30.         lds     #$0C00
  31.     movb    #$FF,ddra       ; Initialize Port A for Output
  32.     movb    #$00,porta      ; Set PA0 = 0
  33. loop    bsr delay           ; Wait 6 ms
  34.     com porta           ; Toggle PA0
  35.     bra loop
  36.  
  37. ;***********************************************************************
  38. ;
  39. ; Subroutine
  40. ;
  41. ; delay -- Produce a delay of 6 ms
  42. ;
  43. ; Note: The boards used in lab for this experiment run at 12.5 MHz.
  44.  
  45. delay              ; 5 + 10x + 5 = 75000
  46.     ldx #$0000 ; 2 cy
  47.     nop        ;+3 cy
  48.     nop
  49.     nop
  50. loopo           ; 7498 loops for 74980 cy
  51.     orcc #%11110000 ; 1 cy
  52.     cpx #$1D4A  ; 2 cy
  53.     beq done    ; 1 cy
  54.     leax 1,x    ; 2 cy
  55.     nop         ; 1 cy
  56.     bra loopo   ; 3 cy
  57. done
  58.     nop     ; +4 cy
  59.     nop
  60.     nop
  61.     nop        
  62.     rts         ; 5 cy
  63.  
  64.     end   ;5 + (10x) + 9 (+1) = 75,000
Advertisement
Add Comment
Please, Sign In to add comment