ldr r0, =1<<1 //设置第四颗灭
ldr r1, =GPD0DAT
str r0, [r1]
bl delay
ldr r0, =1<<3 | 0<<4 | 1<<5 //设置第二颗LED亮,第一、三颗灭
ldr r1, =GPJ0DAT
str r0, [r1]
ldr r0, =1<<1 //设置第四颗灭
ldr r1, =GPD0DAT
str r0, [r1]
bl delay
ldr r0, =1<<3 | 1<<4 | 0<<5 //设置第三颗LED亮,第一、二颗灭
ldr r1, =GPJ0DAT
str r0, [r1]
ldr r0, =1<<1 //设置第四颗灭
ldr r1, =GPD0DAT
str r0, [r1]
bl delay
ldr r0, =1<<3 | 1<<4 | 1<<5 //设置第一、二、三颗灭
ldr r1, =GPJ0DAT
str r0, [r1]
ldr r0, =0<<1 //设置第四颗亮
ldr r1, =GPD0DAT
str r0, [r1]
bl delay
b flash //调到循环开始处
delay: //延时函数
ldr r2, =9000000
ldr r3, =0x0
delay_loop:
sub r2, r2, #1 //r2 = r2 -1
cmp r2, r3 // cmp会影响Z标志位,如果r2等于r3则Z=1,下一句中eq就会成立
bne delay_loop //r2 r3 如果不相等,就跳转到delay_loop
mov pc, lr
总结一下编程操控一个硬件的步骤:
1、分析硬件工作原理
2、分析原理图
3、分析数据手册
4、找到相对应的SFR
5、编码
6、烧录运行
上一篇:嵌入式开发学习(6)
下一篇:最后一页
设计资源 培训 开发板 精华推荐
- Melexis与吉利携手共创汽车照明设计新纪元
- 尼得科驱动(CT)推出五年质保服务
- 意法半导体Web工具配合智能传感器加快AIoT项目落地
- 兆易创新选择 Arteris产品用于开发 符合增强型 FuSa 标准的下一代汽车 SoC
- ROHM开发出适合高分辨率音源播放的MUS-IC™系列第2代音频DAC芯片
- 贸泽开售适用于AI和机器学习应用的 AMD Versal AI Edge VEK280评估套件
- 触觉行业论坛 (HIF) 发布提案征集,推进通用触觉API 的触觉基元标准化
- Imagimob的边缘AI解决方案现已用于AURIX™产品系列
- 国内首家:纳芯微CAN收发器NCA1044-Q1全面通过IBEE/FTZ-Zwickau EMC认证
- 安森美Hyperlux图像传感器将用于斯巴鲁新一代集成AI的EyeSight系统