本设计是基于AT89C51单片机进行的十进制计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除4位无符号数字的简单四则运算,并在LED 上相应的显示结果。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用4&TImes;4矩阵键盘。显示采用4位7段共阳极LED动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。

引言

本系统采用AT89C51单片机作为控制器,用来实现实现四位数的“+”,“-”,“*”,“/”运算,运算结果通过数码管显示,并具有有清零功能。 AT89C51具有如下特点:40个引脚,4k BytesFlash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

1总体设计方案

1.1系统组成与工作原理

本系统以51单片机为主控核心,与矩阵键盘、晶振、LED显示管模块一起组合而成。其工作过程为:首先存储单元初始化,显示初始值和键盘扫描,判断按键位置,得出按键值,单片机则对数据进行储存与相应的处理转换,之后送入数码管动态显示。将运算结果送入数码管动态显示。本设计只能进行结果不超过四位数的运算,其功能如下:

(1)数字键“0”到“9”用数码管显示。

(2)加法运算:加数与被加数均不能超过9999,加法最终结果不能超过9999.

(3)减法运算:减法运算正常逻辑为大的数值减去小的数值,本计算器亦如此,只能进行正常逻辑的运算,如为小的数值减去大的数值,则将得到的负数与535相加,得到相应的结果,即如果想进行小数减大数的运算,则把得到的结果减去535即得到负数的正确结果。

(4)乘法运算:与上述方法一样,计算结果不能超出9999,如溢出则显示结果只有后三位。

(5)除法运算:除数与被除数均不能超过9999,计算结果只显示整数部分。

(6)等于键:只有按下等于键才能将运算结果显示出来,否则一直显示上一个数。

(7)清零功能:程序不稳定或出现错误时,运用清零键回到初始状态,也可用复位键清零。

2系统硬件设计

2.1系统硬件总体设计

本系统由键盘矩阵、LED显示管、这几个部分组成,键盘输入键值,LED显示管显示当前按键及结果。硬件总体设计图1如下:

图1硬件总体设计图

2.2矩阵扫描显示当前按键模块

利用AT89S51单片机的P0端口的P0.0 - P0.7连接到一个七段数码管的a - h的笔段上,数码管的公共端接电源。矩阵扫描显示当前按键模块见图2.

图2矩阵扫描显示当前按键模块

2.3键盘布局模块

矩阵键盘的工作原理:计算器的键盘布局如图3所示:一般有16个键组成,在单片机中正好可以用一个P口实现16个按键功能,这种形式在单片机系统中也最常用。

图3计算器的键盘布

图4系统的软件流程图

3.2显示程序模块

显示程序将要显示数值的千位、百位、十位与个位分别计算出来,通过P0段选口输出数值,通过位选口P3^3、P3^4、P3^5、P3^6实现动态显示。

LED数码管,实现七段数码管的显示四位十进制数。通过段选来显示按键及计算结果的数值。由于本硬件设计选用的是共阳接法,所以对应的段码表如下3.3键盘扫描模块

本次键盘扫描程序采用的是行列翻转法扫描键盘,即先置行为0,读列值,存在变量1中,然后把列置为0,读行值,存在变量2中,把变量1和变量2相加即为按键对应的键值,下表为相应按键对应的键值

4结束语

本计算器是以51系列单片机为核心构成计算器系统,该设计为能进行简易算术运算的计算器,在现有的硬件条件下只能进行结果不超过四位数的运算,能实现加减乘除的运算功能与数字清零功能,以及系统的复位功能。

c51单片机矩阵键盘1602计算器_基于AT89C51单片机的十进制计算器系统设计相关推荐

  1. 检测噪声大小的c语言程序,单片机课程设计(论文)_基于AT89C51的噪音检测自适应系统设计.doc...

    单片机课程设计(论文)_基于AT89C51的噪音检测自适应系统设计 摘 要 本文以AT89S52 单片机为控制核心,通过播音判断电路寻找广播间歇时段,实时采集噪声环境内的噪音信 号,根据A/ D 转换 ...

  2. c51单片机矩阵键盘1602计算器_51单片机矩阵键盘计算器.doc

    51单片机矩阵键盘计算器 51单片机矩阵键盘计算器 /**********413暑假作品*********12864液晶显示屏,结合4*4矩阵键盘,简易计算器*,存储地址:STC-hex2 , LCD ...

  3. 无人机寻迹要两个单片机吗_基于AT89C51单片机的机器人设计方案.doc

    基于AT89C51单片机的机器人设计方案 基于AT89C51单片机的机器人设计方案 目录 前言3 第一章循迹小车的组成及工作原理4 1.循迹小车的组成4 2.循迹小车工作的流程简述4 第二章循迹模块6 ...

  4. c51单片机矩阵键盘1602计算器_基于51单片机矩阵键盘的简易计算器制作

    1. 运算过程.符号公式实时显示在显示屏上(I2C 1602). 2. 自带三角函数.开根号.平方运算. 3. 计算得出的结果可设置保存并用以下一次计算. 4. 所有运算结果精确到至少小数点后两位. ...

  5. c51单片机矩阵键盘1602计算器_【Proteus】单片机配合矩阵键盘LCD1602制作简易计算器...

    前言 想出一个关于Protues仿真的系列,回想起在大学时做课程设计,大多数是用这个来做,这个系列就围绕一些常用的外设或者说课程设计题目来进行对以前知识的回顾,温故而知新,同时也希望能对新手读者的学习 ...

  6. 51单片机计算器_基于51单片机的倒计时温度检测报警器

    基于51单片机的倒计时温度检测报警器 学习单片机断断续续半年了,在学长学姐的教学帮助下,完成了51单片机的入门学习,开始实践做项目,在一周时间内设计和制作出个人项目.起初,我设计和选择的是12864显 ...

  7. 单片机多功能电子琴课设_基于51单片机的多功能电子琴设计.doc

    基于51单片机的多功能电子琴设计 基于51单片机的多功能电子琴的设计 摘要 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器.它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编 ...

  8. 基于单片机的超市储物柜设计_基于51单片机对电子储物柜系统的设计

    电路描述: 安全是我们日常的生活中最关心的问题. 每个人都觉得安全问题是非常至关重要的,在家里的门和安全,可以尽可能多的安全. 为了对于门访问安全 因此,我们打算通过引进一个电子密码锁系统,该系统包括 ...

  9. 单片机拟真电路图软件_基于MSP430单片机设计的高效数控直流电源及其测试方法与流程...

    本发明涉及直流电源 技术领域: ,具体涉及一种基于MSP430单片机设计的高效数控直流电源及其测试方法. 背景技术: :电压电流源是很多电子仪器设备研制的关键设计之一,电源在工作时产生的变动或误差,将 ...

  10. 单片机多功能电子琴课设_基于51单片机设计的简易电子琴

    基于51单片机设计的简易电子琴 下面直接给出proteus仿真电路 代码如下:#include #define uint unsigned int #define uchar unsigned cha ...

最新文章

  1. 耻辱的时间戳(笑哭)
  2. Scala模式匹配和类型系统
  3. mysql 高性能架构_高性能MySQL之架构与历史(1)
  4. sunplus8202v BIN文件中LOGO的替换工具设计思路
  5. 简单高效搞定---迁移学习
  6. 计算机软件毕业论文教师指导记录,毕业论文导师指导记录【毕业论文指导记录(精选多篇)】...
  7. 思科模拟器cisco模拟器
  8. java 世界时间_Java对世界不同时区timezone之间时间转换的处理方法
  9. NTFS - 系统解析
  10. 调用百度网盘开放平台接口,操作百度网盘中的文件,上传、下载等
  11. 参加第一场多校大一训练赛后的感想
  12. 硬件开发笔记(一):高速电路设计Cadence Aleegro软件介绍和安装过程
  13. @Transaction
  14. Hadoop第七天--MapReduceYarn详解(二)
  15. JavaWeb(kuang)
  16. 人机大战?——带你玩转三子棋(C语言)
  17. H3C交换机升级系统镜像
  18. 基于Python Django的疫情人员管理系统
  19. JAVA截取字符串,只拿去某一字符第一次出现前的字符串
  20. PTA 7-4 打死我也不说 (详细讲解)

热门文章

  1. VBM计算操作过程记录
  2. 如何将两个PDF合并成一个?PDF合并方法
  3. Ubuntu 桌面截屏(或截图)的方式
  4. VS 201x C++ 编译错误解决方法集
  5. 论文查重:利用Python查找两个Word文件的相同内容
  6. TwinCAT 3 EtherCAT控制伺服
  7. win10专业版占多少空间_Win10专业版分区C盘需要留多大空间?
  8. 微信H5开发及技巧思维导图
  9. AlphaControls 控件 锐浪报表 Grid++Report 打印浏览显示问题解决
  10. php app用户验证失败,无法验证app需要互联网连接以认证 建议更换登陆的AppleID