版主
主题
回帖0
积分38239
阅读权限200
注册时间2009-11-23
最后登录1970-1-1
在线时间 小时
|
- #include <REGX51.H>
- #define LED P1
- sbit KEY = P3^0; //按键,用于切换方向
- unsigned char lightcode[9]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //LED逐个点亮的代码
- bit flag = 0; //用于标志流水灯方向
- void delay(unsigned int delaynms) //延时
- {
- unsigned int i,j;
- for(i=0;i<delaynms;i++)
- {
- for(j=0;j<110;j++)
- {
- ;
- }
- }
- }
- void keyscan(void)
- {
- if(KEY==0)
- {
- delay(1);
- if(KEY==0)
- {
- flag=~flag;
- }
- }
- }
- int main(void)
- {
- unsigned char display=0; //用于查表
- while(1)
- {
- keyscan();
- if(flag==0) //标志位判断
- {
- display++;
- if(display>8)
- {
- display=1;
- }
- }
- else
- {
- display--;
- if(display==0)
- {
- display=8;
- }
- }
- LED=lightcode[display]; //送显
- delay(100); //延时
- }
- }
复制代码 |
|