计算器单片机实训报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
重庆电力高等专科学校单片机实训报告
简易计算器
专业:电子信息工程技术
班级:信息1212
组员:***
学号:************
组员:***
学号:************
组员:***
学号:************
指导老师:李景明、任照富
重庆电力高等专科学校
目录
摘要 (3)
第一章绪论 (3)
第二章总体方案 (3)
2.2 简易计算器系统的组成 (3)
2.3 方案的论证和比较 (4)
2.3.1 单片机型系统的选择与论证 (4)
2.3 2 显示模块的选择与论证 (4)
2.3.3 计算实现 (4)
2.4系统框图 (4)
第三章硬件电路 (6)
第四章软件设计 (10)
4.1 系统框图 (11)
4.2 I/O并行口直接驱动LCD显示 (11)
第五章实训过程 (12)
第六章整体调试 (12)
5.1 Proteus 简介 (12)
5.3利用keil与Proteus进行的调试 (13)
5.3.1 利用keil与Proteus进行的调试 (13)
5.4硬件电路调试 (15)
5.4.1 硬件电路调试过程 (15)
5.4.2 实物拍照 (16)
第七章实训心得 (17)
7.1 张忠艳的心得体会 (17)
7.2 王传胜的心得体会 (17)
7.3 汤承练的心得体会 (17)
附录: (18)
1.源程序: (18)
1.1主函数: (18)
1.2 LCD1602的驱动程序 (18)
1.3 按键相关处理程序 (20)
2.仿真电路图 (22)
3. 元器件清单 (22)
摘要
计算器(calculator ;counter)一般是指“电子计算器”,该名词由日文传入中国。计算器能进行数学运算。计算器一般由运算器、控制器、存储器、键盘、显示器、电源和一些可选外围设备组成。低档计算器的运算器、控制器由数字逻辑电路实现简单的串行运算,其随机存储器只有一、二个单元,供累加存储用。使用简单计算器可进行加(+)、减(-)、乘(*)、除(/)、开方(sqrt)、百分数(%)、倒数(1/x)等简单算术计算。本次设计只完成加(+)、减(-)、乘(*)、除(/)运算。
关键字:加减乘除、优先级、进制转换、数据选择、有效数字、正负
第一章绪论
单片机由于其微小的体积和极低的成本,广泛的应用于家用电器、工业控制等领域中。在工业生产中。单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
本系统就是充分利用了MCS-51芯片的I/O引脚。系统采用MSC-51系列单片机Intel8051为中心器件来设计计算器控制器,实现了能根据实际输入值显示并存储,计算程序则是参照教材。至于位数和功能,如果有需要可以设计扩充原系统来实现。
第二章总体方案
2.1 设计要求及扩展
要求:可以完成计算器的键盘输入,进行加、减、乘、除无符号数字运算,并在LED上同步显示操作数和运算结果。输入采用4×4矩阵键盘,16个键依次对应0~9,“+”,“-”,“*”,“/”,“=”和清零键。可以进行小于65535的数的加减乘除运算,并可以连续运算。第一次按下显示“D1”;第二次按下时,显示“D1D2”;第三次按下时,显示“D1D2D3”,当输入值大于65535时,将自动清零,可以重新输入。要求考虑运算符的优先级。
2.2 简易计算器系统的组成
单片机因体积小、功能强、价格低廉而得到广泛应用。AT89C51单片机设计简易计算器的方法,仅需AT89C51最小系统,扩展一组矩阵键盘,再接LCD液晶显示器来显示输入输出的数字就可以实现硬件电路。
显示部分:用P0口接上拉电阻再接LCD液晶显示器,用P2.0接使能端EN,P2.1接读写信号RW,P2.2接寄存器选择端口RS,再接上一个滑动变阻器来调节LCD。
按键部分:实际上就是把每个按键所对应的值经过处理后发给单片机,再在单片机内把数字当作指针指向所对应的数字或运算符。
2.3 方案的论证和比较
2.3.1 单片机型系统的选择与论证
方案一:此方案采用AT89C51八位单片机实现。它内存较小,只有4K字节Flash 闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,无在线下载编程功能,也无在线仿真功能。只能通过编程器烧写成以.hex为后缀名的文件。
方案二:此方案采用AT89S52八位单片机实现。它内存较大,有8K
的字节Flash闪速存储器,比AT89C51要多4K。它可在线编程,可在线仿真的功能,这让调试变得方便。单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制。而且体积小,硬件实现简单,安装方便。另外AT89S52在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。
综上所述,我们采用了第二个方案,即AT89S52。
2.3 2 显示模块的选择与论证
方案一:采用LCD点阵显示,用来显示文字、图形、图像、等各种信息的显示屏幕。在简单的计算器中不需要那么复杂,在软件编程方面也有一定的难度。方案二:采用液晶(lcd1602)显示器件。对于LCD点阵显示器来说,液晶显示器简单且容易操作,也比较便宜,但由于设计显示比 2 较的简单,只用于数字的显示,所以要求也比较低,而且显示的东西比较多,可以显示出整个式子,还可以显示出其他字符。
方案三:采用8位led数码管,因为只要求可以进行四则运算,对数字的大小范围要求不高,所以可以采用进行四位数字的运算的8 个LED 数码管来显示数据和结果,但是连线比较复杂,布线比较麻烦。
综合以上分析,在该项设计中,采用第二方案来实现设计的显示模块。
2.3.3 计算实现
在硬件的基础上,直接采用单片机的计算器通过软件系统C语言程序编程以实现计算器的计算功能。
2.4系统框图
该系统通过计算器按键随意输入所要计算去式子,作为电平送给主体电路,中央处理器通过识别,解码输出对应的数字或运算符,显示在LCD上。具体关系如图3-1所示: