可以运用三种不同的原理进行操作,利用循环移位置1的方式;
又或者利用查表的方式;再或者依次执行置1.
单片机源程序如下:
- /*********************************************************************************
- * 【程序功能】:跑马灯,依次点亮LED灯,并且蜂鸣器发出声音;
- **********************************************************************************/
- #include <reg51.h>
- #define uchar unsigned char
- #define uint unsigned int
- sbit beep=P2^3;
- //八个LED灯依次被点亮的编码,1-8个表数组
- uchar table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//定义表数组
- //定义延时函数
- void delay(uint i)
- {
- uint j;
- uchar k;
- for(j=i;j>0;j--)
- for(k=125;k>0;k--);
- }
- void main()
- {
- while(1)
- {
- uchar m;
- for(m=0;m<8;m++)
- {
- P1=table[m];
- beep=~beep;
- delay(5000);
- }
- }
- }
复制代码
所有资料51hei提供下载:
3.流水灯.rar
(17.33 KB, 下载次数: 17)
|