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

ARM:汇编点灯


.text 
.global _start
_start: @使能GPIOE和GPIOF的外设时钟  
LDR R0,=0x50000A28   @指定寄存器地址
LDR R1,[R0]  @将寄存器原来的数值读取出来,保存到R1中
ORR R1,R1,#(0x3<<4)   @将第3/4位设置为1
STR R1,[R0]  @将修改后的数值写回@设置LED1亮
@设置PE10为输出  将GPIOE_MODER[21:20]设置为01,就能够让PE10为输出工作模式
LDR R0,=0x50006000   @指定寄存器地址
LDR R1,[R0]  @将寄存器原来的数值读取出来,保存到R1中
BIC R1,R1,#(0x3<<20)   @将第21:20清0
ORR R1,R1,#(0x1<<20)   @将第21:20设置为01
STR R1,[R0]  @将修改后的数值写回@设置PE10为推完输出  将GPIOE_OTYPER寄存器[10]设置为0,就能够让PE10以推挽输出模式进行工作
LDR R0,=0x50006004   @指定寄存器地址
LDR R1,[R0]  @将寄存器原来的数值读取出来,保存到R1中
BIC R1,R1,#(0x1<<10)   @将第10清0
STR R1,[R0]  @将修改后的数值写回@设置PE10为低速输出
LDR R0,=0x50006008   @指定寄存器地址
LDR R1,[R0]  @将寄存器原来的数值读取出来,保存到R1中
BIC R1,R1,#(0x3<<20)   @将第21:20清0
STR R1,[R0]  @将修改后的数值写回@设置无上拉下拉电阻 
LDR R0,=0x5000600C   @指定寄存器地址
LDR R1,[R0]  @将寄存器原来的数值读取出来,保存到R1中
BIC R1,R1,#(0x3<<20)   @将第21:20清0
STR R1,[R0]  @将修改后的数值写回@设置LED2亮
@设置PF10为输出  将GPIOF_MODER[21:20]设置为01,就能够让PF10为输出工作模式
LDR R0,=0x50007000   @指定寄存器地址
LDR R1,[R0]  @将寄存器原来的数值读取出来,保存到R1中
BIC R1,R1,#(0x3<<20)   @将第21:20清0
ORR R1,R1,#(0x1<<20)   @将第21:20设置为01
STR R1,[R0]  @将修改后的数值写回@设置PF10为推完输出  将GPIOF_OTYPER寄存器[10]设置为0,就能够让PF10以推挽输出模式进行工作
LDR R0,=0x50007004   @指定寄存器地址
LDR R1,[R0]  @将寄存器原来的数值读取出来,保存到R1中
BIC R1,R1,#(0x1<<10)   @将第10清0
STR R1,[R0]  @将修改后的数值写回@设置PF10为低速输出
LDR R0,=0x50007008   @指定寄存器地址
LDR R1,[R0]  @将寄存器原来的数值读取出来,保存到R1中
BIC R1,R1,#(0x3<<20)   @将第21:20清0
STR R1,[R0]  @将修改后的数值写回@设置无上拉下拉电阻 
LDR R0,=0x5000700C   @指定寄存器地址
LDR R1,[R0]  @将寄存器原来的数值读取出来,保存到R1中
BIC R1,R1,#(0x3<<20)   @将第21:20清0
STR R1,[R0]  @将修改后的数值写回@设置LED3亮
@设置PE8为输出  将GPIOE_MODER[17:16]设置为01,就能够让PE8为输出工作模式
LDR R0,=0x50006000   @指定寄存器地址
LDR R1,[R0]  @将寄存器原来的数值读取出来,保存到R1中
BIC R1,R1,#(0x3<<16)   @将第17:16清0
ORR R1,R1,#(0x1<<16)   @将第17:16设置为01
STR R1,[R0]  @将修改后的数值写回@设置PE8为推完输出  将GPIOE_OTYPER寄存器[8]设置为0,就能够让PE8以推挽输出模式进行工作
LDR R0,=0x50006004   @指定寄存器地址
LDR R1,[R0]  @将寄存器原来的数值读取出来,保存到R1中
BIC R1,R1,#(0x1<<8)   @将第8清0
STR R1,[R0]  @将修改后的数值写回@设置PE8为低速输出
LDR R0,=0x50006008   @指定寄存器地址
LDR R1,[R0]  @将寄存器原来的数值读取出来,保存到R1中
BIC R1,R1,#(0x3<<16)   @将第17:16清0
STR R1,[R0]  @将修改后的数值写回@设置无上拉下拉电阻 
LDR R0,=0x5000600C   @指定寄存器地址
LDR R1,[R0]  @将寄存器原来的数值读取出来,保存到R1中
BIC R1,R1,#(0x3<<16)   @将第17:16清0
STR R1,[R0]  @将修改后的数值写回loop:
@设置LED1亮BL LED1_ONBL LED2_OFFBL LED3_OFFBL DELAY@设置LED2亮BL LED1_OFFBL LED2_ONBL LED3_OFFBL DELAY
@设置LED3亮BL LED1_OFFBL LED2_OFFBL LED3_ONBL DELAYb loopLED1_ON:LDR R0,=0x50006014   @指定寄存器地址LDR R1,[R0]  @将寄存器原来的数值读取出来,保存到R1中ORR R1,R1,#(0x1<<10)   @将第10设置为1STR R1,[R0]  @将修改后的数值写回 MOV PC,LR
LED1_OFF:LDR R0,=0x50006014   @指定寄存器地址LDR R1,[R0]  @将寄存器原来的数值读取出来,保存到R1中BIC R1,R1,#(0x1<<10)   @将第10设置为0STR R1,[R0]  @将修改后的数值写回 MOV PC,LRLED2_ON:LDR R0,=0x50007014   @指定寄存器地址LDR R1,[R0]  @将寄存器原来的数值读取出来,保存到R1中ORR R1,R1,#(0x1<<10)   @将第10设置为1STR R1,[R0]  @将修改后的数值写回 MOV PC,LR
LED2_OFF:LDR R0,=0x50007014   @指定寄存器地址LDR R1,[R0]  @将寄存器原来的数值读取出来,保存到R1中BIC R1,R1,#(0x1<<10)   @将第10设置为0STR R1,[R0]  @将修改后的数值写回 MOV PC,LRLED3_ON:LDR R0,=0x50006014   @指定寄存器地址LDR R1,[R0]  @将寄存器原来的数值读取出来,保存到R1中ORR R1,R1,#(0x1<<8)   @将第8设置为1STR R1,[R0]  @将修改后的数值写回 MOV PC,LR
LED3_OFF:LDR R0,=0x50006014   @指定寄存器地址LDR R1,[R0]  @将寄存器原来的数值读取出来,保存到R1中BIC R1,R1,#(0x1<<8)   @将第8设置为0STR R1,[R0]  @将修改后的数值写回 MOV PC,LRDELAY:LDR R3,=0x10000000
MM:CMP R3,#0SUBNE R3,R3,#1BNE MMMOV PC,LR.end

点灯实现链接

video_20240320_183435-CSDN直播

相关文章:

ARM:汇编点灯

.text .global _start _start: 使能GPIOE和GPIOF的外设时钟 LDR R0,0x50000A28 指定寄存器地址 LDR R1,[R0] 将寄存器原来的数值读取出来&#xff0c;保存到R1中 ORR R1,R1,#(0x3<<4) 将第3/4位设置为1 STR R1,[R0] 将修改后的数值写回设置LED1亮 设置PE10为输出…...

69: 偷菜时间表(python)

收藏 难度&#xff1a;一般 标签&#xff1a;暂无标签 题目描述 随着“开心农场”等娱乐游戏风靡互联网&#xff0c;“偷菜”遂瞬间蹿红网络&#xff0c;席卷网民生活。 于是&#xff0c;“你‘偷’了吗”便成为大家见面的招呼语。很快&#xff0c;数百万都市白领成为“偷菜…...

【计算机视觉】三、图像处理——实验:图像去模糊和去噪、提取边缘特征

文章目录 0. 实验环境1. 理论基础1.1 滤波器&#xff08;卷积核&#xff09;1.2 PyTorch:卷积操作 2. 图像处理2.1 图像读取2.2 查看通道2.3 图像处理 3. 图像去模糊4. 图像去噪4.1 添加随机噪点4.2 图像去噪 0. 实验环境 本实验使用了PyTorch深度学习框架&#xff0c;相关操作…...

用css滤镜做颜色不同的数据卡片(背景图对于css滤镜的使用)

<template> <div class"xx_modal_maincon"><div class"xx_model_bt">履约起始日至计算日配额及履约情况</div><el-row><el-col :span"6"><div class"xx_modal_mod"><div class"mod…...

2024年第六届区块链与物联网国际会议(BIOTC 2024)即将召开!

2024年第六届区块链与物联网国际会议&#xff08;简称&#xff1a;BIOTC 2024&#xff09;将于2024 年 7 月 19 日至 21 日在日本福冈召开&#xff0c;旨在为来自行业、学术界和政府的研究人员、从业者和专业人士提供一个论坛&#xff0c;就研发区块链和物联网的专业实践进行交…...

Django动态路由实例

Django动态路由实例 先说需求&#xff1a; 比如我前端有两个按钮&#xff0c;点击按钮1跳转到user1的用户信息页面&#xff0c;按钮2跳转user2用户信息页面&#xff0c;但是他俩共用同一个视图层 直接上代码 路由层 urlpatterns [path(user/<str:username>/, views…...

基于Vue.js和D3.js的智能停车可视化系统

引言 随着物联网技术的发展&#xff0c;智能停车系统正逐渐普及。前端作为用户交互的主要界面&#xff0c;对于提供直观、实时的停车信息至关重要。 目录 引言 一、系统设计 二、代码实现 1. 环境准备 首先&#xff0c;确保您的开发环境已经安装了Node.js和npm。然后&…...

数据之王国:解析Facebook的大数据应用

引言 作为全球最大的社交媒体平台之一&#xff0c;Facebook拥有庞大的用户群体和海量的数据资源。这些数据不仅包括用户的个人信息和社交行为&#xff0c;还涵盖了广告点击、浏览记录等多方面内容。Facebook通过巧妙地利用这些数据&#xff0c;构建了强大的大数据应用系统&…...

前端小白的学习之路(ES6 一)

提示&#xff1a;关键字声明&#xff1a;let与const,长度单位&#xff1a;em与rem,vw与wh&#xff0c;解构赋值&#xff0c;箭头函数(简介) 目录 一、ES6介绍 二、let&const 1.let 1) 用 let 关键字声明的变量不能提前引用 2) 不允许重复声明变量 3) 可以产生块级作用…...

Linux CentOS 7.6安装Redis 6.2.6 详细保姆级教程

1、安装依赖 //检查是否有依赖 gcc -v //没有则安装 yum install -y gcc2、下载redis安装包 //进入home目录 cd /home //通过wget下载redis安装包 wget https://download.redis.io/releases/redis-6.2.6.tar.gz //解压安装包 tar -zxvf redis-6.2.6.tar.gz3、编译 //进入解压…...

Android 优化 - 数据结构

一、概念 数据结构&#xff1a;数据存储在内存中的顺序和位置关系&#xff0c;选择合适的数据结构能提高内存的利用率。 线性结构链表结构树形结构 二、线性结构 结构优点缺点数组数据呈线性排列&#xff0c;初始化时就要指定长度且无法更改&#xff0c;会开辟一块连续的内…...

Linux环境开发工具之vim

前言 上一期我们已经介绍了软件包管理器yum&#xff0c; 已经可以在linux上查找、安装、卸载软件了&#xff0c;本期我们来介绍一下文本编辑器vim。 本期内容介绍 什么是vim vim的常见的模式以及切换 vim命令模式常见的操作 vim底行模式常见的操作 解决普通用户无法执行sudo问…...

「Linux系列」Shell介绍及起步

文章目录 一、Shell简介二、Shell脚本三、Shell解释器四、相关链接 一、Shell简介 Shell本身是一个用C语言编写的程序&#xff0c;它既是一种命令语言&#xff0c;又是一种程序设计语言。作为命令语言&#xff0c;它交互式地解释和执行用户输入的命令&#xff1b;作为程序设计…...

用pdf2docx将PDF转换成word文档

pdf2docx是一个Python模块&#xff0c;可以将PDF文件转换为docx格式的Word文档。 pdf2docx模块基于Python的pdfminer和python-docx库开发&#xff0c;可以在Windows、Linux和Mac系统上运行。它可以从PDF文件中提取文本和图片&#xff0c;并将其转换成可编辑的Word文档&#xf…...

STM32U5 ADC 自校准不成功的问题分析

1、引言 很多 STM32 系列中的 ADC 都带有自校准的功能。它提供了一个自动校准的过程&#xff0c;用于驱动包括 ADC 上电/掉电序列在内的所有校准动作。在这个过程中&#xff0c;ADC 计算出一个校准因子&#xff0c;并在内部应用到此 ADC 模块&#xff0c;直到下一次 ADC 掉电。…...

使用光标精灵更换电脑鼠标光标样式,一键安装使用

想要让自己在使用电脑时更具个性化&#xff0c;让工作和娱乐更加愉快&#xff0c;改变你的电脑指针光标皮肤可能是一个简单而有效的方法。很多人或许并不清楚如何轻松地调整电脑光标样式&#xff0c;下面我就来分享一种简单的方法。 电脑光标在系统里通常只有几种默认图案&…...

微服务day04(上)-- RabbitMQ学习与入门

1.初识MQ 1.1.同步和异步通讯 微服务间通讯有同步和异步两种方式&#xff1a; 同步通讯&#xff1a;就像打电话&#xff0c;需要实时响应。 异步通讯&#xff1a;就像发邮件&#xff0c;不需要马上回复。 两种方式各有优劣&#xff0c;打电话可以立即得到响应&#xff0c;但…...

Halcon 3D 平面拟合(区域采样、Z值过滤、平面拟合、平面移动)

Halcon 3D 平面拟合(区域采样、Z值过滤、平面拟合、平面移动) 链接:https://pan.baidu.com/s/1UfFyZ6y-EFq9jy0T_DTJGA 提取码:ewdi * 1.读取图片 ****************...

npm 插件 中 版本号为 星号 是什么意思

npm 插件 中 版本号为 星号 是什么意思 "dependencies": {"hstool/side-adaptor": "*","hsui/core": "*","h_ui": "*" }, "devDependencies": {"plugin-jsx": "*","…...

Codeforces\ Round\ 930(C.Bitwise Operation Wizard)

C o d e f o r c e s R o u n d 930 ( C . B i t w i s e O p e r a t i o n W i z a r d ) \Huge{Codeforces\ Round\ 930(C.Bitwise Operation Wizard)} Codeforces Round 930(C.BitwiseOperationWizard) 文章目录 题意思路注意 标程 题目链接&#xff1a;[B.Bitwise Operati…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档&#xff1a;Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后&#xff0c;会在本地和远程创建数据库&#xff1a; npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库&#xff1a; 现在&#xff0c;您的Cloudfla…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享

文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的&#xff0c;根据Excel列的需求预估的工时直接打骨折&#xff0c;不要问我为什么&#xff0c;主要…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日&#xff0c;中天合创屋面分布式光伏发电项目顺利并网发电&#xff0c;该项目位于内蒙古自治区鄂尔多斯市乌审旗&#xff0c;项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站&#xff0c;总装机容量为9.96MWp。 项目投运后&#xff0c;每年可节约标煤3670…...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开&#xff0c;首…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录&#xff0c;不允许匿名访问&#xff0c;kefu只能访问/data/kefu目录&#xff0c;不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

日常一水C

多态 言简意赅&#xff1a;就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过&#xff0c;当子类和父类的函数名相同时&#xff0c;会隐藏父类的同名函数转而调用子类的同名函数&#xff0c;如果要调用父类的同名函数&#xff0c;那么就需要对父类进行引用&#…...

Vue 模板语句的数据来源

&#x1f9e9; Vue 模板语句的数据来源&#xff1a;全方位解析 Vue 模板&#xff08;<template> 部分&#xff09;中的表达式、指令绑定&#xff08;如 v-bind, v-on&#xff09;和插值&#xff08;{{ }}&#xff09;都在一个特定的作用域内求值。这个作用域由当前 组件…...