?? 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 + -