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

华清远见嵌入式学习——ARM——作业2

目录

作业要求:

现象:

代码:

思维导图:

模拟面试题:


作业要求:

GPIO实验——3颗LED灯的流水灯实现

现象:

代码:

.text 
.global _start
_start: @设置GPIOEF时钟使能    0X50000A28LDR R0,=0X50000A28         @指定寄存器地址LDR R1,[R0]                @将寄存器数值取出来放在R1中ORR R1,R1,#(0x3<<4)        @将第4位设置为1STR R1,[R0]                @将修改后的值写回去/************对led1的设置************/@设置PE10为输出  GPIOE_MODER[21:20]->01   0X50006000ldr r0,=0x50006000         @指定寄存器地址ldr r1,[r0]                @将寄存器数值取出来放在r1中bic r1,r1,#(0x3<<20)      @将第20位和21位清零orr r1,r1,#(0x1<<20)      @将第20位和21位设置为01STR r1,[r0]@设置PE10为推挽输出 GPIOE_OTYPER[10]->0  0X50006004ldr r0,=0x50006004ldr r1,[r0]bic r1,r1,#(0x1<<10)STR r1,[r0]@设置PE10为低速输出 GPIOE_OSPEEDR[21:20]->00  0x50006008ldr r0,=0x50006008ldr r1,[r0]bic r1,r1,#(0x3<<20)STR r1,[r0]@设置PE10输出时无上拉下拉电阻  GPIOE_PUPDR[21:20]->00  0X5000600Cldr r0,=0x5000600cldr r1,[r0]bic r1,r1,#(0x3<<20)STR r1,[r0]/************对led2的设置************/@设置PF10为输出  GPIOF_MODER[21:20]->01   0X50007000ldr r0,=0x50007000         @指定寄存器地址ldr r1,[r0]                @将寄存器数值取出来放在r1中bic r1,r1,#(0x3<<20)      @将第20位和21位清零orr r1,r1,#(0x1<<20)      @将第20位和21位设置为01STR r1,[r0]@设置PF10为推挽输出 GPIOF_OTYPER[10]->0  0X50007004ldr r0,=0x50007004ldr r1,[r0]bic r1,r1,#(0x1<<10)STR r1,[r0]@设置PF10为低速输出 GPIOF_OSPEEDR[21:20]->00  0x50007008ldr r0,=0x50006008ldr r1,[r0]bic r1,r1,#(0x3<<20)STR r1,[r0]@设置PF10输出时无上拉下拉电阻  GPIOF_PUPDR[21:20]->00  0X5000700Cldr r0,=0x5000700cldr r1,[r0]bic r1,r1,#(0x3<<20)STR r1,[r0]/************对led3的设置************/ @设置PE8为输出  GPIOE_MODER[17:16]->01   0X50006000ldr r0,=0x50006000         @指定寄存器地址ldr r1,[r0]                @将寄存器数值取出来放在r1中bic r1,r1,#(0x3<<16)      @将第20位和21位清零orr r1,r1,#(0x1<<16)      @将第20位和21位设置为01STR r1,[r0]@设置PE8为推挽输出 GPIOE_OTYPER[8]->0  0X50006004ldr r0,=0x50006004ldr r1,[r0]bic r1,r1,#(0x1<<8)STR r1,[r0]@设置PE8为低速输出 GPIOE_OSPEEDR[21:20]->00  0x50006008ldr r0,=0x50006008ldr r1,[r0]bic r1,r1,#(0x3<<20)STR r1,[r0]@设置PE8输出时无上拉下拉电阻  GPIOE_PUPDR[17:16]->00  0X5000600Cldr r0,=0x5000600cldr r1,[r0]bic r1,r1,#(0x3<<16)STR r1,[r0]flash:@ led1亮bl led1_onbl delay@ led1灭且led2亮bl led1_offbl led2_onbl delay@ led2灭且led3亮bl led2_offbl led3_onbl delay@ led3灭 再 三灯同时亮bl led3_offbl led1_onbl led2_onbl led3_onbl delay@ 三灯同时灭bl led1_offbl led2_offbl led3_offbl delayb flashled1_on:@设置PE10输出高电平     GPIOE_ODR[10]->1    0X50006014ldr r0,=0x50006014ldr r1,[r0]orr r1,r1,#(0x1<<10)STR r1,[r0]mov pc,lrled1_off:@设置PE10输出低电平     GPIOE_ODR[10]->0    0X50006014ldr r0,=0x50006014ldr r1,[r0]bic r1,r1,#(0x1<<10)STR r1,[r0]mov pc,lrled2_on:@设置PF10输出高电平     GPIOF_ODR[10]->1    0X50007014ldr r0,=0x50007014ldr r1,[r0]orr r1,r1,#(0x1<<10)STR r1,[r0]mov pc,lrled2_off:@设置PF10输出低电平     GPIOF_ODR[10]->0    0X50007014ldr r0,=0x50007014ldr r1,[r0]bic r1,r1,#(0x1<<10)STR r1,[r0]mov pc,lrled3_on:@设置PE8输出高电平     GPIOE_ODR[8]->1    0X50006014ldr r0,=0x50006014ldr r1,[r0]orr r1,r1,#(0x1<<8)STR r1,[r0]mov pc,lrled3_off:@设置PE8输出低电平     GPIOE_ODR[8]->0    0X50006014ldr r0,=0x50006014ldr r1,[r0]bic r1,r1,#(0x1<<8)STR r1,[r0]mov pc,lrdelay:@延时函数ldr r2,=0x10000000
dd:cmp r2,#0subne r2,#1bne ddmov pc,lr	.end

思维导图:

模拟面试题:

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

相关文章:

  • R语言中使用ggplot2绘制散点图箱线图,附加显著性检验
  • 51单片机的羽毛球计分器系统【含proteus仿真+程序+报告+原理图】
  • 设计模式之-责任链模式,快速掌握责任链模式,通俗易懂的讲解责任链模式以及它的使用场景
  • Qt通用属性工具:随心定义,随时可见(一)
  • Python中json模块的使用与pyecharts绘图的基本介绍
  • nodejs+vue+微信小程序+python+PHP医院挂号系统-计算机毕业设计推荐
  • 数据大模型与低代码开发:赋能技术创新的黄金组合
  • Redis BitMap(位图)
  • 使用eclipse创建一个java文件并运行
  • C#上位机与欧姆龙PLC的通信05---- HostLink协议
  • Uniapp 开发 BLE
  • c语言排序算法
  • 【机器学习】模式识别
  • 【Prometheus|报错】Out of bounds
  • 【音视频】Mesh、Mcu、SFU三种框架的总结
  • 高级算法设计与分析(四) -- 贪心算法
  • MATLAB - 机器人逆运动学设计器(Inverse Kinematics Designer APP)
  • 使用OpenCV DNN模块进行人脸检测
  • C#中使用OpenCV的常用函数
  • 使用Swift Package Manager (SPM)实现xcframework分发
  • 非阻塞 IO(NIO)
  • Android应用-flutter使用Positioned将控件定位到底部中间
  • Django 简单图书管理系统
  • C++内存管理和模板初阶
  • QtRO(Qt Remote Objects)分布式对象远程通信
  • 【K8s】1# 使用kuboard-spray安装K8s集群
  • leetCode算法—12. 整数转罗马数字
  • 使用OpenCV4实现工业缺陷检测的六种方法
  • Excel 获取当前行的行数
  • R语言【stringr】——str_detect 检测是否存在字符串的匹配项