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

📄 calc.h

📁 proteus 仿真实例, 使用了proteus大部分元件
💻 H
字号:
/******************************************************************************            
************             LABCENTER ELECTRONICS                      ***********            
************	       Proteus VSM Sample Design Code               ***********		 	     
************	           IAR 'C' Calculator                 	    ***********            
******************************************************************************/           
                                                                                            
typedef void VOID;                                                                          
typedef int  INT;                                                                           
typedef signed char INT8;
typedef signed int  INT16;
typedef signed long INT32;
typedef unsigned short WORD;                                                                
typedef char CHAR;                                                                          
typedef unsigned char BYTE;                                                                 
typedef float FLOAT;                                                                        
typedef double DOUBLE;                                                                      
typedef long LONG;                                                                          
typedef INT8 BOOL;
                                                                                            
//Display Config.
#define MAX_DISPLAY_CHAR 10    

// Keypad Config.
#define KEYP_NUM_ROWS 4
#define KEYP_NUM_COLS 4

//LCD Registers addresses (PORT B)
#define LCD_CMD_WR	   0x00
#define LCD_DATA_WR	   0x01
#define LCD_BUSY_RD	   0x02
#define LCD_DATA_RD	   0x03
                     
//LCD Commands        
#define LCD_CLS		   0x01
#define LCD_HOME	   0x02
#define LCD_SETMODE	   0x04
#define LCD_SETVISIBLE	   0x08
#define LCD_SHIFT	   0x10
#define LCD_SETFUNCTION	   0x20
#define LCD_SETCGADDR	   0x40
#define LCD_SETDDADDR	   0x80

#define E_PIN_MASK         0x04
#define NOP                asm("NOP")

#define FALSE 0
#define TRUE  1                                                       
                                                                                            
//Error handling status.                                                                    
enum ERROR { OK = 0, SLEEP = 1, ERROR = 2};                                                 
                                                                                               
/************************************************************************                   
***** FUNCTION PROTOTYPES *****                                                             
******************************/                                                             
VOID calc_evaluate();                                                                       
CHAR calc_getkey (VOID);                                                                    
VOID calc_format (FLOAT f);
VOID calc_display (CHAR *buf);                                             
                                                                                            
//Operator Indirect function.                                                               
VOID calc_opfunctions (CHAR token);                                                         
                                                                                            
//Utility functions.                                                                        
BOOL  calc_testkey  (CHAR ch);                                                              
VOID  calc_output   (INT status);                                                           

// Keypad Functions.
CHAR keypadread(); 
CHAR scankeypad();

VOID lcd_init();
VOID lcd_wait();
VOID wrcmd (CHAR data);
VOID wrdata(CHAR data);
VOID clearscreen();
                                                                                            

⌨️ 快捷键说明

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