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

day58:ARMday5,GPIO流水灯实验

汇编指令:

.text 
.global _start
_start: 
@1.设置GPIOE GPIOF寄存器的时钟使能 RCC_MP_AHB4ENSETR[5:4]->1 	0x50000a28
LDR R0,=0x50000a28
LDR R1,[R0]
ORR R1,R1,#(0x3<<4)
STR R1,[R0]@2.设置PE10、PF10、PE8管脚为输出模式,GPIOE_MODER[21:20]->01 	0x50006000
LDR R0,=0x50006000
LDR R1,[R0]
BIC R1,R1,#(0x3<<20)
ORR R1,R1,#(0x1<<20)
BIC R1,R1,#(0x3<<16)
ORR R1,R1,#(0x1<<16)
STR R1,[R0]LDR R0,=0x50007000
LDR R1,[R0]
BIC R1,R1,#(0x3<<20)
ORR R1,R1,#(0x1<<20)
STR R1,[R0]@3.设置PE10、PF10、PE8管脚为推挽输出,GPIOE_OTYPER[10]->0 	0x50006004
LDR R0,=0x50006004
LDR R1,[R0]
BIC R1,R1,#(0x1<<10)
BIC R1,R1,#(0x1<<8)
STR R1,[R0]LDR R0,=0x50007004
LDR R1,[R0]
BIC R1,R1,#(0x1<<10)
STR R1,[R0]@4.设置PE10、PF10、PE8管脚为低速输出,GPIO_OSPEEDR[21:20]->00 	0x50006008
LDR R0,=0x50006008
LDR R1,[R0]
BIC R1,R1,#(0x3<<20)
BIC R1,R1,#(0x3<<16)
STR R1,[R0]LDR R0,=0x50007008
LDR R1,[R0]
BIC R1,R1,#(0x3<<20)
STR R1,[R0]@5.设置PE10、PF10、PE8管脚为不设置上拉下拉模式,GPIOE_PUPDR[21:20]->00 	0x5000600c
LDR R0,=0x5000600c
LDR R1,[R0]
BIC R1,R1,#(0x3<<20)
BIC R1,R1,#(0x3<<16)
STR R1,[R0]LDR R0,=0x5000700c
LDR R1,[R0]
BIC R1,R1,#(0x3<<20)
STR R1,[R0]@6.设置PE10、PF10、PE8管脚为高低电平,GPIOE_ODR[10]->1/0 	0x50006014@GPIOF_ODR[10]->1/0 	0x50007014@GPIOE_ODR[8]->1/0 		0x50006014
loop:@LD1亮LDR R0,=0x50006014LDR R1,[R0]ORR R1,R1,#(0x1<<10)STR R1,[R0]BL delay@LD1灭LDR R0,=0x50006014LDR R1,[R0]BIC R1,R1,#(0x1<<10)STR R1,[R0]@LD2亮LDR R0,=0x50007014LDR R1,[R0]ORR R1,R1,#(0x1<<10)STR R1,[R0]BL delay@LD2灭LDR R0,=0x50007014LDR R1,[R0]BIC R1,R1,#(0x1<<10)STR R1,[R0]@LD3亮LDR R0,=0x50006014LDR R1,[R0]ORR R1,R1,#(0x1<<8)STR R1,[R0]BL delay@LD3灭LDR R0,=0x50006014LDR R1,[R0]BIC R1,R1,#(0x1<<8)STR R1,[R0]b loopdelay:LDR R4,=0x10000000
mm:cmp r4,#0subne r4,r4,#1bne mmmov pc,lr @程序返回.end

实验现象:

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

相关文章:

  • Linux shell编程学习笔记9:字符串运算 和 if语句
  • 【分享】xpath的属性表达式
  • Oracle Dataguard跨版本数据迁移(11.2.0.4~19.13.0.0)
  • 零基础Linux_14(基础IO_文件)缓冲区+文件系统inode等
  • Vue中的router路由的介绍(快速入门)
  • ESP-07S进行TCP 通信测试
  • 如何找到新媒体矩阵中存在的问题?
  • MongoDB-基本常用命令
  • Linux 常用systemctl service 脚本
  • flask-sqlalchemy实现读写分离完整版
  • windows下在cmd和git bash中执行bash download.sh失败
  • rust流程控制
  • 虚拟机软件Parallels Desktop 19 mac功能介绍
  • 在工业机器视觉领域中应用钡铼技术有限公司的EtherCAT网关
  • ssh指定的密钥协商方式以及Ansible的hosts文件修改密钥协商方式
  • NLP 项目:维基百科文章爬虫和分类【01】 - 语料库阅读器
  • QT sqlite的简单用法
  • 大模型部署手记(12)LLaMa2+Chinese-LLaMA-Plus-2-7B+Windows+text-gen+中文对话
  • C#导出本机Win32native dll
  • express-generator快速构建node后端项目
  • 视频监控系统/视频汇聚平台EasyCVR如何反向代理进行后端保活?
  • 金融信创黄金三年:小程序生态+跨端技术框架构建
  • 这短短 6 行代码你能数出几个bug?
  • 【毕设选题】深度学习 机器视觉 车位识别车道线检测 - python opencv
  • 不同数据类型在单片机内存中占多少字节?
  • 安卓LinearLayout让控件居中的办法
  • uniapp下拉刷新
  • 【工作记录】css3 grid布局笔记
  • 区块链技术-比特币数据结构
  • SpringBoot结合dev-tool 实现IDEA项目热部署