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

📄 calculator.h

📁 利用89s51去寫結構化keil-C 4x4鍵盤掃描+LCD螢幕顯示 HW01:四則運算+時鍾顯示 HW02:頻率偵測器 ps.鍵盤掃描不是利用延遲作彈跳(推薦)
💻 H
字号:
//**

#ifndef __CALCULATOR_H__
#define __CALCULATOR_H__

#include "AT89S51.h"
#include <stdio.h>
#include <intrins.h>
#include "datatype.h"
#include "InKey4x4.h"
#include "DispLcd.h"
//#include "main.h"

//  CALCULATOR INPUT
enum{
	CALCULATOR=0,
	FNUM_HI=1,
	FNUM_LO,
	OPERATION,
	SNUM_HI,
	SNUM_LO,
	ENTER,
	CULT_ADD=10,
	CULT_SUB,
	CULT_MUL,
	CULT_DIV,
	EQUAL
};


//first		input
//second	input
//third		output
//fourth	output
typedef union
{
	BYTE		baBD[5];
//	DWORD		dwValue;
	struct
	{
		WORD	wIN;
		WORD	wOUT;
		BYTE	bOP;
	}tw;
	struct
	{
		int		iIN;
		int		iOUT;
		BYTE	bOP;
	}ti;
	struct
	{
		BYTE	bX;
		BYTE	bO;
		BYTE	bH;
		BYTE	bL;
		BYTE	bOP;		
	}tb;
	struct
	{
		BYTE	bSrc;		//0~255
		BYTE	bDes;
		BYTE	bEqH;
		BYTE	bEqL;		//0~255
		BYTE	bOP;
	}tadd;
	struct
	{
		char		cSrc;		//-128~127
		char		cDes;		//-128~127
		int		iEq;			//-32768~+32767
		BYTE	bOP;
	}tsub;
	struct
	{
		BYTE	bSrc;
		BYTE	bDes;
		WORD	wEq;		//0~65535
		BYTE	bOP;
	}tmul;
	struct
	{
		BYTE	bSrc;
		BYTE	bDes;
		BYTE	bEq; 		//Business
		BYTE	bRemd;		//Remainder  
		BYTE	bOP;
	}tdiv;
}USTCULTDATA;



///////////////////////////////////////////////////////////////////////////
//Calculator.c  function declaration
BOOL fnCULT_Add(void);
BOOL  fnCULT_Sub(void);
BOOL  fnCULT_Mul(void);
BOOL  fnCULT_Div(void);
void fnCULT_DispSPChr(BYTE bAddr, BYTE bOP);
void fnCULT_KeyIn(void);
void fnCULT_Operation(void);

///////////////////////////////////////////////////////////////////////////
//Calculator.c variable declaration
extern BYTE bdata	g_bfCULTStatus;

extern USTCULTDATA data	g_ustValData;





#endif//__CALCULATOR_H__

⌨️ 快捷键说明

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