/******************************************************************

* 实验名称:Calculation 显示仿真 (MSP430F249)

*

* 实验说明:

*     通设置系统主时钟(MCLK=8Mhz ) 、辅助时钟(ACLK=8Mhz )、

*      子系统时钟(SMCLK=8Mhz )

* 编译软件:Embedded Workbench 6.4

*

*仿真软件:proteus7.8 sp 2

******************************************************************/

本实验采用的单片机是MSP430F249,用4x5的矩阵式非编码键盘作为计算器的输入按键,显示模块采用LM3229,该计算器的功能包括“+、-、*、/ 、^、 清除、返回上一次计算”等功能。

void main(void)
{/*str为表达式数组*/char str[MAX]="7+(8*9)+1";char result[10];unsigned char inputc='E', pos=0;char next = 0;init();   keyInit();LCD_Init();writeString(1,0,"hello!");while(1){//scan key valueinputc = scanKey();//whether it is vaildif(inputc != '_'){if(next){clearCaculation();next = 0;}            if(inputc == '='){str[pos]='\0';caculation(str, result);{writeChar(6,0,'=');writeString(6,1,result);memset(result,0,10);next = 1;}pos = 0;continue;}if(inputc == 'c'){//clear caculation result.clearCaculation();pos=0;continue;}if(inputc == 'b'){//back one steppos--;writeChar(5,pos,' ');continue;}     str[pos] = inputc;writeChar(5,pos,inputc);pos++;}}
}

实验结果如下所示:

需要下载代码的朋友可以关注微信公众号:时沿科技,或者下方二维码免费下载

基于Proteus的计算器仿真相关推荐

  1. 基于 Proteus 的单片机仿真

    最近又要用proteus进行仿真51单片机-- 1.元器件的放置: 里面都是些英文,找起来头大,下面的一些表都是常见的单片机仿真使用的原件,很方便的就能找到了. 2.电源和地的放置 反正我在元件库中找 ...

  2. 51单片机应用开发25例—基于Proteus仿真(电路图+程序)

    51单片机应用开发25例-基于Proteus仿真(电路图+程序) 分享的51单片机应用开发25例-基于Proteus仿真非常全面,里面仿真工程文件和源程序都有. 目录: 应用实例1  呼吸灯\ 应用实 ...

  3. 基于proteus的功率_学习电路仿真:基于proteus电路仿真软件的步进电机仿真

    本文是电路仿真软件的进阶篇,对于电路仿真软件的基础篇,大家可翻阅往期文章哦.本文中,将基于proteus电路仿真软件的步进电机仿真,一起来了解下吧. 步进电机广泛应用在生产实践的各个领域.它最大的应用 ...

  4. [原创]基于proteus仿真16*64点阵屏带DS1302实钟芯片

    注:本人大一新生,未学习电路,单片机,C语言,汇编均为自学内存,故难免有所疏露,希望大家多多指点. 该项目为惠州学院计算机系嵌入式培训班硬件组的任务(本人是电子系的,但还是加入了呵). 设计思路: 1 ...

  5. 基于Proteus平台的TEC-5H模型计算机电路设计与仿真

    资源下载地址:https://download.csdn.net/download/sheziqiong/85797587 资源下载地址:https://download.csdn.net/downl ...

  6. 基于单片机的功放protues_基于Proteus的音频放大器电路设计与仿真详解.doc

    毕 业 论 文 学生姓名尹有友学 号171107078学院 物理与电子电气工程学院专 业电子信息工程题 目基于Proteus的音频放大电路设计与仿真 指导教师付浩 副教授/学士 2015年5月 论文原 ...

  7. 基于51单片机的 Proteus液晶显示LM016L仿真

    液晶显示LM016L简要介绍 首先是LM016L液晶显示屏的简单介绍:(啊!其实我一直没有搞懂!) LM016L的结构:LM016L 液晶模块采用 HD44780控制器.HD44780具有简单而功能较 ...

  8. 基于Proteus仿真的交通信号灯设计——利用汇编语言实现

    基于Proteus仿真的交通信号灯设计--利用汇编语言实现 文章目录 基于Proteus仿真的交通信号灯设计--利用汇编语言实现 设计要求 基本信息 交通状态 电路仿真原理图 电路总体布局 复位电路 ...

  9. 电路仿真软件详谈(二十),基于proteus电路仿真软件的步进电机仿真

    电路仿真软件必不可少,很多朋友早已精通各种电路仿真软件,但也存在很多朋友对电路仿真软件不太了解.本文是电路仿真软件的进阶篇,对于电路仿真软件的基础篇,大家可翻阅往期文章哦.本文中,将基于proteus ...

最新文章

  1. linux tf命令,Linux系统命令介绍之vmstat命令详解
  2. object getkey java_Java S3Object.getKey方法代码示例
  3. linux screen 命令简单使用
  4. python IO编程-StringIO和BytesIO
  5. 基于 Kafka 技术栈构建和部署实时搜索引擎的实践
  6. 奇异值分解(Singular Value Decomposition,SVD)
  7. Android Jenkins自动化构建之路
  8. pythonweb接口优化_python-web后台限制接口调用频率
  9. Python 2.x vs Python 3.x(四)—— TypeError: unhashable type
  10. 用python给游戏加上音效_添加声音到你的Python游戏
  11. JDK和JRE安装与下载
  12. 彻底杀除“logo1_.exe”(威金病毒)病毒
  13. 把一个人的特点写具体作文_把一个人的特点写具体作文400字
  14. 用户行为分析 无埋点代码
  15. RK3568 Android11 去除长按power键弹框的emergency按键
  16. 微信小程序 词典代码_微信小程序省市区联动,自定义地区字典
  17. 东芝笔记本电脑重装系统
  18. 学习笔记1:线性回归和逻辑回归、AUC
  19. 分布式内存网格Hazelcast源码导读
  20. 51单片机 8*8点阵贪吃蛇

热门文章

  1. Handler详细说明系列(六)——View的post()详解
  2. 递归下降语法分析程序
  3. cloud foundry部署报错TypeError: can't convert Hash into String
  4. UA SIE545 优化理论基础3 Fritz-John与Kuhn-Tucker理论总结 带等式约束与不等式约束的极值问题
  5. 自己写编译器学习总结
  6. 图解第一个Matlab仿真实例
  7. vue-jwt 实战
  8. 二分图模板(女生赛要用)
  9. 二分查找算法为什么要先排序
  10. Python 列表 list() 方法