⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ps2_m16.h

📁 用单片机ATMEGA16写的PS2键盘驱动程序
💻 H
字号:
/*******************************************************************
 模块功能:PS2键盘解码模块
 硬件环境: ATMEGA16, 外部7.3728MHz晶振
 软件环境:ICCAVR 6.31
 版本日期:V1.0  (2007.12.25)
 作    者:TOM
 备    注:
*******************************************************************/
#ifndef __PS2_M16_H
#define __PS2_M16_H

#include <iom16v.h>
#include <macros.h>

#include "Delay.h"
#include "Lcd7920.h"
#include "PS2_Code.h"

/* 定义PS2时钟端口 */
#define PS2CLKPIN PIND       
#define PS2CLKPORT PORTD
#define PS2CLKDDR DDRD

/* 定义PS2数据端口 */
#define PS2DATAPORT_PIN PIND 
#define PS2DATADDR DDRD
#define	PS2_DATA     1      
#define	PS2_CLK	     3  

#define PS2KEYROWMAX 59
#define PS2KEYCOLMAX 2

extern unsigned char UnShifted[PS2KEYROWMAX][PS2KEYCOLMAX]; /* 没有按下{shift}的键值表 */
extern unsigned char Shifted[PS2KEYROWMAX][PS2KEYCOLMAX];   /* 按下{shift}的键值表 */

extern unsigned char cKeyIn;           /* 键值 */
extern unsigned char cDisNum ;         /* 显示用指针 */
extern unsigned char iBitCount ;       /* 中断次数计数
unsigned char flg_AllKeyIN = 0;        /* 已收到整个字符标志 */

extern unsigned char flg_AllKeyIN;     /* 已收到整个字符标志 */
extern unsigned char flg_KeyDown;      /* 键按下标识,1-->按下 */
extern unsigned char flg_Shift;        /* Shift键按下标识 */
extern unsigned char cCaps;            /* CapsLock状态 */


void PS2Port_Ini(void);                   /* PS2端口初始化 */
void Int1_Ini(void);                      /* 中断1初始化 */
void Int1_ISR(void);                      /* 中断1中断入口函数 */
void PS2_Decode(unsigned char ScanCode);  /* 取得PS2键盘的键值 */


#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -