基于51单片机计算器设计.doc
《基于51单片机计算器设计.doc》由会员分享,可在线阅读,更多相关《基于51单片机计算器设计.doc(26页珍藏版)》请在三一办公上搜索。
1、设计题目: 计 算 器 系 别: 应用电子与通信技术系 班 级: 0991321 学生姓名: 石 晴 晴 指导教师: 姜滨、徐秋景 成 绩: 2012年 7 月 12 日课 程 设 计 任 务 书课程设计题目计算器功能技术指标要求设计一个4*4键盘,实现+、-、*、%的基本运算,运算结果用液晶进行显示。工作量2周工作计划完成设计时间分配:第1周:分析并设计电路、进行软件仿真验证。第2周:调试,写答辩论文,准备答辩。指导教师评语 2012年 7 月 2日目录第1章 绪论11.1 课题简介11.2 设计目的11.3 设计任务1第2章 电路结构及工作原理32.1 总体设计方案32.2 51系列单片机
2、简介32.3 矩阵按键42.4 LCD显示52.5运算模块62.6总设计图6第3章 软件设计73.1软件流程图73.1.1 键盘模块设计流程图73.1.2显示模块流程图83.1.3计算模块程序流程83.2程序设计9第4章 调试与仿真194.1 C51单片机软件开发系统 Keil194.2 proteus的操作19结论20心得体会21致谢22参考文献23第1章 绪论1.1 课题简介 当今社会,随着人们物质生活的不断提高,电子产品已经走进了家家户户,无论是生活还是学习,还是娱乐和消遣几乎样样都离不开电子产品,大型复杂的计算能力是人脑所不能胜任的,而且比较容易出错。计算器作为一种快速通用的计算工具方
3、便了用户的使用。计算器可谓是我们最亲密的电子伙伴之一。本设计 着重在于分析计算器软件可开发过程中的环节和步骤, 并从时间经验出发对计算 器设计做了详细的分析和研究。 单片机由于其微小的体积和极低的成本,广泛的应用于家电、工业控制等领域中。在工业生产中,单片微型计算机是微型计算机的一个重要的分支,也是颇具生命力的机种。单片微型计算机简称单片机,特别适用于控制领域,故又称微 控制器。 本系统就是充分利用了 AT89C51 芯片的 I/O 引脚。系统以采用 51 单片机 实现能根据实际输入值显示并存储的功能,计算程序是参照课件。至于数和功能,如果需要可以通过设计扩充系统来实现。1.2 设计目的通过本
4、次项目设计,应用所学相关知识资料,来完成简易计算器的设计,以达到理论与实际更好相结合进一步提高综合运用所学知识和设计能力的目的。通过本次设计的训练,可以使我在基本思路和基本方法上对基于 51 单片机的嵌入式系统有一个比较感性的认识,并具备一定程度的设计能力。1.3 设计任务 在本次的项目设计中,主要完成如下的设计任务: 1、简要阐述单片机技术发展的国内外现状及 LCD 动态显示和矩阵键盘基本原理。 2、掌握 51 单片机系列某种产品的最小电路及外围扩展电路的设计方法。 3、完成主要功能模块的硬件电路设计及必要的参数确定; 4、用软件完成原理电路图的绘制;5、实现+、-、*、%的基本运算,运算结
5、果用液晶进行显示。第2章 电路结构及工作原理2.1 总体设计方案根据功能和指示要求,本系统选用 51 单片机为主控机。通过扩展必要的外围电路接口 实现计算的设计。具体如下: 1、 由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用 LCD 显示数据和结果。 2、 另外键盘包括数字键(09) 、符号键(+、-、*、/) 、清除键和等号键,故采用 4*4 按键。 3、 执行程序:开机显示字符串,等待键入数值,当键入数值,通过 LCD 显示,当键入+、 -、* 、 /时计算器在内部执行数值转换和存储,并等待再次键入数值并等待执行等号程序。 整个系统可分为三个主要的功能模块:一
6、、实时键盘扫描;二、数据转换成显示器显示;三、显示器的动态显示。其系统结构框图如下:单片机89c51输入模块4*4键盘显示模块图2-1 系统结构框图2.2 51系列单片机简介AT89C51是51系列单片机的典型产品,以这一代表性的机型进行系统的 讲解。AT89C51 单片机包含中央处理器、程序存储器、数据存储器、定时/计数 器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总 线等三大总线,其内部结构如图 2-2 所示:图2-2 AT89C51内部结构图2.3 矩阵按键 键盘是单片机系统中最常用的人机对话输入设备, 用户通过按键向单片机输入指令和数据。键盘控制程序需完成的任务
7、有:检查是否有按键按下,有键按下时,如无硬件去抖动电路时,应用软件延时方法消除按键抖动;当有多个按键按下时,只响应一个按键,不管持续多长时间,仅执行一次按键功能程序。现用矩阵按键用作计算器的键盘,其结构图如2-3所示:图2-3矩阵按键结构图2.4 LCD显示本电路采用的是 LCD 液晶显示输出数据。液晶显示器 LM016L 液晶显示器 如下图所示:图2-4 液晶显示图2.5运算模块51 单片机是一块芯片集成了 CPU、RAM、ROM、定时/计数器和多功能的 I/O 口。 运算模块由键盘和显示屏组成。 单片机通过按键来实现输入数据和操作方式 的控制,在运算过程中,对所设的数据进行四则运算时,首先
8、确定选用的是哪一 个运算,若是+或*,则要判断是否会溢出;若是/则要判断除数是否是零。2.6总设计图根据对以上各部分的描述,把他们连接在一起,形成如下图所示的总设计图:图2-5 总设计图第3章 软件设计3.1软件流程图软件设计和硬件设计一样也由三部分组成,其中包括:键盘模块、显示模块、计算模块,现分别对这三部分分别介绍。3.1.1 键盘模块设计流程图矩阵键盘需要初始化,并且分别对其行、列进行扫描,在扫描过程中判断是否有键按下,根据以上要求,键盘模块设计的流程图如图3-1所示:图3-1键盘模块设计流程图3.1.2显示模块流程图本电路采用的是 LCD 液晶显示输出数据,在流程图中应包括对LCD液晶
9、显示器初始化,取要显示的数据,要是有两位数据需要显示,则在显示完第一位数据后需要进行延迟来显示第二位数据,则根据以上要求,显示模块的流程图如图 3-2所示:图3-2显示模块流程图3.1.3计算模块程序流程在计算模块中,必须保证按键按下的数和LCD液晶显示的数保持一致,则需要把+、-、*、/等字符转换成数据,根据以上要求,计算模块的程序流程图如图3-3所示:键盘模块b=b*10+tablenumB=10B+key保存运算符a=a*10+tablenumA=10A+keyA和B按运算符号进行运算是否A是否+-*/是否CL是否=是是是否否否初始化是否附:A代表按下运算符号前的数,B代表按下运算符后的
10、数。图3-3计算模块流程图3.2程序设计根据3.1节的各部分的软件程序流程图,则编写的C语言程序如下:#include /头文件#define uint unsigned int / 定义无符号整形#define uchar unsigned char/ 无符号字符sbit lcden=P23; /定义引脚sbit rs=P24;/ 数据或命令选择端sbit rw=P20; / 读或写sbit busy=P07;/ 忙或闲 标志char i,j,temp,num,num_1;/定义5个字符标志位long a,b,c; /a,第一个数 b,第二个数 c,得数float a_c,b_c;uchar
11、 flag,fuhao;/flag表示是否有符号键按下,fuhao表征按下的是哪个符号uchar code table=7,8,9,0,4,5,6,0,1,2,3,0,0,0,0,0;uchar code table1=7,8,9,0x2f-0x30, /按键标值 0x2f-0x30是将字符转化为数字,与后面的0x30+i抵消,得i值4,5,6,0x2a-0x30,1,2,3,0x2d-0x30,0x01-0x30,0,0x3d-0x30,0x2b-0x30;/0x01是清屏命令void delay(uchar z) / 延迟函数uchar y;for(z;z0;z-) /延时z*y for(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 计算器 设计
链接地址:https://www.31ppt.com/p-4147855.html