八位数码管+流水灯(有BSP版本)
上一节
下一节
“八位数码管+流水灯”案例程序设计说明
1 工程文件下载:
请参照10.6 10.7 10.8讲座进行BSP相关内容的学习。
2 程序设计流程图
![]()

3 相关寄存器设置
P0(8位)和P2.3需要设置成推挽输出,以驱动电路正常发光。涉及寄存器及配置值如下:
P2M1=0x00;
P2M0=0xff;
P0M1=0x00;
P0M0=0xff;
4 程序设计框架
4.1 void main()
(1) 利用for循环,不断扫描数码管,达到一直亮的状态。
(2) 循环扫描点亮led灯时,注意如果延时时间太短,则无法分辨出led从左至右逐个点亮;如果时间过长,则数码管显示会有影响。
因此,点亮led灯需采用计数的方式,到达某一固定时间时,改变P0的值,使其从左至右逐个亮起。
4.2 void delay_ms(uint n)
延时函数

