📄 ch451_ad键盘查询.c
字号:
#include<reg51.h>
#define CH451_SYSOFF 0x0402 //设定系统参数,开显示,关键盘
#define CH451_RESET 0X0201 //设定复位
#define CH451_KEY 0x07ff //读取键码
unsigned char keycode,num; //定义存放采样数据的寄存器
sbit dout=P1^3;
sbit dclk=P1^0;
sbit din=P1^1;
sbit load=P1^2;
void write(unsigned int order);
void ch451_read();
main()
{
din=1; //通知CH451使能四个串行口
din=0;
din=1;
num=0;
write(CH451_RESET); //设定复位
write(CH451_SYSOFF); //设定系统参数
while(1)
{ ch451_read();
if(keycode==0x40)
{ num++;
keycode=0xff;}
}
}
void write(unsigned int order) //数据输入到CH451子程序
{
unsigned int i;
load=1;
for(i=0;i<12;i++)
{
din=order&1;
dclk=0;
order=order>>1;
dclk=1;
}
load=0;
load=1;
}
void ch451_read()
{ unsigned int i;
load=1;
while(dout==1);
write(CH451_KEY);
load=1;
load=0;
load=1;
keycode=0x00;
for(i=0;i<6;i++)
{
keycode=keycode|(unsigned char)dout;
keycode=keycode<<1;
dclk=1;
dclk=0;
}
keycode=keycode|(unsigned char)dout;
for(i=0;i<42500;i++);
din=1; //通知CH451使能四个串行口
din=0;
din=1;
dout=1;
write(CH451_RESET); //设定复位
write(CH451_SYSOFF); //设定系统参数
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -