• 点三流水灯


    1. .text
    2. .global _start
    3. _start:
    4. @设置GPIOF寄存器的时钟使能
    5. LDR R0,=0X50000A28
    6. LDR R1,[R0]
    7. ORR R1,R1,#(0x1<<5)
    8. STR R1,[R0]
    9. @设置GPIOE寄存器的时钟使能
    10. LDR R0,=0X50000A28
    11. LDR R1,[R0] @从r0为起始地址的4字节数据取出放在R1
    12. ORR R1,R1,#(0x1<<4) @第4位设置为1
    13. STR R1,[R0] @写回
    14. @设置PE10管脚为输出模式 GPIOE_MODER[21:20]->01 0x50006000
    15. LDR R0,=0x50006000
    16. LDR R1,[R0]
    17. BIC R1,R1,#(0x3<<20)@[21L20]清0
    18. ORR R1,R1,#(0X1<<20) @设置
    19. STR R1,[R0]
    20. @设置PF10管脚为输出模式
    21. LDR R0,=0x50007000
    22. LDR R1,[R0]
    23. BIC R1,R1,#(0x3<<20)
    24. ORR R1,R1,#(0x1<<20)
    25. STR R1,[R0]
    26. @设置PE8管脚为输出模式
    27. LDR R0,=0x50006000
    28. LDR R1,[R0]
    29. BIC R1,R1,#(0x3<<16) @[17:16]清0
    30. ORR R1,R1,#(0X1<<16) @设置1
    31. STR R1,[R0]
    32. @设置PE10管脚为推挽输出 GPIOE_OTYPER[10]->0 0X50006004
    33. LDR R0,=0X50006004
    34. LDR R1,[R0]
    35. BIC R1,R1,#(0X1<<10)
    36. STR R1,[R0]
    37. @设置PF10管脚为推挽输出
    38. LDR R0,=0X50007004
    39. LDR R1,[R0]
    40. BIC R1,R1,#(0X1<<10)
    41. STR R1,[R0]
    42. @设置PE8管脚为推挽输出 GPIOE_OTYPER[10]->0 0X50006004
    43. LDR R0,=0X50006004
    44. LDR R1,[R0]
    45. BIC R1,R1,#(0X1<<8)
    46. STR R1,[R0]
    47. @设置PE10管脚为低速输出 GPIOE_OSPEEDR[21:20]->00 0X50006008
    48. LDR R0,=0x50006008
    49. LDR R1,[R0]
    50. BIC R1,R1,#(0x3<<20)@[21L20]清0
    51. STR R1,[R0]
    52. @设置PF10管脚为低速输出
    53. LDR R0,=0x50007008
    54. LDR R1,[R0]
    55. BIC R1,R1,#(0x3<<20)@[21L20]清0
    56. STR R1,[R0]
    57. @设置PE8管脚为低速输出 GPIOE_OSPEEDR[21:20]->00 0X50006008
    58. LDR R0,=0x50006008
    59. LDR R1,[R0]
    60. BIC R1,R1,#(0x3<<16) @[17:16]清0
    61. STR R1,[R0]
    62. @设置PE10管脚输出时没有上拉下拉电阻 GPIOE_PUPDR[21:20]->00 0X5000600C
    63. LDR R0,=0x5000600c
    64. LDR R1,[R0]
    65. BIC R1,R1,#(0x3<<20)@[21L20]清0
    66. STR R1,[R0]
    67. @设置PE8管脚输出时没有上拉下拉电阻 GPIOE_PUPDR[21:20]->00 0X5000600C
    68. LDR R0,=0x5000600c
    69. LDR R1,[R0]
    70. BIC R1,R1,#(0x3<<16)@[17:16]清0
    71. STR R1,[R0]
    72. @设置PF10管脚输出时没有上拉下拉电阻
    73. LDR R0,=0x5000700c
    74. LDR R1,[R0]
    75. BIC R1,R1,#(0x3<<20)@[21L20]清0
    76. STR R1,[R0]
    77. @ 6.PE10输出高低电平 GPIOE_ODR[10]->1(高电平) 0(低电平) 0X50006014
    78. @LED1亮灭交替
    79. loop:
    80. @亮
    81. LDR R0,=0X50006014
    82. LDR R1,[R0]
    83. ORR R1,R1,#(0x1<<10)
    84. STR R1,[R0]
    85. BL delay
    86. @灭
    87. LDR R0,=0X50006014
    88. LDR R1,[R0]
    89. BIC R1,R1,#(0x1<<10)
    90. STR R1,[R0]
    91. BL delay
    92. LDR R0,=0x50007014
    93. LDR R1,[R0]
    94. ORR R1,R1,#(0x1<<10)
    95. STR R1,[R0]
    96. BL delay
    97. LDR R0,=0X50007014
    98. LDR R1,[R0]
    99. BIC R1,R1,#(0x1<<10)
    100. STR R1,[R0]
    101. BL delay
    102. LDR R0,=0X50006014
    103. LDR R1,[R0]
    104. ORR R1,R1,#(0x1<<8)
    105. STR R1,[R0]
    106. BL delay
    107. LDR R0,=0X50006014
    108. LDR R1,[R0]
    109. BIC R1,R1,#(0x1<<8)
    110. STR R1,[R0]
    111. BL delay
    112. b loop
    113. @封装延时函数
    114. delay:
    115. LDR R4,=0X10000000
    116. mm:
    117. cmp r4,#0
    118. subne r4,r4,#1
    119. bne mm
    120. mov pc,lr @程序返回
    121. .end

  • 相关阅读:
    华为U8818从系统android 4.06降级为android 2.3.6攻略
    软件测试入门+面试点
    基于PHP+MySQL保险理赔系统的设计与实现
    声纹技术(一):声纹技术的前世今生
    八股文之算法
    Python 在windows环境下加密文件成.pyd格式
    eBPF Talk: 比 kprobe 更好的 trampoline
    Vue首屏优化方案
    自然语言处理文本分割[Text segmentation]:PoNet算法使用多粒度Pooling结构替代attention的网络
    408王道操作系统强化——PV大题解构
  • 原文地址:https://blog.csdn.net/SongJia_6/article/details/133689672