当前位置: 首页 > news >正文

ARM 三个小灯闪烁


.text 
.global _start
_start: 
@使能GPIOE的外设时钟
LDR R0,=0x50000A28     @指定基地址
LDR R1,[R0]                  @读取r0中的数据保存到r1中
ORR R1,R1,#(0X3<<4)   @[4]设置为1,表示
STR R1,[R0]     @将修改之后的值放回去

@设置PE10,PE8为输出
LDR R0,=0X50006000
LDR R1,[R0]
BIC R1,R1,#(0X3<<20)
BIC R1,R1,#(0X3<<16)
ORR R1,R1,#(0X1<<20)
ORR R1,R1,#(0X1<<16)
STR R1,[R0]

@设置PF10输出模式
LDR R0,=0X50007000
LDR R1,[R0]
BIC R1,R1,#(0X3<<20)
ORR R1,R1,#(0X1<<20)
STR R1,[R0]

@PE10,PE8设置推挽输出
LDR R0,=0X50006004
LDR R1,[R0]
BIC R1,R1,#(0X1<<10)
BIC R1,R1,#(0X1<<8)
STR R1,[R0]

@设置PF8为推挽输出
LDR R0,=0X50007004
LDR R1,[R0]
BIC R1,R1,#(0X1<<10)
STR R1,[R0]

@PE10,PE8设置低速输出
LDR R0,=0X50006008
LDR R1,[R0]
BIC R1,R1,#(0X3<<20)
BIC R1,R1,#(0X3<<16)
STR R1,[R0]

@PF10设置低速输出
LDR R0,=0X50007008
LDR R1,[R0]
BIC R1,R1,#(0X3<<20)
STR R1,[R0]

@PE10,PE8设置无上拉下拉电阻
LDR R0,=0X5000600C
LDR R1,[R0]
BIC R1,R1,#(0X3<<20)
BIC R1,R1,#(0X3<<16)
STR R1,[R0]

@PF10设置无上拉下拉电阻
LDR R0,=0X5000700C
LDR R1,[R0]
BIC R1,R1,#(0X3<<20)
STR R1,[R0]

@亮灭
LOOP:
    BL LED1_ON
    BL DEALY
    BL LED1_OFF
     BL LED2_ON
    BL DEALY
    BL LED2_OFF
    BL LED3_ON
    BL DEALY
    BL LED3_OFF
    BL LOOP


LED1_ON:
    LDR R0,=0X50006014
    LDR R1,[R0]
    ORR R1,R1,#(0X1<<10)
    STR R1,[R0]
    MOV PC,LR

LED1_OFF:
    LDR R0,=#0X50006014
    LDR R1,[R0]
    BIC R1,R1,#(0X1<<10)
    STR R1,[R0]
    MOV PC,LR

LED2_ON:
 LDR R0,=0X50007014
    LDR R1,[R0]
    ORR R1,R1,#(0X1<<10)
    STR R1,[R0]
    MOV PC,LR

LED2_OFF:
    LDR R0,=#0X50007014
    LDR R1,[R0]
    BIC R1,R1,#(0X1<<10)
    STR R1,[R0]
    MOV PC,LR

LED3_ON:
    LDR R0,=0X50006014
    LDR R1,[R0]
    ORR R1,R1,#(0X1<<8)
    STR R1,[R0]
    MOV PC,LR

LED3_OFF:
    LDR R0,=#0X50006014
    LDR R1,[R0]
    BIC R1,R1,#(0X1<<8)
    STR R1,[R0]
    MOV PC,LR


@延时
DEALY:
    LDR R3,=0X10000000

MM:
    CMP R3,#0
    SUBNE R3,R3,#1
    BNE MM
    MOV PC,LR


.end

http://www.lryc.cn/news/339108.html

相关文章:

  • 创业之路:从市场洞察到产品实现的全方位指南
  • C++ 红黑树模拟实现
  • 【数据结构】第三节:单链表
  • Python中操作Excel表对象并打包为脚本
  • Python学习笔记23 - 目录操作
  • 今天你学langchain了吗?
  • 插值算法-代码实现
  • 113.PyQt5_QtPrintSupport_打印操作
  • 在vue中使用bing map 的小demo
  • 基于uni-app的埋点sdk设计
  • Python学习笔记(三)
  • Python办公自动化之Excel做表自动化:全网最全,看这一篇就够了!
  • 【学习笔记】R语言入门与数据分析1
  • MyBatis-Spring整合
  • 资深亚马逊运营实战技巧:跨境电商6大选品法
  • bugku-web-需要管理员
  • STM32之FreeRTOS移植
  • SpringBoot实用开发(十四)-- 消息(Message)的简单认识
  • 【Spring Boot 源码学习】SpringApplication 的 run 方法核心流程介绍
  • 如何保证消息不丢失?——使用rabbitmq的死信队列!
  • html、css、京东移动端静态页面,资源免费分享,可作为参考,提供InsCode在线运行演示
  • 头歌-机器学习 第13次实验 特征工程——共享单车之租赁需求预估
  • Unity 2D让相机跟随角色移动
  • 【面试题】s += 1 和 s = s + 1的区别
  • ARM的学习
  • Restful API接口规范(以Django为例)
  • AI助力,程序员压力倍增?
  • LoRA微调
  • 45.基于SpringBoot + Vue实现的前后端分离-驾校预约学习系统(项目 + 论文)
  • 系统思考—时间滞延