基于51单片机计算器设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

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

1 / 26
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功