硬件设计

仿真图: 数码管显示,支持整数加减乘除,不支持小数和负数及连续运算;
(20x3 和20÷3的结果 )

程序设计

//*************************************************************************************************
//*************************************************************************************************
//**<程序名>:计算器处理主程序,根据计算器的输入状态分派不同的函数对按键进行处理。                 **
//**<功能>:当b_WorkMode=0是,若有键按下则调用此函数对键码进行处理。                             **
//*************************************************************************************************
//*************************************************************************************************//*************************************************************************************************
//*                                                                                               *
//*          ******************************头文件及宏定义**************************                  *
//*                                                                                               *
//*************************************************************************************************
#include "CalReady.h"//*************************************************************************************************
//*                                                                                               *
//*           ********************************全局变量******************************              *
//*                                                                                               *
//*************************************************************************************************
extern unsigned long ul_Number;          //LCE显示数据,LCD实时显示该数字。//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<工作模式(默认为计算器模式)>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
extern bit b_WorkMode;                   //0--计算器模式;//1--计时模式。//定义在KeyProcess.c中。
unsigned char uc_ModeChange=0;extern bit b_LCDClean;extern unsigned char uc_ReportSymbol;unsigned long ul_NumberOne=0;             //第一个数
unsigned long ul_NumberTwo=0;           //第二个数
unsigned char uc_Operator=0;            //运算符
unsigned long ul_Result=0;              //运算结果
unsigned char uc_NumPointer=1;          //计算状态//*************************************************************************************************
//*                                                                                               *
//*       *******************************计算器处理主函数******************************           *
//*                                                                                               *
//*************************************************************************************************void vCalculator(unsigned char ucKeyCode)
{if(ucKeyCode==41)                                //判断按键是不是'NO/C'。{if(uc_NumPointer==1)                   //如果是‘NO/C’键则判断手机否是状态一。{if(uc_ModeChange==2)          //如果是状态一则看uc_ModeChange是不是2。{uc_ModeChange=0;      //如果是2则计时器模式。b_WorkMode=1;uc_ReportSymbol=3;      //闪烁显示:-CHAG-1。表明正在切换状态。b_LCDClean=1;}else{uc_ModeChange++;       //如果uc_ModeChange不是2则加一。ul_NumberOne=0;            //清除所有数据,将所有数据恢复到状态一。ul_NumberTwo=0;ul_Number=0;           uc_NumPointer=1;}}else{ul_NumberOne=0;                        //清除所有数据,将所有数据恢复到状态一。ul_NumberTwo=0;ul_Number=0;           uc_NumPointer=1;}}else{                                            //如果不是“NO/C”键,首先将uc_ModeChange清零。uc_ModeChange=0;
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<根据不同状态分派不同的键处理函数>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>switch(uc_NumPointer){case 1: vCalReadyOne(ucKeyCode);               //进入状态一。break;case 2:vCalReadyTwo(ucKeyCode);               //进入状态二。break;case 3:vCalReadyThree(ucKeyCode);             //进入状态三。break;default:break;}}}

链接:https://pan.baidu.com/s/1ZAxAbTe_oD_cuTvvKWxU5A
提取码:x102

基于51单片机的简易计算器proteus仿真 数码管显示相关推荐

  1. 基于51单片机MPX4115的压力测量仪proteus仿真 数码管显示

    硬件设计 (末尾附文件) 总体设计方案 本次设计是基于8051单片机的测量与显示.利用传感器将压力转换为电信号后,在经过ADC0832的模数转换器经A/D转换后由单片机进行有效处理,然后用数码管进行显 ...

  2. 【039】基于51单片机的简易门铃Proteus仿真设计

    一.压缩包资料内容 (1).基于51单片机的简易门铃proteus仿真设计一份: (2).基于51单片机的简易门铃proteus仿真设计keli源代码一份: (3).基于51单片机的简易门铃prote ...

  3. 基于51单片机的简易数字电压表proteus仿真原理图程序设计

    硬件电路设计 原理图: 仿真图: 单片机的时钟电路与复位电路设计 本系统采用STC系统列单片机,相比其他系列单片机具有很多优点.一般STC单片机资源比其他单片机要多,而且执行速度快:STC系列单片机使 ...

  4. 基于51单片机的波形发生器proteus仿真数码管LCD12864显示

    仿真图1简介: 本系统采用51单片机作为系统的MCU(具体型号见下图),该系统显示器为四位数码管,可实时显示波形的参数情况 可显示四种波形,分别是方波.正弦波.三角波.锯齿波. 该设计具有电压表功能, ...

  5. c语言51单片机计算器,新基于51单片机的简易计算器

    <新基于51单片机的简易计算器>由会员分享,可在线阅读,更多相关<新基于51单片机的简易计算器(24页珍藏版)>请在人人文库网上搜索. 1.基于51单片机的简易计算器1.前言: ...

  6. 【019】基于51单片机的交通灯Proteus仿真设计

    一.资料内容 (1).基于51单片机的交通灯proteus仿真设计一份: (2).基于51单片机的交通灯proteus仿真设计keli源代码一份: (3).基于51单片机的交通灯proteus仿真设计 ...

  7. 【034】基于51单片机的HX711电子秤Proteus仿真设计

    一.压缩包资料内容 (1).基于51单片机的HX711电子秤proteus仿真设计一份: (2).基于51单片机的HX711电子秤proteus仿真设计keli源代码一份: (3).基于51单片机的H ...

  8. 基于51单片机的烟雾火灾报警器proteus仿真设计

    基于51单片机的烟雾火灾报警器proteus仿真设计 1 开发环境 仿真图:proteus8.9以上 程序代码:KEIL4/KEIL5 原理图:AD 设计编号:A0004 代码讲解+仿真讲解+仿真演示 ...

  9. 【002】基于51单片机的电子万年历proteus仿真设计

    一.资料内容(私信获取) (1).基于51单片机的电子万年历proteus仿真设计一份: (2).基于51单片机的电子万年历proteus仿真设计keli源代码一份: (3).基于51单片机的电子万年 ...

  10. 【008】【毕业设计】基于51单片机的烟雾报警系统proteus仿真与实物设计

    ​一.压缩包资料内容(私信获取) (1).基于51单片机的烟雾报警系统proteus仿真设计一份: (2).基于51单片机的烟雾报警系统proteus仿真设计keli源代码一份: (3).基于51单片 ...

最新文章

  1. kotlin键值对数组_Kotlin程序检查数组是否包含给定值
  2. 学习C++怎么进阶?
  3. 支付宝上线“时间银行”:未来养老不用愁了
  4. iview 自定义时间选择器组件_视图更新科技发布View UI组件库(即 iView 4.0),超过50项更新...
  5. net-snmp的定制编译
  6. FastDFS详细安装步骤,测试;Nginx中配置FastDFS,并提供优化,下载方法,楼主已测
  7. 大数据开发学习脑图+学习路线清晰的告诉你!月薪30K很轻松
  8. 逍遥模拟器上传服务器文件,逍遥模拟器后台操作
  9. 评价的等级优良差_小学生期末评语-等级优良合格(最新)
  10. FaceBook反霸凌,推广网络安全须知
  11. JS生成二维码(兼容各种浏览器及中文)
  12. 针对宝宝肠胃保护,五大国际医生组织推荐使用爱乐乐益生菌
  13. Apollo Planner
  14. 【无NK ZOOM KOBE 5 Protro ”Bruce Lee“S2纯原生产线 科比五代李小龙
  15. ps命令用户名过长显示不全
  16. Keras实例教程(3)
  17. 软件测试睡眠原理,智能手环检测睡眠质量的原理?
  18. oracle用sys用户导入dmp命令,Oracle导入dmp文件步骤
  19. 电商行业市场行情解析,shopee虾皮平台讲解
  20. 微信群裂变操作流程方案

热门文章

  1. Java常用类--java.lang.StringBuilder
  2. 2019西湖论剑网络安全技能大赛(大学生组)部分WriteUp
  3. shiro身份认证(HelloWorld)
  4. 403高校毕业设计选题
  5. 关于sicp练习2.73的前置程序
  6. 《Security of GPS/INS based On-road Location Tracking Systems》论文翻译
  7. 如果这篇文章说不清epoll的本质,那就过来掐死我吧
  8. 时间序列预测比赛小结
  9. http://www.cnblogs.com/freeliver54/p/3725979.html
  10. [转]杀毒软件的引擎