单片机课程设计报告(简易计算器) - 图文 下载本文

内容发布更新时间 : 2024/5/20 0:49:11星期一 下面是文章的全部内容请认真阅读。

简易计算器

摘 要:计算器是人们的日常生活中是最常见的电子产品之一,它应用极广、发展迅猛,并且不断出现着拥有更加强大功能的计算器。为了解和研究计算器,本次课设设计制作了一个简易计算器,能够在十四位的计算范围内进行“+”、“-”、“*”、“/”的基本运算,能进行负数以及小数点后两位的精确结果显示。该计算器以AT89C51单片机芯片作为核心。采用LCD1602工业字符液晶进行显示。完成的计算器经过检验能够完整的实现预设功能,各种细节完善,具有很高的使用价值。

关键词:单片机;简易计算器;AT89C51;LCD1602

- 1 -

Simple Calculator

Abstract :Calculator is People's Daily life is one of the most common electronic products, used very wide, developing rapidly, and constantly appear more powerful function with have calculators. In order to understand and study calculator, this class set design made a simple calculator, can the calculation in within 14 \basic computing, can carry out negative and two decimal places accurate results are shown. This calculator with AT89C51 chips as the core. Using liquid LCD1602 industrial characters displayed. Complete calculator after inspection can complete realization, various details preset functions to perfect, have high use value.

Keywords:MCU; Simple calculator;AT89C51;LCD1602

- 2 -

目录

中文摘要............................................................1 英文摘要............................................................2 单片机课程设计......................................................4 1 课程设计任务.....................................................4 1.1 主要功能设计................................................4 1.2 任务目的....................................................4 2 整体设计方案......................................................4 2.1 方案论证....................................................4 2.2 系统框图....................................................5 3 硬件电路的设计...................................................6 3.1 计算机Protel总图............................................6 3.2 显示电路设计方案............................................9 3.3 键盘设计方案................................................9 3.4 复位电路设计...............................................10 3.5 晶振电路设计...............................................10 4 控制软件设计....................................................11 4.1 程序时序总图...............................................11 4.2 液晶显示软件设计...........................................12 4.3 键盘输入软件设计...........................................13 4.4 计算函数设置...............................................15 5 系统调试........................................................18 5.1 硬件调试...................................................18 5.2 软件调试...................................................18 参考文献...........................................................20 个人小结...........................................................21 附录...............................................................24 附录1..........................................................24 附录2..........................................................25

- 3 -

1课程设计任务

1.1 主要功能设计

以AT89C51单片机芯片为核心来制作一个简易计算器,外部由4*4矩阵键盘和一个LCD1602工业字符型液晶显示屏构成,内部由一块AT89C51单片机构成,通过软件编程可实现简单加减乘除。

1.2 任务目的

通过本次课程设计提高我们的单片机硬件设计、软件编程能力,自主学习到更多的单片机应用知识。

2 整体设计方案

2.1 方案论证

计算器电路包括三个部分:

显示电路、4*4键扫描电路、单片机微控制电路。具体如下:

(1)LCD显示电路

LCD1602作为一个成熟的产品,使用简单,模式固定,便于移植到各种类型的程序,但是初学者往往要注意结合LCD本身的时序图来完善初始化程序。又以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,故采用LCD.

(2)4*4键盘扫描电路

一般常采用3 种方法读取键值。一种是中断式,外两种是扫描法和反转法。 中断式:在键盘按下时产生一个外部中断通知CPU,并由中断处理程序通过不同的地

址读取数据线上的状态,判断哪个案件被按下。本实验采用中断式实现用户键盘接口。

扫描法:对键盘上的某一行送低电平,其他行为高电平,然后读取列值。若列值中有一

位是低,则表明该行与低电平对应列的键被按下;否则,扫描下一行。 反转法:先将所有行扫描线输出低电平,读列值。若列值有一位是低,则表明有键按下,

读列值;然后所有列扫描线输出低电平,再读行值。根据读到的值组合就可以查表1 得到的

- 4 -