浙江海洋学院
设计题目 用8051+1601LCD设计的整型计算器
摘 要
当今时代,是一个新技术层出不穷的年代。单片机具有体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。单片机由运算器、控制器、存储器、输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。概括的讲:一块芯片就成了一台计算机。单片微型计算机简称单片机,是典型的嵌入式微控制器,常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
它所给人带来的方便不可否认,本设计是由单片机实现的模拟计算器它不仅能实现数据的加减乘除运算而且还能使数据及其计算结果在LCD管上显示出来能够实现0-256的数字四则运算。本设计是用单片机AT89C52来控制采用共阳极数码显示软件部分是由C语言来编写的。为了满足计算器的基本要求,可以基本的运算(加减乘除),数据归零和出错警告提示,我们采用基于单片机设计计算器,并用LCD 液晶显示数据,4*4 的矩阵键盘实现数据输入,程序语言我们使用c语言。
设计任务:利用键盘和数码管设计一个简单的数学计算器可以完成简单的如加减乘除的四则运算并将运算结果在数码管上显示出来。
关键词:加减乘除运算;单片机AT89C52;LCD 液晶显示;4*4 的矩阵键盘实现数据输入
目 录
1.引言5
2.方案论证与设计5
2.1 要求与内容5
2.2 设计方案5
3.硬件设计6
3.1 单片机最小系统6
3.2 LCD显示模块7
3.3 输入模块8
4. 软件设计9
4.1 输入程序流程图设计9
5. 实验结果与讨论11
5.1 仿真实验11
5.2 结果讨论14
6.心得体会14
7.附 录A; 源程序14
8.参考文献19
用8051+1601LCD设计的整型计算器
引 言
不同于通用计算机应用程序设计,单片机C语言程序设计必须针对具体的微控制器及外围电路来进行
方案设计
设计要求
用单片机AT89C51来控制采用共阳极数码显示软件部分是由C语言来编写的。为了满足计算器的基本要求,可以基本的运算(加减乘除),数据归零和出错警告提示,我们采用基于单片机设计计算器,并用LCD 液晶显示数据,4*4 的矩阵键盘实现数据输入,程序语言我们使用c语言。
设计方案
2.1.1 单片机芯片的选择
根据功能和指标要求,本系统选用MCS-51系列单片机AT89C51为主控机。通过扩展必要的外围接 口电路,实现对计算器的设计。计算器电路包括三个部分:显示电路、4*4键扫描电路、单片机微控制电路。用七段数码管作为显示电路,矩阵键盘作为输入电路。模块图如下1.1。
图1.1
硬件设计
单片机最小系统
单片机最小系统选用AT89C52 提供以下标准功能:8字节FLASH闪速存储器,256字竹内部RAM , 32个I/O口线,3个16 位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89c52可降至OHz的静态逻辑操作,并支持两种软件可选的节电上作模式。空闲方式停止CPU 的工作,但允许RAM,定时/计数器.串行通信口及中断系统继续工作。掉电方式保存RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位.如图3.1
图3.1
3.2.LCD显示模块
1601采用标准的14脚接口,其管脚功能介绍如下:
1:VSS为电源地
2:VDD接5V电源正极
3:VEE为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高。
4:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
5:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。
6:E(或EN)端为使能(enable)端。
7~14:D0~D7为8位双向数据。
具体看图3.2
图3.2
输入模块
计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式。为此,引入了矩阵键盘的应用,采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘。在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4×4个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率
图3.3
软件设计
4.1输入程序流程图设计
该计算器系统的软件设计分为以下几个模块:(1)主程序模块,(2) 读键输入程序流程图,(3)显示程序 (4)计算程序。
(1)运算主程序设计
首先初始化参数,送LED低位显示“0”,高位不显示。然