📄 head.c
字号:
#include <reg51.H>
#define Frequence 11 //晶振频率单位是MHZ
#define XIAODOU_DELAY 6 //消抖延时
#define SCAN_V_DEFAULT 0x2c //缺省扫描速率
#define DELAY 24 //发送程序延时??12 or 10?
#define SLEEP 12 //发送程序延时
#define TIMER_COUNT 3500
sbit KBDATA=P3^0; //键盘时钟线
sbit KBCLK=P3^1; //键盘数据线
sbit KBSHIFT=P3^4; //键盘输入选择键
//**************dat.c***************//
unsigned char buf_length(); //返回缓冲区数据个数
void clr_buf(void); //清键盘缓冲区
void del_head(); //删除缓冲区头
unsigned char exist(unsigned char);
//检查键盘缓冲区中是否有与参数相等数,有则返回位置,无则返回255
unsigned char get_head(); //取键盘缓冲区头,头指针不变
unsigned char get_head_f();
//取缓冲区头对应标记,标记为0表示对应键已经松下
bit insert(unsigned char,unsigned char);
//插入缓冲区,并设置对应标记,成功则返回1
void set_flag(unsigned char); //设置缓冲区对应标记
//bit emputy(); //检查键盘缓冲区是否空,是返回1
//unsigned char get_end();//取键盘缓冲区尾,尾指针不变
//***************protocol.c***************//
void set_scan_v(unsigned char); //设置扫描速度(拍发速率、延迟时间)
void set_default(); //设置缺省值
bit parity(); //计算奇偶校验值
void delay();//reentrant //延时24us
void sleep(); //延时16us
unsigned char receive(void); //接收子函数
bit send(unsigned char ); //发送子函数
void receive_v();
void re_send();
void receive_led();
void receive_process();
//自己添加的函数
void reset(); //软件复位
bit command_s(); //键盘命令检查,有命令要接受返回1
bit bat(void); //基本保证测试无错误返回0,有错返回1
void ini_timer1(); //定时器初始化
void set_timer1(); //复位定时器1
void close_timer1();
void timer1_isr(void);
void ini_timer0(); //定时器0初始化
void set_timer0(); //复位定时器0
//void close_timer0();
void timer0_isr(void);
//*************send.c***************//
bit send_code(unsigned char _KeyNo,bit flag);
//发送按键扫描码,flag=0发送断开码,flag=1发送接通码
void send_buf(); //发送缓冲区扫描码
//***************main_t.c***************//
unsigned char scankb(unsigned char );//扫描第N行,返回列值
void scan(void);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -