prjbrook

t15MACROS_C.txt

Aug 10th, 2019
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.91 KB | None | 0 0
  1. ; t15MACROS_B.txt Macros for MacroExperimentF.asm
  2. .MACRO mac1
  3. ldi r22,$99
  4. .ENDMACRO
  5. .MACRO mac2
  6. mac1
  7. ldi r22,$92
  8. mac1
  9. .ENDMACRO
  10. .EQU delay17 = $68 //$68 ought to give baud rate of 1200 //this worked way down to delay17=$40 ,delay18=$01. but a bit fast
  11. .EQU delay18 = $01 //Probs with $01 $02 OK but a bit jumpy $08 OK $10 OK$20 OK$40 0k $80 OK$f0 OK; Not too much different from $0 for timing. Start of with dec.
  12. .EQU delay19 = 1 ;delay constants that can change serial rate etc. 0,0,9 gives about 1second at 1.6MHz
  13. ; a "3" in delay 19 gave Arduino count for "wait3" of about 24000. Now 24K * 1024 about 24Million. ie about 1.5 seconds at 16MHz
  14. ;-----------
  15. .MACRO delay ;basic 1 period delay. Start slow then speed up
  16. ldi r17,@0
  17. ldi r18,@1
  18. ldi r19,@2
  19. up:
  20. dec r17
  21. brne up
  22. dec r18
  23. brne up
  24. dec r19
  25. brne up
  26. .ENDMACRO
  27. ;-----------
  28. .MACRO delay1 ;shortest delay used. Others are multiples of this.
  29. delay delay17,delay18,delay19
  30. .ENDMACRO
  31. ;----------------
  32. .MACRO pinUp ;make output pin go high
  33. sbi PORTB,4 ;outPin PB4, currently, goes high
  34. sbi PORTB,3 ;make Led pin follow so I can see it
  35. .ENDMACRO
  36. ;------------------
  37. .MACRO pinDown ;make output pin go low
  38. cbi PORTB,4 ;outPin PB4, currently, goes low
  39. cbi PORTB,3 ;make Led pin follow so I can see it
  40. .ENDMACRO
  41. ;------------------
  42. .MACRO longIntro ;the long tone before byte, about 4 seconds
  43. delay 0,0,$20 ; This is a constant. 265*256*$20 loops.
  44. .ENDMACRO
  45. ;----------------
  46. .MACRO wait3 ;the long wait at the first start bit. 3 * unit wait = "delay1"
  47. delay1
  48. delay1
  49. delay1
  50. .ENDMACRO
  51. ;---------------
  52. .MACRO getEepromByte ;use like getEepromByte r1,r0 to put into r0 eeprom byte adr in r1
  53. out EEAR,@0 ; usually r1 contains the adr
  54. sbi EECR,EERE ;or sbi $1c,0. The read strobe.
  55. in @1,EEDR ;eeprom byte now in EEDR. Send usually to r0
  56. .ENDMACRO
  57.  
  58. ;----------defs------------
  59. .DEF eepromLimit = r4
Advertisement
Add Comment
Please, Sign In to add comment