1、 1 1 引言 当今时代,是一个新技术层出不穷的时代。在电子领域,尤其是自动化智能控制领域, 传统的分立元件或数字逻辑电路构成的控制系统正以前所未见的速度被单片机智能控制系 统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自 动控制的核心就是单片机。目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单 位大规模地兴起。过去习惯于传统电子领域的工程师、技术员正面临着全新的挑战,如不能 在较短时间内学会单片机,势必会被时代所遗弃,只有勇敢地面对现实,挑战自我,加强学 习,争取在较短的时间内将单片机技术融会贯通,才能跟上时代的步伐。 它所给人带来的方便也是不可否定的
2、, 它在一块芯片内集成了计算机的各种功能部件, 构成一种单片式的微型计算机。20 世纪 80 年代以来,国际上单片机的发展迅速,其产品之 多令人目不暇接,单片机应用不断深入,新技术层出不穷。20 世纪末,电子技术获得了飞 速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产 力的发展和社会信息化程度的提高, 同时也使现代电子产品性能进一步提高, 产品更新换代 的节奏也越来越快。 本设计是由单片机实现的模拟计算器, 它不仅能实现数据的加减乘除运算, 而且还能使数 据及其计算结果在数码管上显示出来,能够实现 0-256 的数字四则运算。本设计是用单片机 A T89C51
3、 来控制,采用共阳极数码显示,软件部分是由 C 语言来编写的。设计任务 利用键盘和数码管设计一个简单的数学计算器,可以完成简单的如加,减,乘,除 的四则运算,并将运算结果在数码管上显示出来。 2方案论证与设计方案论证与设计 根据功能和指标要求,本系统选用 MCS 51 单片机为主控机。通过扩展必要的外围接口 电路,实现对计算器的设计。具体设计考虑如下: 由于要设计的是简单的计算器,可以进行四则运算,对数字的大小范围要求不高,故 我们采用可以进行四位数字的运算,选用 8 个 LED 数码管显示数据和结果。 另外键盘包括数字键(09) 、符号键(+、-、) 、清除键和等号键,故只需要 16 个 按
4、键即可。系统模块图: 2.1 输入模块: 键盘扫描计算器输入数字和其他功能按键要用到很多按键, 如果采用独立按键 的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在 很多情况下都不采用这种方式。 为此, 我们引入了矩阵键盘的应用, 采用四条I/O 2 线作为行线,四条I/O 线作为列线组成键盘。在行线和列线的每个交叉点上设置 一个按键。这样键盘上按键的个数就为44个。这种行列式键盘结构能有效地提 高单片机系统中I/O 口的利用率。矩阵键盘的工作原理:计算器的键盘布局如图 2 所示:一般有16 个键组成,在单片机中正好可以用一个P 口实现16 个按键功 能,这种形式在单片机系统中也最常用。 由图 3 矩阵键盘内部电路图可以知道, 当无按键闭合时, P10P13 与P14P17 之间开路。 当有键闭合时,与闭合键相连的两条I/O 口线之间短路。判断有无按键按下的方法是:第一 步,置列线P14P17 为输入状态,从行线P10P13 输出低电平,读入列线数据,若某一列 线为低电平,则该列线上有键闭合。第二步,行线轮流输出低电平,从列线P14