📄 irqkeyread.c
字号:
#include<reg51.h>
#include<intrins.h>
#include"ch451.h"
//#include"LEDDisplay.c"
//sbit CH451_DOUT=P3^3;
uint ReadCh451()
{
uchar i;
uchar cmd ,keycode;
EA=1;
EX1=0;
cmd=0x07;
CH451_LOAD=0;
for(i=0;i<4;i++)
{
if((cmd&0x1)==1)
CH451_DIN=1;
else
CH451_DIN=0;
CH451_DCLK=0;
cmd>>=1;
CH451_DCLK=1;
}
CH451_LOAD=1;
keycode=0;
for(i=0;i<7;i++)
{
keycode<<=1;
keycode|=CH451_DOUT;
CH451_DCLK=0;
CH451_DCLK=1;
}
IE=0; //清除中断标志
EX1=1;
return(keycode);
}
void IRQKeyRead() interrupt 2
{
uchar key;
uchar key0,key1;
key=ReadCh451();
key0=key/10;
key1=key%10;
if(key0!=0)
LEDDisplay(0,CH451_DIG1|key0);
else
LEDDisplay(0,CH451_DIG1|0x10);
LEDDisplay(0,CH451_DIG0|key1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -