简易计算器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机十进制加法计算器设计
摘要
本设计是基于51系列的单片机进行的十进制计算器系统设计,可以完成计
算器的键盘输入,进行加、减、乘、除3位无符号数字的简单四则运算,并在LED上相应的显示结果。
设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用4×4矩阵键盘。显示采用3位7段共阴极LED动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C 语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用全球编译效率最高的KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus仿真。
引言
十进制加法计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。
单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,十进制加法计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。
关键词:单片机、计算器、AT89C51芯片、汇编语言、数码管、加减乘除
目录
摘要 (01)
引言 (01)
一、设计任务和要求.............................
1、1 设计要求
1、2 性能指标
1、3 设计方案的确定
二、单片机简要原理.............................
2、1 AT89C51的介绍
2、2 单片机最小系统
2、3 七段共阳极数码管
三、硬件设计...................................
3、1 键盘电路的设计
3、2 显示电路的设计
四、软件设计...................................
4、1 系统设计
4、2 显示电路的设计
五、调试与仿真.................................
5、1 Keil C51单片机软件开发系统
5、2 proteus的操作
六、心得体会....................................
参考文献......................................... 附录1 系统硬件电路图............................ 附录2 程序清单..................................
一、设计任务和要求
1.1 设计要求
本次课程设计,我选择的课题是单片机十进制加法计算器软硬件设计,设计任务为:
设计一键盘显示装置,键盘上除需定义10个十进制数字键外还要相应的功能键,其它键不定义无响应。利用此系统可分别可输入十进制被加数与加数,实现两数相加并将结果以十进制形式显示出来。(扩展:多位10进制数相加)
1.2 性能指标
本课程设计的十进制加法计算器的计算范围为0~255,计算结果全为整数,计算结果溢出结果不显示。
1、加法:三位加法,计算结果超过255溢出不显示
2、减法:三位减法,计算结果若小于零溢出不显示
3、乘法:三位数乘法
4、除法:整数除法
5、有清零功能
1.3 设计方案的确定
按照1.1的设计要求,本课题需要使用数码管显示和扩展4*4键盘,由于
AT89C51芯片的I口不够多,而且为了硬件电路设计的简单化,故选择串行动态显示和用P1口扩展4*4键盘,扩展的4*4键盘定义十个数字键,六个功能键,使用串行动态显示显示运算结果。
主程序进行初始化,采用行列扫描进行查表得出键值,每次按键后调用显示子程序。
二、单片机简要原理
在该课程设计中,主要用到一个AT89C51芯片和串接的共阴数码管。作为
该设计的主要部分,下面将对它们的原理及功能做详细介绍和说明。
2.1 AT89C51的介绍:
图一AT89C51外形结构和引脚分布图
芯片AT89C51的外形结构和引脚图如图一所示。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
2.2 单片机最小系统
单片机最小系统就是支持主芯片正常工作的最小部分,包括主控芯片、复位电路和晶振电路。
(一)复位电路
图二复位电路
本设计采用上电与手动复位电路,电阻分别选取100和10K,电容选取10uF,系统一上电,芯片就复位,或者中途按按键也可以进行复位。
(二)晶振电路
图三晶振电路
晶振电路是单片机的心脏,它用于产生单片机工作所需要的时钟信号。单片机的晶振选取11.0592MHz,晶振旁电容选取30pF。
2.3 七段共阳极数码管