key4x4._h
来自「此为4*4扩展键盘程序」· _H 代码 · 共 61 行
_H
61 行
//延时
void s_ms(unsigned int t)
{
for(;t>1;t--)
{
}
}
//读取键盘
//PC口作为键盘输入
unsigned char key_value()
{
unsigned char tem1,tem2,rem,i ;
rem=0 ;
//不清零会返回一个不可预知的数
DDRC=0xf0 ;
//c口高四位输出 低四位输入
PORTC=0x0f ;
//输入有上拉电阻
s_ms(30);
tem1=PINC ;
//读取端口c
tem1=tem1&0x0f ;
//判断是否有键被按下
if(tem1!=0x0f)
{
s_ms(800);
//延时
tem2=PINE ;
//读取端口c
tem2=tem2&0x0f ;
//判断是否为干扰
if(tem1==tem2)
{
DDRC=0x0f ;
//c口高四位输入 低四位输出
PORTC=0xf0 ;
//反相输出
s_ms(1);
//换向后要延时
rem=PINC ;
//读取端口c
rem=rem&0xf0 ;
//取高四位
rem=rem+tem1 ;
//合并
rem=~rem ;
//反向输出
//判断按键是否被释放
do
{
PORTC=0xf0 ;
s_ms(3000);
}
while(PINC!=0xf0);
}
}
s_ms(6000);
s_ms(6000);
return(rem);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?