找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2445|回复: 4
打印 上一主题 下一主题
收起左侧

在 STM32 上用汇编程序写流水灯程序

[复制链接]
跳转到指定楼层
楼主
ID:89983 发表于 2015-9-13 00:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想要在STM3251RC 上用汇编来写 流水灯,我写了以下的代码。 但是, 不知道怎么可以让她来回在LED 灯排(10个 LED) 上跑动


这是我写的一些代码:

  1. AREA mycode, CODE, READONLY
  2. EXPORT __main


  3. PERIPH_BASE_ONE EQU 0x40000000
  4. Delay PROC
  5. push {r1}
  6. ldr r1, =0x60000 ;initial value for loop counter
  7. again NOP ;execute two no-operation instructions
  8. NOP
  9. subs r1, #1
  10. bne again
  11. pop {r1}
  12. bx lr
  13. ENDP

  14. pb4_initPROC
  15. LDRr0, =PERIPH_BASE_ONE
  16. ADD r0, #0x20000 ;AHBPERIPH_BASE
  17. ADD r0, #0x3800;RCC_BASE
  18. LDRr1, [r0,#0x1C] ;RCC->AHBENR
  19. ORR r1,#2
  20. STRr1, [r0,#0x1C]


  21. LDRr0, =0x40000000 ;PERIPH_BASE
  22. ADD r0, #0x20000 ;AHBPERIPH_BASE
  23. ADD r0, #0x0400;GPIOB_BASE
  24. ;0xF00000FF
  25. LDR r1, [r0,#0]
  26. ;AND r1, #0xFFFFFCFF ;GPIOB->MODER &= ~(0x00000300)
  27. ORRr1, #0x00000100;GPIOB->MODER |= (0x00000100)
  28. STRr1, [r0,#0]

  29. LDRH r1, [r0,#4];GPIOB->OTYPER
  30. ANDr1,#0xFFFFFFDF
  31. STRH r1, [r0,#4]

  32. LDR r1, [r0,#8];GPIOB->OSPEEDR
  33. ;ANDr1,#0xFFFFFCFF
  34. ORR r1, #0x00000100
  35. STR r1, [r0,#8]

  36. LDR r1, [r0,#0x0C];GPIOB->PUPDR
  37. ;ANDr1,#0xFFFFFCFF
  38. STR r1, [r0,#0x0C]

  39. bxlr
  40. ENDP

  41. __mainPROC
  42. BLpb4_init

  43. LDRr0, =0x40000000 ;PERIPH_BASE
  44. ADD r0, #0x20000 ;AHBPERIPH_BASE
  45. ADD r0, #0x0400;GPIOB_BASE
  46. loop
  47. LDR r1, =0x10
  48. STRH r1, [r0,#0x18]
  49. BL Delay

  50. STRH r1,[r0,#0x1A]
  51. BL Delay
  52. Bloop

  53. ENDP
  54. END
复制代码


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:89985 发表于 2015-9-13 09:10 | 只看该作者
为什么不用C,用C反编译后,可以对比
回复

使用道具 举报

板凳
ID:89983 发表于 2015-9-13 10:56 | 只看该作者
已经用C语言 写过了但是不知道汇编要怎么写, 那位大神能帮帮忙啊?
回复

使用道具 举报

地板
ID:89999 发表于 2015-9-13 11:49 | 只看该作者
给他来个调用c语言函数
回复

使用道具 举报

5#
ID:89983 发表于 2015-9-13 15:22 | 只看该作者
怎么写汇编啊?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表