51单片机 利用定时器0和定时器1制作成的条形LED流水灯
51单片机 利用定时器0和定时器1制作成的条形LED流水灯
本实例是通过利用了2个定时器,通过设置不同的计数时间,来实现不同间隔时间下的流水灯效果。
- Proteus仿真

- Proteus器件列表

实例代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| #include <reg52.h> #include <intrins.h> #define uchar unsigned char #define uint unsigned int uchar tc0 = 0,tc1 = 0;
void main() { P0 = 0xfe; P2 = 0xfe; TMOD = 0x11; TH0 = (65535-15000)/256; TL0 = (65535-15000)%256; TH1 = (65535-15000)/256; TL1 = (65535-15000)%256; IE = 0x8a; TR0 = 1; TR1 = 1; while(1); }
void Time0() interrupt 1 { TH0 = (65535-15000)/256; TL0 = (65535-15000)%256; if(++tc0 == 10) { tc0 = 0; P0 = \_crol\_(P0,1); } }
void Time1() interrupt 3 { TH0 = (65535-15000)/256; TL0 = (65535-15000)%256; if(++tc1 == 10) { tc1 = 0; P2 = \_crol\_(P2,1); } }
|
程序源码和仿真资源
1 2 3
| 链接:https://pan.baidu.com/s/1ZIrRH4FYesJgW2dOUcyTrQ 提取码:eqlo
|
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!