×
单片机 > 单片机程序设计 > 详情

51例程---跑马灯

发布时间:2024-06-01 发布时间:
|

原理分析:什么是跑马灯


(1)跑马灯和流水灯非常像,不同的是:流水灯是8颗LED其中7灭1亮,亮的在移动;跑马灯是8颗LED7亮1灭,灭的在移动。

01111111 0x7f 10000000

10111111 0xbf 01000000

11011111 0xdf 00100000


(2)编程实现跑马灯,必须用到C语言的2种技巧:左移(右移)、按位取反;

C语言中~这个符号表示对一个数字按位取反,譬如一个数01111111按位取反后变成了10000000。而11011111按位取反后变成了00100000相反 01 左移


例程:


#include


void delay(void)

{

unsigned char i = 100;

unsigned char j = 100;

while(i--)

{

while(j--);

}

} //延时函数


void main(void)

{

unsigned char i = 0;

unsigned char initial_value = 0x80;

while(1)

{

for(i = 0; i < 8; i++)

{

P0 = ~(initial_value>>i);

delay();

}


}


}



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
采用AT89C2051的数字可调稳压电源单片机源程序