电子计算器课程设计报告书

  • 格式:doc
  • 大小:1004.00 KB
  • 文档页数:19

下载文档原格式

  / 19
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

1 设计任务和性能指标 (1)

1.1 设计任务 (1)

1.2 性能指标 (1)

2 设计方案 (1)

2.1 需求分析 (1)

2.2 方案论证 (1)

3 系统硬件设计 (2)

3.1 总体框图设计 (2)

3.2 单片机选型 (2)

3.3 单片机附属电路设计 (3)

3.4 LCD液晶显示 (4)

4 系统软件设计 (4)

4.1 设计思路 (4)

4.2 总体流程图 (4)

4.3 子程序设计 (5)

4.4 总程序清单 (6)

5 仿真与调试 (6)

5.1 调试步骤 (6)

5.2 仿真结果及性能分析 (8)

6 总结 (8)

参考文献 (8)

附录1 系统硬件电路图 (10)

附录2 程序清单 (11)

1 设计任务和性能指标

1.1 设计任务

电子计算器设计

1、能实现4位整数的加减法和2位整数的乘法;

2、结果通过5个LED数码管显示(4位整数加法会有进位)或通过液晶显示屏显示。

1.2 性能指标

1.用数字键盘输入4位整数,通过LED数码显示管或液晶显示屏显示。

2.完成四位数的加减法应算。当四位数想加时产生的进位时,显示进位。

3.显示2位,并进行2位整数的乘法。

4.设计4*4矩阵键盘输入线的连接。

2 设计方案

2.1 需求分析

我们日常生活的开支,大额数字或是多倍小数的计算都需要计算器的帮助,处理数字的开方、正余弦都离不开计算器。虽然现在的计算器价格比较低廉,但是功能过于简单的不能满足个人需求,功能多的价格较贵,操作不便不说,很多功能根本用不到。所以,我们想到可不可以用自己所学为自己设计开发一个属于自己的简单计算器来完成日常生活的需求。

2.2 方案论证

使用单片机为ATMEL公司生产AT89C51,AT89C51提供以下标准功能:4K字节FLASH 闪速存储器,128字节部RAM,32个I/O口线,两个16位定时/计数器,一个向量两级中断结构,一个全双工串行通讯口,置一个精密比较器,片振荡器及时钟电路,同时AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的工作模式,空闲方式停止CPU的工作,但允许RAM,定时计数器,串行通信及中断系统继续工作。

显示用LCD液晶显示屏,减少线路连接。

用C言编写程序,易进行调试修改。

采用4*4矩阵键盘作为输入。

3 系统硬件设计

3.1总体框图设计

电路图如附录1

3.2单片机选型

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能、CMOS、8位单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。AT89C51的管脚图如图2.2所示。

图3-1

3.3 单片机附属电路设计

一、晶体振荡电路

1.晶体振荡器的作用

石英晶体振荡器也称石英晶体谐振器,它用来稳定频率和选择频率,是一种可以取代LC谐振回路的晶体谐振元件。

2.本设计所用的晶体振荡电路如图2.3所示:

图3-2 晶振电路

此晶振电路所选用的石英晶振频率为12MHZ。

一、晶体振荡电路

单片机复位的条件是:必须使RST/Vpd或RST引脚加上持续两个机器周期(即24个振荡周期)的高电平。

图3-2 复位电路

该电路除具有上电复位功能外,若要复位,只需按图中的BUTTON键,此时电源VCC经电阻R1、R2分压,在RESET端产生复位高电平。

3.4 4*4矩阵键盘控制电路

矩阵式键盘的结构与工作原理:

在键盘中的按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,其部简图如图3-3在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,只需要单片机的一个端口(如P1口)就可以构成4*4=16个按键,比直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘比较是合理的。

由于本系统按键较多,在这里采用矩阵式4*4键盘,这样可以合理应用硬件资源,用一个8位I/O口控制, 如图3-3所示:

图3-3按键部电路简图

矩阵式键盘的按键识别方法

一、确定矩阵式键盘上何键被按下,我们采用一种“行扫描法”。

行扫描法:行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法。

3.4 LCD液晶显示

1602LCD采用标准的14脚(无背光)接口,各引脚接口说明如表所示:

编号符号引脚说明编号符号引脚说明

1 VSS 电源地8 D1 数据

2 VDD 电源正极9 D2 数据

3 VEE 液晶显示偏压10 D3 数据

4 RS 数据/命令选择11 D4 数据

5 RW 读/写选择12 D5 数据

6 E 使能信号13 D6 数据

7 D0 数据14 D7 数据

4 系统软件设计

4.1设计思路

1.要有显示子程序,当键入一个数值或符号时显示程序要把这个键入的值给显示出来。经过运算在按下等号之后显示出此次运算的结果。

2.就是按键程序,当一个键盘按下的时候,按键程序要判断是哪个按键按下,如果是数字键按下就要转向显示子程序来显示出这个数字,然后等待下一个键值的输入,再次判断按下的是什么键,如果是功能键就要根据上次功能键和输入的数据来计算结果,然后保存结果和功能键,结果送显示缓冲区显示。等待下个数值的输入,如此重复。

4.2总体流程图