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

📄 main.c

📁 单片机c语言程序设计100例--基于PIC+PROTEUS
💻 C
字号:
//-----------------------------------------------------------------
//  名称: 用PIC与1601LCD设计的计算器
//-----------------------------------------------------------------
//  说明: 本例运行时,可完成整数的加、减、乘、除四种运算,支持浮点数运算,
//        但不支持带优先级的表达式运算. 运算结果超出有效范围时显示
//        *OVERFLOW*,表达式出错时显示*ERR*.
//
//-----------------------------------------------------------------
#include <pic.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include "calc.h"
//计算器操作数a,b,每次得到的运算结果重新存入a
static float a = 0, b = 0;
//-----------------------------------------------------------------
// 主程序
//-----------------------------------------------------------------
void main()
{
   char number[MAX_DISPLAY_char + 1], KeyChar;
   static INT8 havedot = 0;  //是否已经输入了小数点
   static char lastop = '='; //保存上次输入的操作符("+-*/="),初始时设为"="
   INT8U i = 0;               //初始时缓冲指针归0
   float t;
   LCD_Initialise();          //液晶初始化  
   Calc_Show_Result(0);       //初始时显示0
   while (1)
   {   KeyChar = getKeyChar();//读取按键ASCII
       //如果按下了数字0~9或小数点则准备存入缓冲---------------------
       if (isdigit(KeyChar) || (KeyChar == '.'))
       {  



       }
       //如果按下的“+ - * / =”则进行相应运算处理-------------------
       else 
       {  



       }
    }
} 

//-----------------------------------------------------------------
// 根据不同操作符进行运算处理
//-----------------------------------------------------------------
void Operator_Process(char op)
{ 
   INT8 Error = 0;
   switch (op)  //根据操作符op进行四则运算
   { 




   }
   //正常时计算器显示结果,否则显示*ERR*




}

//-----------------------------------------------------------------
// 对运行结果进行转换并显示
//-----------------------------------------------------------------
void Calc_Show_Result(float f)
{ 
   char buf[MAX_DISPLAY_char + 1];
   if ( f < 100000000 )
   {   



   }
   else strcpy(buf,"*OVERFLOW*"); 
   //显示结果
   LCD_display(buf);
}

//-----------------------------------------------------------------
// 获取键按键ASCII字符
//-----------------------------------------------------------------
char getKeyChar()
{ 



}

⌨️ 快捷键说明

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