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

📄 pic_set.h

📁 PS2 读取键盘数具,非常好的一个软件PCB
💻 H
字号:
#include <PIC.h>
#include <STDLIB.h>
__CONFIG(XT&WDTDIS&PWRTEN&BORDIS&LVPDIS&MCLRDIS&UNPROTECT); //ok
//__CONFIG(XT&WDTDIS&PWRTEN&BORDIS&LVPDIS&MCLREN&UNPROTECT);  //debugger
__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);
__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);
__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);
__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);
__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);
__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);
__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);
__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);
__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);
__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);
__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);
__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);
__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);
__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);
__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);
__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);__EEPROM_DATA(0, 0, 0, 0, 0, 0, 0, 0);

static  volatile unsigned char	INDF    @ 0x00;
#define BYTE    unsigned char
#define UINT8   unsigned char

//...........................引脚定义
#define KEYBORADMOUSE		    RA1     
#define KEYBORADMOUSE_DIR	    TRISA1  
#define KEYBORADMOUSEVCC		RA0       //1:KEYBORAD 0:MOUSE
#define KEYBORADMOUSEVCC_DIR	TRISA0

#define BUTGND		    	   RA2     
#define BUTGND_DIR	    	   TRISA2  
#define BUTVCC		    	   RA3     
#define BUTVCC_DIR	    	   TRISA3
#define BUTTON		    	   RA4     
#define BUTTON_DIR	    	   TRISA4

#define LED_STAUTS	           RB2
#define LED_STAUTS_DIR         TRISB2
#define LED_KEYBORADMOUSE	   RB3
#define LED_KEYBORADMOUSE_DIR  TRISB3
//...........................//键值
#define STARTADDR	    0x00	//存储起始指针地址
#define DEFADDR		    0x00	//默认存储起始地址

#define	IOCA_CODE		0X00
#define	WPUA_CODE		0X07
#define	ANSEL_CODE		0X00	
#define	OPTION_CODE		0X07
#define PIE1_CODE		0x00aaaa
#define ADCON1_CODE		0x00
#define VRCON_CODE		0x00
#define	PORTA_CODE		0X00		
#define	PORTC_CODE		0X00
#define	INTCON_CODE		0X00
#define T1CON_CODE		0X00
#define ADCON0_CODE		0x00
#define	CMCON_CODE		0X07
	     
volatile  bit  gie_ram,id_led_keyboradmouse,i_check_code,have_key,id_1ms;
volatile  bit  id_clreeprom,id_reset;

volatile unsigned        int  led_status_count,led_keyboradmouse_count,key_count;
volatile unsigned bank1  char keybuff[64];
volatile unsigned        char keyinpt,led_status;
volatile unsigned        char keyoutpt;
volatile unsigned        char eepromaddrpt;

void ButtonHandle(void);	
unsigned char EE_ReadByte (unsigned char addr);			//读取指定字节数据
void EE_WriteByte (unsigned char addr,unsigned char data);	//向指定地址写入单字节
void DxmS(void);
void KeyScan                     (void);
void KeyProc                     (void);

⌨️ 快捷键说明

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