简易计算器单片机原理

上传人:大米 文档编号:476468735 上传时间:2022-11-19 格式:DOC 页数:28 大小:203.50KB
返回 下载 相关 举报
简易计算器单片机原理_第1页
第1页 / 共28页
简易计算器单片机原理_第2页
第2页 / 共28页
简易计算器单片机原理_第3页
第3页 / 共28页
简易计算器单片机原理_第4页
第4页 / 共28页
简易计算器单片机原理_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《简易计算器单片机原理》由会员分享,可在线阅读,更多相关《简易计算器单片机原理(28页珍藏版)》请在金锄头文库上搜索。

1、摘要 本次课程设计的任务是进行简易计算器的设计,在这次设计中我们主要用到AT89C51为系统控制核心,通过8位共阳数码管来显示设计的主要功能。外接44的键盘,通过行列式键盘的扫描进行对输入数的控制,并外接驱动电路,系统采用LED数码管作为显示器,软件程序均采用C语言编写,便于移植与升级,报告详细介绍了整个系统的硬件组成结构、工作原理和系统的软件程序设计。计算器主要可完成的功能有整数的加,减,乘,除等。关键词:AT89C51,共阳数码管,行列式键盘,液晶。 / 文档可自由编辑打印目录摘 要IABSTRACTII第1章 方案的论证与比较1 1.1 单片机型系统的选择与论证1 1.2 显示模块的选择

2、与论证1 1.3 计算实现1第2章 各系统框图及工作原理2 2.1 系统总体设计结构框图2 2.2 系统的硬件电路设计2第3章 电路分析和设计6 3.1 led显示程序流程图设计6 3.2 读键输入程序流程图设计7 3.3 主程序流程图设计8第4章 系统仿真9 4.1 电路原理图9 4.2 程序设计12第5章 总结12参考文献13致谢14附录15第1章 方案的论证与比较1.1 单片机型系统的选择与论证 方案一:此方案采用AT89C51八位单片机实现。它内存较小,只有4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串

3、行通信口,所以对于设计一个简易计算器而言绰绰有余了,而且能通过编程器烧写成以.hex为后缀名的文件。方案二:此方案采用AT89S52八位单片机实现。它内存较大,有8K的字节Flash闪速存储器,比AT89C51要多4K。单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制。而且体积小,硬件实现简单,安装方便。另外AT89S52在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。虽然有很多功能超过了AT89C51,但是对于设计一个简易计算器而言完全没有必要。综上所述,我们采用了第二个方案,即AT89C51。1.2 显示模块的选择与论证方案一:采用LCD点阵显示

4、,用来显示文字、图形、图像、等各种信息的显示屏幕。在简单的计算器中不需要那么复杂,在软件编程方面也有一定的难度。方案二:采用液晶(JHD529M1)显示器件。对于LCD点阵显示器来说,液晶显示器简单且容易操作,也比较便宜,但由于设计显示比较的简单,只用于数字的显示,所以要求也比较低。方案三:由于要设计的是简单的计算器,只要求可以进行四则运算,对数字的大小范围要求不高,所以采用可以进行四位数字的运算的8 个LED 数码管来显示数据和结果。综合以上分析,在该项设计中,采用第三方案来实现设计的显示模块。1.3 计算实现在硬件的基础上,直接采用单片机的计算器通过软件系统C语言程序编程以实现计算器的计算

5、功能。第2章 各系统框图及工作原理2.1 系统总体设计结构框图 以AT89C51芯片为核心,当它接到来自按键的信号后,在数码管上显示相应的信息,同时在LCD上也显示相应的信息,并且有已处理好的数字计算结果也显示出来。(1)系统设计框图(如图2.1所示) 输入模块 单片机 运算模块 显示模块 图2.1 系统模块图2.2 系统的硬件电路设计2.2.1 单片机控制部分 (1)单片机的内部结构 MCS-51单片机片内主要由振荡电路、中央处理器(CPU)、内部总线、程序存储器、数据存储器、定时器/记数器、中断系统和I/O口等模块组成,各部分通过内部总线紧密地联系在一起。 (2)单片机的时钟电路单片机中包

6、括有时钟电路,时钟电路中主要的元件有晶体振荡器。晶体振荡器能产生一定频率的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。也同时决定了单片机的计算速度。电路中两个电容C1、C2的作用有两个:一是帮助振荡器起振,二是对振荡器的频率起微调作用。C1、C2的典型值为30pF。晶振为12MHz。整个电路接在51单片机的18,19管脚,即XTAL1,XTAL2管脚。时钟电路图(如图2.2所示) 图2.2 振荡电路图 (3)单片机的复位及复位电路复位状态计算机在启动运行时都需要复位,复位使中央处理器CPU和系统中的其他器件都处于一种初始状态,并从这个初始状态工作。MCS-51系列单片机有一个复位引

7、脚RST。在MCS-51系列单片机的RST引脚上输入一个高电平信号,该高电平信号至少要维持两个机器周期以上的时间,单片机被复位。 复位电路与其他计算机一样,MCS-51单片机系统的复位方法有上电自动复位、手动复位以及“看门狗”复位等。此最小系统采用手动复位电路。在系统运行过程中,有时可能对系统需要进行复位,为避免对硬件经常加电和断电造成的损害,我们可以采用手动复位。这种方法是将一个开关串联一只电阻后,再并联于电容C的两端,在系统运行过程中需要复位时只要使开关闭合,在RST引脚上就会出现一定时间的高电平信号,从而使单片机实现复位操作。 复位电路图(如图2.3所示) 图2.3 复位电路图(4)当A

8、T89C51芯片接到来自键盘输入的信号时,其内部程序将根据信号的类型来处理,并将处理的结果送到相对应的显示模块。以上几点是对MCS-51单片机各电路组成部分及工作原理和作用的整体描述。硬件电路图(如图2.4所示) 图2.4 单片机控制模块图2.2.2 数码管显示模块部分该模块是由8个共阳数码显示管组成,但由于材料准备不足,只有一个共阳的数码管,所以在设计电板上只安装有一个数码管。显示的结果只能显示一位,也就是说计算的结果只能显示各位数字的结果,但不影响总体的设计方案。2.2.3 键盘输入部分计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占

9、用大量的I/O 口资源,因此在很多情况下都不采用这种方式。为此,引入了矩阵键盘的应用,采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘。在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为44个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。1)以下是对计算器键盘的介绍:每个按键都有它的行值和列值,行值和列值的组合就是识别这个按键的编码。矩阵的行线和列线分别通过两并行接口和CPU通信。键盘的一端(列线)通过电阻接VCC,而接地是通过程序输出数字“0”实现的。键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么?还要消除按键在闭合或断开时的

10、抖动。两个并行口中,一个输出扫描码,使按键逐行动态接地;另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。当无按键闭合时,P1.0P1.3 与P1.4P1.7 之间开路;当有键闭合时,与闭合键相连的两条I/O 口线之间短路。判断有无按键按下的方法是:第一步,置列线P1.4P1.7 为输入状态,从行线P1.0P1.3 输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。第二步,行线轮流输出低电平,从列线P1.4P1.7 读入数据,若有某一列为低电平,则对应行线上有键按下。综合一二两步的结果,可确定按键编号。但是键闭合一次只能进行一

11、次键功能操作,因此须等到按键释放后,再进行键功能操作,否则按一次键,有可能会连续多次进行同样的键操作。2)键盘电路图(如图2.5所示) 图2.5 键盘电路2.2.4 运算系统 MCS-51 单片机是在一块芯片中集成了CPU、RAM、ROM、定时器/计数器和多功能I/O等一台计算机所需要的基本功能部件。所以单片机是靠程序运行的,并且可以通过修改程序实现指定的功能输出,通过不同的程序实现不同的功能。在设计中,只应用到了简单的四则运算功能。通过使用单片机编写的程序可以实现高智能,高效率,以及高可靠运算性能。因此我们采用单片机作为计算器的主要功能部件,可以进行很快地实现运算功能。第3章 电路分析和设计

12、3.1 LED显示程序流程图设计(1)LED显示流程图(如图3.1所示)初始化目标参数关所有显示位取显示数据输出段码数据输出位选通信号延时位选通信号移位指向下一个显示数据复位完成返回NN 图3.1 LED显示流程图3.2 读键输入程序流程图设计为了实现键盘的数据输入功能和命令处理功能,每个键都有其处理子程序,为此每个键都对应一个码键码。为了得到被按键的键码,现使用行扫描法识别按键。列扫描信号进行读入行的信号判断该列是否有列的输出是则进行按照行列计算键盘的值,查表取得键码并返回若否则进行再次扫描。(1) 键盘输入流程图(如图3.2所示)Y开始初始化地址参数输出列扫描信号列扫描信号移位读入行信号该

13、列有键输入4列扫描完按照行列计算键值查表得键值支持按键释放返回返回YNN 图3.2 键盘输入流程图3.3 主程序流程图设计运算主程序设计首先初始化参数,送LED低位显示“0”,高位不显示。然后扫描键盘看是否有键输入,若有,读取键码。判断键码是数字键、清零键还是功能键(“+”“-”“*”“/”“=” ),是数值键则送LED显示并保存数值,是清零键则做清零处理,是功能键则又判断是“=”还是运算键,若是“=”则计算最后结果并送LED显示,若是运算键则保存相对运算程序的首地址。(1)运算主程序框图(如图3.3所示)开始初始化参数LED显示有键输入读取键码键码是?数字清零功能数值送显示器中根据上次功能键

14、和输入的 数据计算结果本次功能是=其它计算最后结果保存结果和功能键结果送显示器中等待数值输入图3.3 运算主程序图第4章 系统仿真4.1 电路原理图和系统仿真硬件:AT89C51 晶振12MHz. 8位共阳数码管。主要功能:实现简单的数学四则运算功能。通过调试正常的电板接上+5V电源,从键盘上分别按下标有字符的按键“25”,“*”,“4”,“=”在数码管上最终显示的结果为100,然后按下归零键,输入“2”,“+”,“3”,“=”结果显示为5,继续输入字符代码,结果显示都能得到正确的答案,证明实验的硬件安装正确,软件方面也正确。所以,简易计算器的设计实验是成功的。 (1)电路原理图(如图4.1所示) 图4.1 电路原理图(2)电路仿真图1(如图4.2所示) 图

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号