ARM--LED灯点亮

这篇具有很好参考价值的文章主要介绍了ARM--LED灯点亮。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 LED1,LED2,LED3亮灯

 .text 
 .global _start
 _start: 
	/**********LED1点灯--->PE10**************/

 /*初始化RCC章节*/
 @通过RCC_MP_AHB4ENSETR寄存器,使能GPIOs组控制器	0x500000A28[4] = 1
 RCC_INIT:
	@ E组和F组一起使能
	ldr r0,=0x50000A28		
	ldr r1,[r0]
	orr r1,r1,#(0x3 << 4)
	str r1,[r0]

 @输出,推挽,速率,上下拉
 LED1_INIT:
	@通过GPIOx_MODER寄存器设置PE10引脚的模式为输出 0x50006000[21:20] = 01
	ldr r0,=0x50006000
	ldr r1,[r0]
	bic r1,r1,#(0x3 << 20)
	orr r1,r1,#(0x1 << 20)
	str r1,[r0]

	@ PF10
	ldr r0,=0x50007000
	ldr r1,[r0]
	bic r1,r1,#(0x3 << 20)
	orr r1,r1,#(0x1 << 20)
	str r1,[r0]

	@ PE8
	ldr r0,=0x50006000
	ldr r1,[r0]
	bic r1,r1,#(0x3 << 16)
	orr r1,r1,#(0x1 << 16)
	str r1,[r0]
	
	@通过GPIOx_OTYPER寄存器设置PE10引脚为推挽输出类型 0x50006004[10] = 0
	ldr r0,=0x50006004
	ldr r1,[r0]
	and r1,r1,#(0x0 << 10)
	str r1,[r0]

	@ PF10
	ldr r0,=0x50007004
	ldr r1,[r0]
	and r1,r1,#(0x0 << 10)
	str r1,[r0]

	@ PE8
	ldr r0,=0x50006004
	ldr r1,[r0]
	and r1,r1,#(0x0 << 8)
	str r1,[r0]

	@通过GPIOx_OSPEEDR寄存器设置PE10引脚为低速率输出 0x50006004[21:20] = 00
	ldr r0,=0x50006008
	ldr r1,[r0]
	bic r1,r1,#(0x3 << 20)
	str r1,[r0]

	@ PF10
	ldr r0,=0x50007008
	ldr r1,[r0]
	bic r1,r1,#(0x3 << 20)
	str r1,[r0]

	@ PE8
	ldr r0,=0x50006008
	ldr r1,[r0]
	bic r1,r1,#(0x3 << 16)
	str r1,[r0]

	@通过GPIOx_PUPDR寄存器设置PE10引脚无上下拉 0x5000600C[21:20] = 00
	ldr r0,=0x5000600C
	ldr r1,[r0]
	bic r1,r1,#(0x3 << 20)
	str r1,[r0]

	@ PF10
	ldr r0,=0x5000700C
	ldr r1,[r0]
	bic r1,r1,#(0x3 << 20)
	str r1,[r0]

	@ PE8
	ldr r0,=0x5000600C
	ldr r1,[r0]
	bic r1,r1,#(0x3 << 16)
	str r1,[r0]


 loop:
	bl LED1_ON
	bl delay_1s
	bl LED1_OFF
	bl delay_1s
	bl LED2_ON
	bl delay_1s
	bl LED2_OFF
	bl delay_1s
	bl LED3_ON
	bl delay_1s
	bl LED3_OFF
	bl delay_1s
	bl loop


 LED1_ON:
	@通过GPIOx_ODR寄存器设置PE10引脚输出高电平
	ldr r0,=0x50006014
	ldr r1,[r0]
	orr r1,r1,#(0x1 << 10)
	str r1,[r0]
	mov pc,lr

 LED1_OFF:
    @通过GPIOx_ODR寄存器设置PE10引脚输出低电平
	ldr r0,=0x50006014
	ldr r1,[r0]
	and r1,r1,#(0x0 << 10)
	str r1,[r0]
	mov pc,lr

 LED2_ON:
	@通过GPIOx_ODR寄存器设置PF10引脚输出高电平
	ldr r0,=0x50007014
	ldr r1,[r0]
	orr r1,r1,#(0x1 << 10)
	str r1,[r0]
	mov pc,lr

 LED2_OFF:
    @通过GPIOx_ODR寄存器设置PF10引脚输出低电平
	ldr r0,=0x50007014
	ldr r1,[r0]
	and r1,r1,#(0x0 << 10)
	str r1,[r0]
	mov pc,lr

 LED3_ON:
	@通过GPIOx_ODR寄存器设置PE8引脚输出高电平
	ldr r0,=0x50006014
	ldr r1,[r0]
	orr r1,r1,#(0x1 << 8)
	str r1,[r0]
	mov pc,lr

 LED3_OFF:
    @通过GPIOx_ODR寄存器设置PE8引脚输出低电平
	ldr r0,=0x50006014
	ldr r1,[r0]
	and r1,r1,#(0x0 << 8)
	str r1,[r0]
	mov pc,lr


 @大概1s的延时函数
 delay_1s:
	mov r3, #0x10000000
	mm:
	cmp r3, #0
	subne r3, r3, #1
	bne mm
	mov pc, lr

 .end

ARM--LED灯点亮,arm开发,单片机,嵌入式硬件

 ARM--LED灯点亮,arm开发,单片机,嵌入式硬件

 ARM--LED灯点亮,arm开发,单片机,嵌入式硬件

ARM--LED灯点亮,arm开发,单片机,嵌入式硬件

 文章来源地址https://www.toymoban.com/news/detail-611557.html

到了这里,关于ARM--LED灯点亮的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【74HC595】51单片机(普中A2开发板)LED点阵屏点亮以及74HC595芯片的使用笔记

    纯小白写的文章,如有问题,欢迎评论区讨论,反驳,指正。 如果你只想了解74HC595如何使用,建议只看2.3。 通过查看普中A2开发板的原理图(图1)可以知道,通过P0(P0_0、P0_1…P0_7)口和DPa、DPb…DPh来控制哪一颗LED点亮。我这个开发板上的点阵模块没有按照他给的原理图上

    2024年02月05日
    浏览(86)
  • 51单片机(二)成功点亮LED

    ❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其是STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 :适用于想要从零基础开始学习入门单片机,且有一定C语言基础的的童鞋

    2023年04月25日
    浏览(48)
  • 单片机-控制按键点亮LED灯

    定义四个按键引脚  1、按键按下 为 输入为低电平 2、按键不按下 IO有上拉电阻,为高电平 // 定义 按键的 管教 sbit KEY1 = P3^1; sbit KEY2 = P3^0; sbit KEY3 = P3^2; sbit KEY4 = P3^3; LED 输出高电平为亮 // 定义LED灯 管教 sbit LED1 = P2^0; sbit LED2 = P2^1; sbit LED3 = P2^2; sbit LED4 = P2^3; 1、定义按键管教

    2024年02月10日
    浏览(45)
  • 如何使用单片机点亮LED灯,并使用按键控制[51单片机]

    首先先看一下我的板子,如果我们板子不相同,可能操作也不太相同 我们就不讲底层原理了,直接看,我们可以看到板子上有 8个LED灯   那这个8个LED用什么来控制呢,我们先看底层的线路图,所有的LEDD都连接到了P2带后缀的接口上, 那么只需要操作这几个接口的高低电频,

    2024年02月05日
    浏览(46)
  • 【51单片机】点亮第一个LED灯

    橙色 GPIO 概念 GPIO(general purpose intput output) 是通用输入输出端口的简称, 可以通过软件来控制其输入和输出。 51 单片机芯片的 GPIO 引脚与外部设备连接起来, 从而实现与外部通讯、 控制以及数据采集的功能。 不过 GPIO 最简单的应用还属点亮 LED 灯了, 只需通过软件控制

    2024年01月25日
    浏览(45)
  • 51单片机入门(2)LED点亮的背后

    上一节提到了51单片机开发环境的搭建,这节我们开始正式进入51单片机的学习——点亮LED。 所有的控制类芯片学习的第一个实践就是点亮LED,这是最简单、最基本的操作,但这个实现过程却可能攘括了单片机的整个工作流程,所以要想学好单片机,点灯实验是一定要掌握的

    2023年04月08日
    浏览(38)
  • 各款单片机点亮内置LED的入“坑“指南

    单片机(Microcontroller Unit, MCU)是一种集成了处理器核心、内存、输入/输出端口等多种功能于一体的微型计算机。几乎所有的单片机开发板都配备了至少一个内置的LED,通常用于简单的输出测试。本文将向您介绍几种流行的单片机如何点亮它们的内置LED。 Arduino是最受欢迎的单

    2024年02月22日
    浏览(35)
  • 【51单片机】点亮LED灯(四种形式)

    💖作者简介:大家好,我是泽奀。全栈领域新星创作者🥇  📝个人主页:weixin_52632755的博客_泽奀_CSDN博客 🎉点赞➕评论➕收藏 == 养成习惯 😋 💬本系列哔哩哔哩江科大51单片机的视频为主以及自己的总结梳理📚  https://blog.csdn.net/weixin_52632755/category_11316267.html 介绍两个比

    2023年04月13日
    浏览(41)
  • 51单片机——LED 点阵点亮一个点,小白详解

    LED点阵介绍:        LED点阵是由发光二极管排列组成的显示器件,在我们生活中的电器中随处可见,被广泛用于汽车报站器,广告屏等。         通常用用较多的是8*8点阵,然后使用多个8*8点阵组成不同分辨率的LED点阵显示屏,比如16*16点阵可以使用4个8*8点阵构成。因

    2024年02月09日
    浏览(46)
  • STM32/51单片机编程入门(点亮LED)

    目录 一、Proteus电路仿真软件上的C51程序设计及仿真 1.原理图绘制 2.Keil5上的51程序编写 3.仿真 二、安装mdk5软件和stm32包,完成一个stm32的简单程序 1.mdk5软件中编写程序 2.stm32仿真程序调试 三、STM32F103系列芯片的地址映射和寄存器映射原理,GPIO端口的初始化设置的一般步骤

    2024年02月02日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包