?? settime.c
字號:
#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
void dlms(void);
uchar kbscan(void);
void dlms(void)
{
uchar i;
for(i=200;i>0;i--)
{ }
}
uchar kbscan(void)
{
uchar sccode,recode;
P2=0xf0; //p0.0---p0.3發全0,p0.4--p0.7輸入
if((P2&0xf0)!=0xf0) //如果p0口高四位不全為1,有鍵按下
{ dlms(); //延時去抖動
if((P2&0xf0)!=0xf0) //重讀輸入值
{ sccode=0xfe; //最底位置0
while((sccode&0x10)!=0) //不到最后一行循環
{ P2=sccode; //p0口輸出掃描碼
if((P2&0xf0)!=0xf0) //如果p0.4--p0.7不全為1,該行有鍵按下
{ recode=P2&0xf0;
sccode=sccode&0x0f; //保留p0口高四位輸入值,低四位變為全1,作為列值
return(sccode+recode);
}
else
sccode=(sccode<<1)|0x01; //如該行無鍵按下,查下一行,行掃描值左移一位
}
}
}
return(0);
}
void Settime()
{
uchar keycode,number;
uchar i=0;
while(kbscan()!=0xb7)
{
keycode=kbscan();
number=Key_number(keycode);
if(number!=10&&number!=11&&number!=12&&number!=13&&number!=15)
{
led[i]=tab[number];
i++;
}
if(i==14)
{
i=0;
}
}
void main(void)
{ uchar key;
while(1)
{
key=kbscan();
dlms();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -