本帖最后由 LoveAmanda 于 2024-6-29 09:42 编辑
第2个视频:
1、万能的点灯=Hello World,LED的闪烁能充分证明你能把开发板、开发环境、编程语言结合起来了,你已经迈入了MCU的门内,至于内部的天马行空就需要你细细品味,慢慢钻研了;
2、Keil软件各种功能的熟练使用能为软件开发提高效率,stc-isp的功能强大,里面不仅仅是下载代码的工具,还支持串口,can,USB等调试助手,甚至常用的软件例程也有,让大家可以省掉很多基础代码的编写,等后续继续学习的时候可以多多关注;
3、计算机基础知识,如进制转换,整形数,浮点数,字符数等都需要提前了解,这样在编程过程中才能更好的理解;其次微型计算机或MCU内部的基本架构由什么组成,充当什么角色,有什么作用。
以下是汇编代码,P1.0的LED闪烁功能
- ORG 0000H ;程序执行的起始地址
- LJMP Main ;跳转到main函数
-
-
- ORG 0100H ;程序跳转到0100H开始执行
- Main:
- MOV P1M0,#00H ;IO引脚配置
- MOV P1M1,#00H
- While:
- CLR P1.0 ;P1.0=0
- LCALL Delay1s ;延时1s
- SETB P1.0 ;P1.0=1
- LCALL Delay1s ;延时1s
- LJMP While
-
- Delay1s: ;修改R5的值即可更改时间(不精准)
- MOV R5, #08H ;单周期,8次 t0=8*125000=1s
- D3: ;t1=t2*250=500*250=125000
- MOV R6, #0FAH
- D4:
- MOV R7, #0FAH ;t2=250*2=500
- D5:
- DJNZ R7, D5 ;R7=250自减,直到为0跳出循环,双周期
- DJNZ R6, D4 ;R6=250自减,直到为0跳出循环,双周期
- DJNZ R5, D3 ;R5=100自减,直到为0跳出循环,双周期
- RET
-
- END
-
复制代码
|