码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • day58:ARMday5,GPIO流水灯实验


    汇编指令:

    1. .text
    2. .global _start
    3. _start:
    4. @1.设置GPIOE GPIOF寄存器的时钟使能 RCC_MP_AHB4ENSETR[5:4]->1 0x50000a28
    5. LDR R0,=0x50000a28
    6. LDR R1,[R0]
    7. ORR R1,R1,#(0x3<<4)
    8. STR R1,[R0]
    9. @2.设置PE10、PF10、PE8管脚为输出模式,GPIOE_MODER[21:20]->01 0x50006000
    10. LDR R0,=0x50006000
    11. LDR R1,[R0]
    12. BIC R1,R1,#(0x3<<20)
    13. ORR R1,R1,#(0x1<<20)
    14. BIC R1,R1,#(0x3<<16)
    15. ORR R1,R1,#(0x1<<16)
    16. STR R1,[R0]
    17. LDR R0,=0x50007000
    18. LDR R1,[R0]
    19. BIC R1,R1,#(0x3<<20)
    20. ORR R1,R1,#(0x1<<20)
    21. STR R1,[R0]
    22. @3.设置PE10、PF10、PE8管脚为推挽输出,GPIOE_OTYPER[10]->0 0x50006004
    23. LDR R0,=0x50006004
    24. LDR R1,[R0]
    25. BIC R1,R1,#(0x1<<10)
    26. BIC R1,R1,#(0x1<<8)
    27. STR R1,[R0]
    28. LDR R0,=0x50007004
    29. LDR R1,[R0]
    30. BIC R1,R1,#(0x1<<10)
    31. STR R1,[R0]
    32. @4.设置PE10、PF10、PE8管脚为低速输出,GPIO_OSPEEDR[21:20]->00 0x50006008
    33. LDR R0,=0x50006008
    34. LDR R1,[R0]
    35. BIC R1,R1,#(0x3<<20)
    36. BIC R1,R1,#(0x3<<16)
    37. STR R1,[R0]
    38. LDR R0,=0x50007008
    39. LDR R1,[R0]
    40. BIC R1,R1,#(0x3<<20)
    41. STR R1,[R0]
    42. @5.设置PE10、PF10、PE8管脚为不设置上拉下拉模式,GPIOE_PUPDR[21:20]->00 0x5000600c
    43. LDR R0,=0x5000600c
    44. LDR R1,[R0]
    45. BIC R1,R1,#(0x3<<20)
    46. BIC R1,R1,#(0x3<<16)
    47. STR R1,[R0]
    48. LDR R0,=0x5000700c
    49. LDR R1,[R0]
    50. BIC R1,R1,#(0x3<<20)
    51. STR R1,[R0]
    52. @6.设置PE10、PF10、PE8管脚为高低电平,GPIOE_ODR[10]->1/0 0x50006014
    53. @GPIOF_ODR[10]->1/0 0x50007014
    54. @GPIOE_ODR[8]->1/0 0x50006014
    55. loop:
    56. @LD1亮
    57. LDR R0,=0x50006014
    58. LDR R1,[R0]
    59. ORR R1,R1,#(0x1<<10)
    60. STR R1,[R0]
    61. BL delay
    62. @LD1灭
    63. LDR R0,=0x50006014
    64. LDR R1,[R0]
    65. BIC R1,R1,#(0x1<<10)
    66. STR R1,[R0]
    67. @LD2亮
    68. LDR R0,=0x50007014
    69. LDR R1,[R0]
    70. ORR R1,R1,#(0x1<<10)
    71. STR R1,[R0]
    72. BL delay
    73. @LD2灭
    74. LDR R0,=0x50007014
    75. LDR R1,[R0]
    76. BIC R1,R1,#(0x1<<10)
    77. STR R1,[R0]
    78. @LD3亮
    79. LDR R0,=0x50006014
    80. LDR R1,[R0]
    81. ORR R1,R1,#(0x1<<8)
    82. STR R1,[R0]
    83. BL delay
    84. @LD3灭
    85. LDR R0,=0x50006014
    86. LDR R1,[R0]
    87. BIC R1,R1,#(0x1<<8)
    88. STR R1,[R0]
    89. b loop
    90. delay:
    91. LDR R4,=0x10000000
    92. mm:
    93. cmp r4,#0
    94. subne r4,r4,#1
    95. bne mm
    96. mov pc,lr @程序返回
    97. .end

    实验现象:

  • 相关阅读:
    高项 08 人力资源管理
    Latex语法学习09:如何编写一本书
    ComfyUI生成视频时,K采样器就一直报错
    SG-Former:具有进化Token重新分配的自引导Transformer
    解决 Rust Tauri 1.0 构建时下载 WiX失败
    js - 宝石与石头
    如何做好漏洞扫描工作提高网络安全
    AI工人操作行为流程规范识别算法
    用代码实现全自动化批量下单官网的 iPhone-14-Pro 集成智能下单购物系统,附源码可直接运行
    详述Java内存屏障,透彻理解volatile
  • 原文地址:https://blog.csdn.net/wxmchong/article/details/133689709
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号