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

LED灯实验--汇编

 asm-led.S

.text 
.global _start
_start: /* 1. led灯的初始化 *//* 1.1 使能GPIOE、DPIOF外设控制器的时钟 */ldr r0, =0x50000A28ldr r1, [r0]orr r1, r1, #(0x3 << 4)str r1, [r0]/* 1.2 设置PE10、PE8、PF10引脚为输出模式 */ldr r0, =0x50006000ldr r1, [r0]bic r1, r1, #(0x3 << 16)orr r1, r1, #(0x1 << 16)bic r1, r1, #(0x3 << 20)orr r1, r1, #(0x1 << 20)str r1, [r0]ldr r0, =0x50007000ldr r1, [r0]bic r1, r1, #(0x3 << 20)orr r1, r1, #(0x1 << 20)str r1, [r0]/* 1.3 设置PE10、PE8、PF10引脚为推挽输出 */ldr r0, =0x50006004ldr r1, [r0]bic r1, r1, #(0x1 << 8)bic r1, r1, #(0x1 << 10)str r1, [r0]ldr r0, =0x50007004ldr r1, [r0]bic r1, r1, #(0x1 << 10)str r1, [r0]/* 1.4 设置PE10、PE8、PF10引脚为低速模式 */ldr r0, =0x50006008ldr r1, [r0]bic r1, r1, #(0x3 << 16)bic r1, r1, #(0x3 << 20)str r1, [r0]ldr r0, =0x50007008ldr r1, [r0]bic r1, r1, #(0x3 << 20)str r1, [r0]/* 1.5 设置PE10、PE8、PF10引脚禁止上拉和下拉电阻 */ldr r0, =0x5000600Cldr r1, [r0]bic r1, r1, #(0x3 << 16)bic r1, r1, #(0x3 << 20)str r1, [r0]ldr r0, =0x5000700Cldr r1, [r0]bic r1, r1, #(0x3 << 20)str r1, [r0]/* led1灯的初始化完成 */
loop:/* 设置PE10引脚输出高电平, 点亮LED1灯 */ldr r0, =0x50006014ldr r1, [r0]orr r1, r1, #(0x1 << 10)str r1, [r0]bl delay_1s/* 设置PE10引脚输出低电平, 熄灭LED1灯 */ldr r0, =0x50006014ldr r1, [r0]bic r1, r1, #(0x1 << 10)str r1, [r0]bl delay_1s/* 设置PF10引脚输出低电平, 点亮LED2灯 */ldr r0, =0x50007014ldr r1, [r0]orr r1, r1, #(0x1 << 10)str r1, [r0]bl delay_1s/* 设置PF10引脚输出低电平, 熄灭LED2灯 */ldr r0, =0x50007014ldr r1, [r0]bic r1, r1, #(0x1 << 10)str r1, [r0]bl delay_1s/* 设置PE8引脚输出高电平, 点亮LED3灯 */ldr r0, =0x50006014ldr r1, [r0]orr r1, r1, #(0x1 << 8)str r1, [r0]bl delay_1s/* 设置PE8引脚输出低电平, 熄灭LED3灯 */ldr r0, =0x50006014ldr r1, [r0]bic r1, r1, #(0x1 << 8)str r1, [r0]bl delay_1sb loop@ 大概1s的延时函数
delay_1s:mov r3, #0x10000000mm:cmp r3, #0subne r3, r3, #1bne mmmov pc, lr.end

效果图: 

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

相关文章:

  • Android多线程学习:线程池(一)
  • 网络安全(黑客技术)—小白自学笔记
  • 掌握核心技巧就能创建完美的目录!如何在Word中自动创建目录
  • 正则表达式中re.match、re.search、re.findall的用法和区别
  • 算法题:买卖股票的最佳时机含手续费(动态规划解法贪心解法-详解)
  • 【gcc】RtpTransportControllerSend学习笔记 4:码率分配
  • 「专题速递」AR协作、智能NPC、数字人的应用与未来
  • 什么是基于意图的网络(IBN)
  • 知识增强语言模型提示 零样本知识图谱问答10.8
  • 虚拟现实项目笔记:SDK、Assimp、DirectX Sample Browser、X86和X64
  • openwrt rm500u ncm方式拨号步骤记录
  • 使用js代码将一个值为“1=增量,2=全量“的字符串转化为一个数组,数据格式为[{value:““,label:“‘‘}]
  • 图片调色盘
  • 一文读懂Base64
  • CCF CSP认证 历年题目自练 Day20
  • 【Overload游戏引擎分析】从视图投影矩阵提取视锥体及overload对视锥体的封装
  • vue全局事件总线是什么?有什么用?解决了什么问题,与pinia有什么区别?
  • 【debian 12】:debian系统切换中文界面
  • es官方为我们提供的堆内存保护机制-熔断器( breaker )
  • 靶场通关记录
  • 全网最新最全的软件测试面试题
  • 如何列出 Ubuntu 和 Debian 上已安装的软件包
  • 图论---最小生成树问题
  • elementplus 时间范围选择器限制选择时间范围
  • 【网络】抓包工具Wireshark下载安装和基本使用教程
  • Metasequoia 4 水杉3D建模工具 附序列号
  • 股票杠杆交易平台排名:淘配网推荐的十大平台
  • CoreData + CloudKit 在初始化 Schema 时报错 A Core Data error occurred 的解决
  • 修炼k8s+flink+hdfs+dlink(三:安装dlink)
  • Linux 系统性能瓶颈分析(超详细)