仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
LED.PNG (39.41 KB, 下載次數: 78)
下載附件
2020-9-27 23:42 上傳
單片機源程序如下:
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
void DelayMS(uint x)
{
uchar t;
while(x--)
{
for(t=0;t<120;t--);
}
}
void main()
{
uchar k,t,Key_State;
P0 = 0xff;
P1 = 0xff;
while(1)
{
t = P1;
{
DelayMS(10);
if(t != P1)
continue;
Key_State = ~t >> 4;
k = 0;
while(Key_State != 0)
{
k++;
Key_State >>= 1;
}
switch(k)
{
case 1: if(P0 == 0x00)
P0 = 0xff;
P0 <<= 1;
DelayMS(200);
break;
case 2: P0 = 0xf0;
break;
case 3: P0 = 0x0f;
break;
case 4: P0 = 0xff;
}
}
}
}
51hei.png (4.07 KB, 下載次數: 82)
下載附件
2020-9-28 01:29 上傳
全部資料51hei下載地址:
四組按鈕控制LED.zip
(10.26 KB, 下載次數: 18)
2020-9-27 23:42 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|