基于单片机的计算器设计论文内容摘要:

执行。 Pin31:EA/Vpp程序存储器的内外部选通线, 8051 和 8751 单片机,内置有 4kB 的程序存储器,当 EA 为高电平并且程序地址小于4kB 时,读取内部程序存储器指令数据,而超过 4kB 地址则读取外部指令数据。 如 EA 为低电平,则不管地址大小,一律读取外部程序存储器指令。 显然,对内部无程序存储器的 8031,EA 端必须接地。 在编程时, EA/Vpp脚还需加上 21V 的编程电压。 矩阵按键 键盘是单片机系统中最常用的人机 对话输入设备,用户通过键盘向单片机输入数据或指令。 键盘控制程序需完成的任务有:监测是否有键按下,有键按下时,若无硬件去抖动电路时,应用软件延时方法消除按键抖动影响;当有多个键同时按下时,只处理一个按键,不管一次按键持续多长时间,仅执行一次按键功能程序。 矩阵按键扫描程序是一种节省 I/O 口的方法 ,按键数目越多节省 I/O 口就越可 观,思路:先判断某一列(行)是否有按键按下,再判断该行(列)是哪 一只键按下。 但是,在程序的写法上,采用了最简单的方法,使得程序效率最高。 本程序中,如果检测到某键按下了,就不再检测其它的按 键,这完全能满足绝大多数需要,又能节省大量的 CPU 时间。 计算器设计总体思想 根据功能和指示要求,本系统选用以 MCS51 单片机为主控机。 通过扩展必要的外围接口电路,实现对计算器的设计。 14 具体设计如下: 由于要设计的是简单的计算器,可以进行四则运算,为了得到教好的显示效果,采用 LCD 显示数据和结果。 另外键盘包括数字键( 09)、符号键( +、 、 *、 /)、清除键和等号键,故只需要 16 个按键即可,设计中采用集成的计算机键盘。 执行程序:开机显示零,等待键入数值,当键入数字,通过 LCD 显示出来,当键入 +、 、 *、 /运算符,计算器在内部执行数值转换和存储,并等待再次键入数值后将显示键入的数值,按等号就会在 LCD 上输出运算结果。 错误提示:当单片机执行程序中有错误时,会在 LCD 上显示相应的提示,如:当输入的数值或计算器得到的结果大于计算器的显示范围时,计算器会在 LCD 上提示溢出;当除数为 0 时,计算器会在 LCD 上提示错误。 15 第 三 章 硬件系统设计 硬件系统是指构成微机系统的实体和装置,通常由运算器、控制器、存储器、输入接口电路和输入设备、输出接口电路和 输出设备等组成。 单片机实质上是一个硬件的芯片,在实际应用中,通常很难直接和被控对象进行电气连接,必须外加各种扩展接口电路、外部设备、被控对象等硬件和软件,才能构成一个单片机应用系统。 本设计选用以 AT89S51 单片机为主控单元。 显示部分:采用 LCD 静态显示。 按键部分,采用 4*4 键盘。 硬件电路原理图如图 所示: 图 硬件电路原理图 16 键盘接口电路 计算机输入数字和其他功能按键时要用到很多按键,在这种情况下,编程会很简单,但是会占用大量的 I/O 口资源,因此在很多情况下都不采用这样的方式,而是 采用矩阵键盘的方式。 矩阵键盘采用四条 I/O 线作为行线,四条 I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。 这样键盘上按键的数量就为 4*4 个。 这样行列式键盘结构能有效的提高单片机系统中 I/O 口的利用率。 计算器的键盘布局如图 所示:一般有 16 个键组成,在单片机中正好有一个 P 端口实现 16 个按键功能,这种形式在单片机系统中最常用。 图 矩阵键盘内部电路 LCD 显示模块 本设计采用 LCD 液晶显示器来显示输出数据。 LCD 的特性有: +5V 电压,对比可调度; 内含复位电路; 提供各种控制 17 命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能; 有 80 字节显示数据存储器 DDRAM。 内建有 160 个 5X7 点阵的字型的字符发生器 CGROM。 8 个可由用户自定义的 5X7 的字符发生器 CGRAM。 本设计通过 D0D7 引脚向 LCD 写指令字或写数据以使 LCD 实现不同的功能或显示相应的数据。 其接口电路如图 所示。 图 LCD 接口电路 LCD 的引脚说明如表 所示: 表 LCD 的引脚说明 符号 引脚说明 符号 引脚说明 VSS 电源地 DB4 Data I/O VDD 电源正极( +5V) DB5 Data I/O V0 液晶显示偏压输入 DB6 Data I/O RS 数据 /命令选择端( H/L) DB7 Data I/O R/W 读写控制信号( H/L) CS1 片选 IC1 信号 E 使能信号 CS2 片选 IC2 信号 DB0 Data I/O RST 复位端( H:正常工作,L:复位) DB1 Data I/O VEE 负电源输出( 10V) DB2 Data I/O BLA 背光源正极( +) DB3 Data I/O BLK 背光源正极 18 运算 模块 MCS51 单片机是在一块芯片中集成了 CPU、 RAM、 ROM、定时器 /计数器和多功能 I/O 等计算机所需要的基本功能部件。 如果按功能划分,它由以下功能部件组成,即微处理器 (CPU),数据存储器 (RAM),程序存储器( ROM/EPROM),并行 I/O 口,串行口,定时器 /计数器,中断系统及特殊功能寄存器( SFR)。 单片机是靠程序运行的,并且可以修改。 通过不同的程序实现不同的功能,尤其是特殊的一些功能,通过使用单 片机编写的程序可以实现高智能、高效率以及高可靠性, 因此采用单片机作为计算器的主要功能部件,可以很快的实现运算功能。 运算模块由键盘和显示屏组成。 单片机通过按键来实现输入数据和操作方式的控制,在运算过程中, 对所设的数据进行四则运算时,要先确定选用的是哪一个运算符,若是 +或 *,则要判断结果是否会溢出,溢出则显示错误提示,没有溢出则显示运算结果,若是 /,则要判断除数是否为零,为零时显示错误提示,不为零显示运算结果。 19 第 四 章 软件设计 汇编语言和 C 语言的特点及选择 本设计是硬件电路和软件编程相结合的设计方案 ,选择合适的编程语言是一个重要的环节。 在单片机的应用系统程序设计时,常用的是汇编语言和 C 语言。 机硬件,程序可读性和可移植性比较差。 而 C 语言虽然执行效率没有汇编语言高,但语言简洁,使用方便,灵活,运算丰富,表达化类型多样化,数据结构类型丰富,具有结构化的控制语句,程序设计自由度大,有很好的可重用性,可移植性等特点。 由于现在单片机的发展已经达到了很高的水平,内部的各种资源相当的丰富, CPU 的处理速度非常的快。 用 C 语言来控制单片机无疑是一个理想的选择。 所以在本设计中采用 C 语言编写软件程序。 主程序的设计详见附录三。 键扫 程序设 计 键扫程序的过程为: 开始时, 先判断是否有键闭合, 无键闭合时,返回继续判断,有键闭合时,。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。