ARM day4

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

1、实现LED1/LED2/LED3三盏灯循环点亮熄灭(统一上传链接,代码截图、实验现象图片)

.text 
.global _start
_start: 
	/**********LED1点灯**************/
/*初始化RCC章节*/
RCC_INIT:
	@通过RCC_MP_AHB4ENSETR寄存器,使能GPIOE组控制器
	LDR R0,=0X50000A28
	LDR R1,[R0]
	ORR R1,R1,#(0X1 << 4)
	STR R1,[R0]
	
	LDR R2,=0X50000A28
	LDR R3,[R2]
	ORR R3,R3,#(0X1 << 5)
	STR R3,[R2]

LED1_INIT:
	@通过GPIOE_MODER寄存器设置PE10引脚为输出模式
	LDR R0,=0X50006000
	LDR R1,[R0]
	ORR R1,R1,#(0X1 << 20)
	BIC R1,R1,#(0X1 << 21)
	STR R1,[R0]

	LDR R2,=0X50007000
	LDR R3,[R2]
	ORR R3,R3,#(0X1 << 20)
	BIC R3,R3,#(0X1 << 21)
	STR R3,[R2]

	LDR R0,=0X50006000
	LDR R1,[R0]
	ORR R1,R1,#(0X1 << 16)
	BIC R1,R1,#(0X1 << 17)
	STR R1,[R0]

	@通过GPIOE_OTYPER寄存器设置PE10引脚为推挽输出类型
	LDR R0,=0X50006004
	LDR R1,[R0]
	BIC R1,R1,#(0X1 << 10)
	STR R1,[R0]

	LDR R2,=0X50007004
	LDR R3,[R2]
	BIC R3,R3,#(0X1 << 10)
	STR R3,[R2]

	LDR R0,=0X50006004
	LDR R1,[R0]
	BIC R1,R1,#(0X1 << 8)
	STR R1,[R0]

	@通过GPIOE_OSPEEDR寄存器设置PE10引脚为低速输出
	LDR R0,=0X50006008
	LDR R1,[R0]
	BIC R1,R1,#(0X1 << 20)
	BIC R1,R1,#(0X1 << 21)
	STR R1,[R0]

	LDR R2,=0X50007008
	LDR R3,[R2]
	BIC R3,R3,#(0X1 << 20)
	BIC R3,R3,#(0X1 << 21)
	STR R3,[R2]

	LDR R0,=0X50006008
	LDR R1,[R0]
	BIC R1,R1,#(0X1 << 16)
	BIC R1,R1,#(0X1 << 17)
	STR R1,[R0]

	@通过GPIOE_PUPDR寄存器设置PE10引脚禁止上下拉电阻
	LDR R0,=0X5000600C
	LDR R1,[R0]
	BIC R1,R1,#(0X1 << 20)
	BIC R1,R1,#(0X1 << 21)
	STR R1,[R0]

	LDR R2,=0X5000700C
	LDR R3,[R2]
	BIC R3,R3,#(0X1 << 20)
	BIC R3,R3,#(0X1 << 21)
	STR R3,[R2]

	LDR R0,=0X5000600C
	LDR R1,[R0]
	BIC R1,R1,#(0X1 << 16)
	BIC R1,R1,#(0X1 << 17)
	STR R1,[R0]

LED_ON:
	@通过GPIOE_ODR寄存器设置PE10引脚输出高电平
	LDR R0,=0X50006014
	LDR R1,[R0]
	ORR R1,R1,#(0X1 << 10)
	STR R1,[R0]
	bl delay_1s

	LDR R2,=0X50007014
	LDR R3,[R2]
	ORR R3,R3,#(0X1 << 10)
	STR R3,[R2]
	bl delay_1s

	LDR R0,=0X50006014
	LDR R1,[R0]
	ORR R1,R1,#(0X1 << 8)
	STR R1,[R0]
	bl delay_1s

LED1_OFF:
	@通过GPIOE_ODR寄存器设置PE10引脚输出低电平
	LDR R0,=0X50006014
	LDR R1,[R0]
	BIC R1,R1,#(0X1 << 10)
	STR R1,[R0]
	bl delay_1s

	LDR R2,=0X50007014
	LDR R3,[R2]
	BIC R3,R3,#(0X1 << 10)
	STR R3,[R2]
	bl delay_1s

	LDR R0,=0X50006014
	LDR R1,[R0]
	BIC R1,R1,#(0X1 << 8)
	STR R1,[R0]
	bl delay_1s
	b LED_ON
@ 大概1s的延时函数
delay_1s:
	mov r3, #0x10000000
	mm:
	cmp r3, #0
	subne r3, r3, #1
	bne mm
	mov pc, lr

.end

led

2、思维导图

ARM day4,arm开发

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

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

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

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

相关文章

  • 【驱动开发day4作业】

    头文件代码  应用层代码  驱动代码

    2024年02月15日
    浏览(37)
  • arm day 9

    设置按键中断,按键1按下,LED亮,再按一次,灭,按键2按下,蜂鸣器响。再按一次,不响,按键3按下,风扇转,再按一次,风扇停。 main.c key_it.c do_irq.c key_it.h

    2024年02月08日
    浏览(40)
  • ARM Day2

    目录 实现1-100的累加 思维导图

    2024年02月07日
    浏览(39)
  • day49 ARM

    2024年02月07日
    浏览(33)
  • arm: day8

    1.中断实验:按键控制led灯 流程: key.h key.c do_lrq.c main.c

    2024年02月11日
    浏览(33)
  • arm:day7

    1.软中断处理    

    2024年02月12日
    浏览(39)
  • ARM day1

    ARM可以工作的七种模式 用户、系统、快中断、中断、管理、终止、未定义 ARM核的寄存器个数 37个32位长的寄存器,当前处理器的模式决定着哪组寄存器可操作,且任何模式都可以存取: PC(program counter程序计数器)+ CPSR(current program status register当前程序状态寄存器)+ 5*SPSR(saved

    2024年01月16日
    浏览(40)
  • arm:day6

    实现UART通信: 1.键盘输入一个字符\\\'a\\\',串口工具显示\\\'b\\\'  2.键盘输入一个字符串\\\"nihao\\\",串口工具显示\\\"nihao\\\" uart.h uart4.c main.c

    2024年02月12日
    浏览(30)
  • arm:day9

    1。思维导图  2..I2C实验,检测温度和湿度 iic.h si7006.h iic.c si7006.c main.c  

    2024年02月10日
    浏览(43)
  • 嵌入式:驱动开发 Day4

    驱动程序:myled.c 应用程序:test.c 头文件:head.h

    2024年02月09日
    浏览(49)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包