📄 1797 03 head
字号:
#include <reg51.H>
#define Frequence 11 //晶振频率单位是MHZ
#define XIAODOU_DELAY 6*Frequence/6 //消抖延时
#define SCAN_V_DEFAULT 0x2c //缺省扫描速率
#define DELAY 10*Frequence/6 //发送程序延时
#define SLEEP 8*Frequence/6 //发送程序延时
sbit Row16=P3^6;
sbit Row17=P3^7;
sbit scroll_led=P3^2;
//sbit scroll_led=P3^3;
sbit num_led=P3^4;
sbit caps_led=P3^5;
sbit KBCLK=P3^0; //键盘时钟线
sbit KBDATA=P3^1; //键盘数据线
bit bat(void); //基本保证测试无错误返回0,有错返回1
unsigned char buf_length(); //返回缓冲区数据个数
bit command_s(); //键盘命令检查,有命令要接受返回1
void clr_buf(void); //清键盘缓冲区
void del_head(); //删除缓冲区头
unsigned char exist(unsigned char);
//检查键盘缓冲区中是否有与参数相等数,有则返回位置,无则返回255
//bit emputy(); //检查键盘缓冲区是否空,是返回1
unsigned char get_head(); //取键盘缓冲区头,头指针不变
unsigned char get_head_f();
//取缓冲区头对应标记,标记为0表示对应键已经松下
bit insert(unsigned char,unsigned char);
//插入缓冲区,并设置对应标记,成功则返回1
void ini_timer01(); //定时器初始化
void receive_process(); //接收键盘命令并处理
void reset(); //软件复位
unsigned char scankb(unsigned char); //扫描第N行,返回列直
void send_buf(); //发送缓冲区扫描码
bit send_code(unsigned char _KeyNo,bit flag);
//发送按键扫描码,flag=0发送断开码,flag=1发送接通码
bit send(unsigned char); //发送数据
void set_default(); //设置缺省值
void set_timer1(); //复位定时器1
void set_scan_v(unsigned char); //设置扫描速度(拍发速率、延迟时间)
void set_flag(unsigned char); //设置缓冲区对应标记
void set_led(unsigned char); //设置LED
void secret(unsigned char);
void scan(void);
unsigned char get_end();
bit emputy(void);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -