独立按键控制流水灯
- #include<reg51.h>
- #define uint unsigned int
- #define uchar unsigned char
- #define key P3
- uchar code table[]={0xff,0x7e,0xbd,0xdb,0xe7};
- void delay(uint z)
- {
- uint x,y;
- for(x=z;x>0;x--)
- for(y=114;y>0;y--);
- }
- void sl()
- {
- char i;
- P2=0xff;
- for(i=0;i<8;i++)
- {
- P2=~(0x01<<i);
- delay(1000);
- }
- }
- void nl()
- {
- char i;
- P2=0xff;
- for(i=0;i<8;i++)
- {
- P2=~(0x80>>i);
- delay(1000);
- }
- }
- void zjl()
- {
- char i;
- P2=0xff;
- for(i=1;i<5;i++)
- {
- P2=table[i];
- delay(1000);
- }
- }
- void lbl()
- {
- char i;
- P2=0xff;
- for(i=5;i>0;i--)
- {
- P2=table[i];
- delay(1000);
- }
- }
- void main()
- {
- P2=0xff;
- P3=0xff;
- switch(key)
- {
- case 0xfb:sl();P2=0xff;break;
- case 0xf7:nl();P2=0xff;break;
- case 0xef:zjl();P2=0xff;break;
- case 0xdf:lbl();P2=0xff;break;
- default:break;
- }
- }
复制代码
仿真及全部代码打包下载:
lsd.rar
(33.67 KB, 下载次数: 25)
|