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

📄 system.h

📁 C51单片机端
💻 H
字号:

#ifndef _SYSTEM_H_
#define _SYSTEM_H_

#include <ABSACC.H>
#include <w77C32.h>
#include <stdio.h>

#pragma SAVE
#pragma REGPARMS

typedef union 
{
	unsigned int  vd;
	struct
	{
		unsigned char vh;
		unsigned char vl;
	}vol;
}Vtouch;

#define  vEnterInterrupt() EA = 1    //开中断
#define  vExitInterrupt()  EA = 0    //关中断

#define  Twc  20    //Flash擦写周期

#define  Sp756P  1

#if Sp756P==1

sbit v_Io  = P1^7;
sbit v_Fr  = P3^4;
sbit v_Tc  = P1^6;

sbit v_A16  = P1^4;
sbit v_A17  = P1^5;

#define vEnterIo()         {v_Io = 1;}
#define vEnterRam()        {v_Fr=1;v_Io = 0;}
#define vEnterFlash()      {v_Fr=0;v_Io = 0;}

#define vKeyScan(V1)           {ACC = V1; vEnterIo(); XBYTE[0x8209] = ACC; vEnterRam();}//键盘扫描输出
#define vDeuteriumDrv(V1)      {ACC = V1; vEnterIo(); XBYTE[0x820c] = ACC; vEnterRam();}//氘灯控制
#define vBeepDrv(V1)           {ACC = V1; vEnterIo(); XBYTE[0x820d] = ACC; vEnterRam();}//蜂鸣器控制
#define vLcdCmdPort(V1)        {ACC = V1; vEnterIo(); XBYTE[0x8601] = ACC; vEnterRam();}//LCD代码输出
#define vLcdDataPort(V1)       {ACC = V1; vEnterIo(); XBYTE[0x8600] = ACC; vEnterRam();}//LCD数据输出
#define vLcdRdataPort(V1)      {vEnterIo(); V1 = XBYTE[0x8601]; vEnterRam();}//读LCD数据
#define vLcdStatusPort(V1)     {vEnterIo(); V1 = XBYTE[0x8600]; vEnterRam();}//读LCD状态
#define vKeyInput(V1)          {vEnterIo(); V1 = XBYTE[0x8210]; vEnterRam();}//键盘扫描输入
#define Toach_Com(V1)      {ACC = V1; vEnterIo(); XBYTE[0xFF0C] = ACC; vEnterRam(); v_Tc=1;} //触摸屏命令输出
#define Toach_Pos(V1)      {vEnterIo(); ACC = XBYTE[0xFF0D]; vEnterRam(); V1 = ACC; v_Tc=0;}    //触摸屏位置输入

#else

sbit v_Io  = P1^7;
sbit v_Fr  = P3^4;
sbit v_Tc  = P1^6;

#define vEnterIo()         {v_Io = 1;}
#define vEnterRam()        {v_Fr=1;v_Io = 0;}
#define vEnterFlash()      {v_Fr=0;v_Io = 0;}

#define UsbReadData(V1)    {inio; ACC = XBYTE[0xFF00]; inram; V1 = ACC;}   //读USB数据
#define UsbWriteData(V1)   {ACC = V1; vEnterIo(); XBYTE[0xFF00] = ACC; vEnterRam();}   //写USB数据
#define UsbWriteCom(V1)    {ACC = V1; vEnterIo(); XBYTE[0xFF01] = ACC; vEnterRam();}   //写USB命令
#define UsbIdl(V1)         {ACC = V1; vEnterIo(); XBYTE[0xFF02] = ACC; vEnterRam();}   //休眠USB
#define vKeyInput(V1)      {inio; ACC = XBYTE[0xFF03]; inram; V1 = ACC;}   //键盘扫描输入
#define vKeyScan(V1)       {ACC = V1; vEnterIo(); XBYTE[0xFF04] = ACC; vEnterRam();}   //键盘扫描输出

#define beep_driver(V1)    {ACC = V1; vEnterIo(); XBYTE[0xFF08] = ACC; vEnterRam();}    //蜂鸣器控制
#define vLcdCmdPort(V1)    {ACC = V1; vEnterIo(); XBYTE[0xFF09] = ACC; vEnterRam();}    //LCD代码输出
#define vLcdDataPort(V1)   {ACC = V1; vEnterIo(); XBYTE[0xFF0A] = ACC; vEnterRam();}    //LCD数据输出
#define LcmRstPort(V1)     {ACC = V1; vEnterIo(); XBYTE[0xFF0B] = ACC; vEnterRam();}    //LCD复位输出
#define Toach_Com(V1)      {ACC = V1; vEnterIo(); XBYTE[0xFF0C] = ACC; vEnterRam(); v_Tc=1;} //触摸屏命令输出
#define Toach_Pos(V1)      {vEnterIo(); ACC = XBYTE[0xFF0D]; vEnterRam(); V1 = ACC; v_Tc=0;}    //触摸屏位置输入

#define vBankValue(V1)     {vEnterRam(); XBYTE[0xFFFF] = V1;}

#endif

void wait_ms(unsigned int click);

#pragma RESTORE
#endif





⌨️ 快捷键说明

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