这是我做的独立按键控制流水灯
(1)每按一次独立按键点亮1个LED灯,计算按下按键次数。8个LED灯全亮后,再按按键全灭。回到最初状态重新开始计算按键次数。
电路原理图如下:
单片机源程序如下:
- #include<reg51.h>
- #include<intrins.h>
- typedef unsigned int uint;
- typedef unsigned char uchar;
-
- sbit k3=P3^5;
- uchar count,a;
- uchar sz[9]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0xff};
- 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=sz[a];
- a++;
- delays(10);
- if(a==9)
- {
- a=0;
- }
- break;
- }
- }
- }
- }
- void main()
- {
- a=0;
- P1=0xff;
- while(1)
- {
- keypros();
- }
- }
复制代码 所有资料51hei提供下载:
实验一.zip
(17.47 KB, 下载次数: 56)
|