购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.2 双向来回的流水灯

STC15的P1分别连接8只LED的阴极,LED的阳极则通过限流电阻连接VCC。程序运行时LED上下双向循环滚动点亮,产生走马灯效果。双向来回的流水灯电路如图3-3所示。

图3-3 双向来回的流水灯电路

1. 程序设计与调试

仿真电路中8只LED的阳极通过限流电阻接VCC,阴极逐一直接连接P1,将P1初值设为0xFE(11111110)时,将使P1.0连接的第0只LED点亮。当11111110向左循环移位时,可使8只LED形成循环走马灯效果。循环左移由函数_crol_完成,要注意添加头文件intrins.h。

另外,为实现更大延时,本案例程序先使用STC-ISP工具生成1ms延时函数Delay1ms(),然后定义void delay_ms(u16 x),并在其内部循环调用Delay1ms()。由于本例delay_ms的参数是u16,其延时参数取值可为1~65 535。

2. 实训要求

① 将LED改用阳极连接P1,仍实现走马灯效果。

② 将8只LED改接到其他端口,重新设计程序实现同样的功能。 rC8mHllf4KYMFY5acTKfM9lY0gd9S0m66XC6w13lNv7FNuAlVRHnlrHSAW2EP4Z7

3. 源程序代码

点击中间区域
呼出菜单
上一章
目录
下一章
×