计算器说明书

  • 格式:doc
  • 大小:3.82 MB
  • 文档页数:36

下载文档原格式

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

1 设计课题任务、功能要求说明及总体方案介绍

1.1 设计课题任务

课题:简易计算器

任务:设计一个具有特定功能的计算器。该计算器上电或按键复位后能自动显示系统提示界面,进入准备工作状态。能实现基本的加、减、乘、除四则运算。

1.2 功能要求说明

在本次工程实践中,主要完成如下方面的设计任务:

(1)计算器上电或按键复位后能显示初始化界面

(2)2秒后进入计算器界面

(3)按键能进行加、减、乘、除运算并显示结果

(4)按清零键后能进行下一次计算

1.3 设计课题总体方案介绍及工作原理说明

计算器的总体功能原理是以AT89S52单片机为主要控制核心,通过外接4*4行列式键盘作为控制信号输入源,一块12864液晶作为显示器件,通过按键控制,单片机实时地去执行,在12864液晶上显示界面。系统控制原理图如图1所示。

液晶

显示电路AT89S52

电源电路

复位电路

下载电路

键盘电路图1系统控制原理图

2 设计课题硬件系统的设计

2.1 设计课题硬件系统各模块功能简要介绍

2.1.1 AT89S52控制模块

考虑到设计功能需要,控制器的功能用于外部键盘信号的接收和识别、液晶模块的显示控制、复位电路等,我们选择了AT89S52系列单片机,具有反应速度极快,工作效率特高的特点。

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

2.1.2 12864液晶模块

FYD12864-0402B是一种具有4位/8位并行,2线或3线串行多种接口方式,内含国家一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128*64,内置8192个16*16点汉字,和128个16*8点ASCⅡ字符集。利用该模块灵活的接口和简单、方便的操作指令,可构成全中文人机交互图形界面。12864液晶的控制口线主要接在AT89S52单片机的P0和P3的部分口线上,可以显示8×4行,16×16点阵的汉字。低压低功耗是其又一显著特点。与同类液晶模块相比,无论硬件电路或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的液晶模块。

2.1.3 键盘功能模块

根据系统的基本要求,采用由16个键构成的行列式键盘分别接在AT89S52单片机的P1.0-P1.7,相对于独立式键盘节省了大量口线和空间,给电路设计带来极大的方便,不过也相应的增加了程序的设计难度。采用矩阵式连接方法,组成4×4式16个按键,分别代表数字“0~9”、运算符“+、-、*、/”、等于号“=”、清零键。

2.2 设计课题电路原理图、PCB图、元器件布局图

2.2.1 电路原理图

电路原理图(见附录A)

2.2.2 电路PCB图

电路PCB图(见附录B)

2.2.3 元器件布局图

元器件布局图(见附录C)

2.2.4 键盘电路原理图及PCB图

键盘电路原理图及PCB图(见附录D)

2.3 设计课题元器件清单

见附录E

3 设计课题软件系统的设计

3.1 设计课题使用单片机资源的情况

AT89S52的片外资源:

P0、P1:基本输入输出口;

P3.5:E(12864液晶);

P3.0:RS(12864液晶);

P3.1:RW(12864液晶);

XTAL1、XTAL2:晶振输入;

RST: 复位输入。

AT89S52的片内资源:

30H、31H、32H、33H单元:临时暂存器单元;23H单元:第一操作数存储单元;24H单元:第二操作数存储单元;24H单元:第一操作数单元;25H单元:第二操作数单元;26H单元:运算的高位存放单元;27H单元:运算的低位存放单元;通用寄存器区;专用寄存器SFR:A,PSW,SP,P0,P1,P3等。

3.2 设计课题软件系统各模块功能简要介绍

3.2.1主函数模块

主函数Void main(),用于设置初始化界面,调用各个主要模块,实现简单计算器的整体功能。

3.2.2矩阵式键盘模块

矩阵式键盘软件设计主要通过在主程序中调用键扫函数keyscan()来执行相应的功能,单片机P1口在复位之后保持高电平,当键按下相应口线为低电平,经过相应判别过程判断键松开后,执行相关键功能程序,完成相应操作。

3.2.3液晶显示模块

液晶显示是通过在主程序中调用相关的液晶功能函数来执行相应功能,经过液晶接在单片机上的P0及P3部分管脚,通过液晶功能函数LCD12864()的调用对液晶进行操作,将各类指令写入液晶模块,用来驱动液晶以实现不同的显示功能,达到界面显示的要求。

3.2.4数据处理模块

通过调用处理函数jia_deng(uint i,uint j);jian_deng(uint i,uint j);cheng_deng(uint i,uint j);chu_deng(uint i,uint j);chengfang(uint a,uint b),把键盘上输入的数字顺序显示,并且对运算结果进行位数分离后显示。

3.3 设计课题软件系统程序流程框图

3.3.1主函数

开始

显示界面

调键扫函数

N

是否有键按

Y

输入第一次操

作数

输入运算符号

输入第二次操

作数

输入等于号

调数据处理函

调显示函数

显示运算结果

清零

结束

图2主函数流程框图