这是我先前编写的:独立按键K3,K4,K5:按下K3按键LED灯由LED1到LED8流水,按下K4按键LED灯由LED8到LED1流水,按下K5按键流水停止;
电路原理图如下:
单片机源程序如下:
- #include<reg51.h>
- #include<intrins.h>
- typedef unsigned int uint;
- typedef unsigned char uchar;
- sbit k3=P3^5;
- sbit k4=P3^4;
- sbit k5=P3^3;
- uchar count;
- void delays(uint x)
- {
- uint i,j;
- for(i=x;i>0;i--)
- for(j=120;j>0;j--);
- }
- void keypros()
- {
- if(k3==0)
- {
- delays(10);
- if(k3==0)
- {
- while(!k3);
- for(count=0;count<10000;count++)
- {
- P1=_crol_(P1,1);
- delays(200);
- if(k4==0)break;
- if(k5==0)break;
-
- }
- }
- }
- if(k4==0)
- {
- delays(10);
- if(k4==0)
- {
- while(!k4);
- for(count=0;count<10000;count++)
- {
- P1=_cror_(P1,1);
- delays(200);
- if(k3==0)break;
- if(k5==0)break;
-
- }
- }
- }
- }
- void main()
- {
- P1=0xfe;
- while(1)
- {
- keypros();
- }
- }
复制代码
所有资料51hei提供下载:
实验二.zip
(7.04 KB, 下载次数: 22)
|