1、1引言计算器(Calculator)是微型电子计算机的一种特殊类型。它与一般通用计算机的主要区别在于程序输入方式的不同。计算器的程序一般都已经固定,只需按键输入数据和运算符号就会得出结果,很容易就能掌握。而一般计算机的程序可以根据需要随时改动,或重新输入新的程序。简易计算器主要用于加减乘除;科学计算器,又增添了初等函数运算(有的还带有数据总加、求平均值等统计运算) 。现代电子计算器首次问世是 1963 年。那时的计算器是台式的,在美国波士顿的电子博览会上展出过。与计算机相比,它小巧玲珑,计算迅捷,一般问题不必事先编写复杂的程序。 随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机
2、已可以在一块芯片上同时集成 CPU、存储器、定时器计数器、并行和串行接口、看门狗、前置放大器、AD 转换器、DA 转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。这种技术促使机器人技术也有了突飞猛进的发展,目前人们已经完全可以设计并制造出具有某些特殊功能的简易智能机器人。随着社会需求,计算器也从原有单一的数字加减计算演变为复杂的多种运算。现在不在单一的在某一方面而是涉及到生活的方方面面.由于我对知识掌握的不够熟练,重点不够清楚,导致在重点与非重点处花费的时间不成比例,进度缓慢,这是设计没能全部完成的部分原因。目前只做到按键与显示的结合(即在显示器上可以显示数
3、字键还有命令键+-*/ =清零) ;加法子程序已经编写成功并严整无误,但在整体调试中未能圆满实现,本部分正在调试中。等调试成功后,其它运算子程序的问题将迎刃而解。21.简易计算器的设计方案1.1 硬件部分设计方案1 单片机部分单片机以 AT89C51 来做为核心元器件。2 按键部分设计思路:采用 4*4 行列式键盘,分别设定数字键和功能键,采用查询方式,每次有键按下时,先判断是实数字键还是功能键。但是这种方式采用了大量的 I/O 口线。3 显示部分在单片机应用系统中,使用的显示器主要有 LED(发光二极管显示器) 、LCD 液晶显示器以及 CRT 接口。思路:使用液晶显示器来显示。液晶是介于固
4、态和液态间的有机化合物,将其加热会变成透明液态,冷却后变成结晶的混浊固态。在电的作用下,产生冷热变化,从而影响它的透光性,来达到显示的目的。LCD 还具有以下几个优点(1)低压、微功耗(2)显示信息量大(3)长寿命(4)无辐射,无污染。1.2 软件部分设计软件部分的设计思路是将整个程序划分为键盘扫描部分,显示部分,运算程序部分,清屏显示部分。对于其中的键盘扫描部分在编写时又分为动态扫描和静态扫描;运算程序部分包括加、减、乘、除四个子程序。软件流程大致如下:开始,然后是系统的初始化,进行键盘扫描,对扫描的键值进行判断(分为数字键和功能键) ,如果是数字键,执行数字键处理子程序,即显示数字并将数值
5、存储;如果是命令键,即先判断是否为清屏,如为清屏键,则执行清屏子程序,若为+-*/运算键则显示相应的符号并存储结果,若都不是则为=键,即要先判断上个符号位,然后调用对应的运算子程序运算,就可以得到需要的结果。1.3 硬件设计原理图计算器大致分为:单片机、液晶显示、键盘三大部分。因此,总的电路设计方案以单片机AT89s51 来做为核心元器件,外围采用 4*4 行列式键盘作为输入,采用 LCD1602 液晶显示器来做输出显示3控制部分单片机输入部分键盘输出部分液晶图 1.1 硬件设计框图2. 简易计算器部分电路设计1 单片机的复位:电路如图 2.2 所示.RST:复位输入,在 RESET(图中表示
6、为 RST )输入端出现高电平时实现复位和初始化.。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。+5V +5V22F 1K 10F复1K 按键 5.1K地 地(a) (b)图 2.2 复位电路在振荡运行的情况下,要实现复位操作,必须使 RES 引脚至少保持两个机器周期(24个振荡器周期)的高电平。CPU 在第二个机器周期内执行内部复位操作,以后每一个机器周期重复一次,直至 RES 端电平变低。复位期间不产生 ALE 及 PSEN 信号。内部复位操作使堆栈指示器 SP 为 07H,各端口都为 1(P0-P3 口的内容均匀 0FFH) ,特殊功能寄存器都复位为 0,但不影响 R
7、AM 的状态。当 RES 引脚返回低电平以后,CPU 从 0 地址开始执行程序。图 2.2(a)为加电自动复位电路。加电瞬间,RES 端的电位与 Vcc 相同,随着 RC 电路充电电流的减小 RES 的电位下降,只要 RST 端保持 10 毫秒以上的高电平就能使 MCS-51单片机有效地复位,复位电路中的 RC 参数通常由实验调整。当振荡频率选用 6MHz 时,C选 22uF,R 选 1K,便能可靠地实现加电自动复位,若采用 RC 电路接斯密特电路的输入端,斯密特电路输出端接 MCS-51 和外围电路的复位端,能使系统可靠地同步复位。图2.2(b)为人工复位电路。2振荡器特性:XTAL1:反向
8、振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。XTAL1 和 XTAL2 分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2 应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。MCS-51RESMCS-51RES42.2 显示及显示接口2.2.1 单片机引脚及常用命令简介:本次设计在显示部分采用的是 LCM1602B,它是一个双行显示的液晶显示器。其采用标准的 16 脚接口,其中:第 1 脚:VSS 为地电源第
9、2 脚:VDD 接 5V 正电源第 3 脚:V0 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影” ,使用时可以通过一个 10K 的电位器调整对比度第 4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第 5 脚:RW 为读写信号线,高电平时进行读操作,低电平时进行写操作。当 RS 和 RW共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 RW 为高电平时可以读忙信号,当 RS 为高电平 RW 为低电平时可以写入数据。第 6 脚:E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。第 714 脚
10、:D0D7 为 8 位双向数据线。第 1516 脚:分别为背光灯正负极,A 接正极, K 接负极。它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。 (说明:1 为高电平、0为低电平)图 2.3 计算器电路在显示部分,先设计了 LCD 初始化的程序,其次完成了显示程序的设计。简要的介绍LCD 显示过程中用到的个子程序52.3 键盘、液晶显示的组合接口在单片机应用系统中为了控制系统的工作状态,以及向系统输入数据,应用系统有按键或键盘。例如复位用的复位键,功能转换用的功能键以及数据输入用的数字键盘等。按键或键盘中的每一个键都赋予特定的功能,他们通过借口电路与单片机相连。通过软件了解按键的状态
11、及键信息的输入,并转去执行该功能键的功能处理程序,键盘的接口方法有多种,但键输入过程软件结构基本是一样的。对键盘上的每一个键,都有一个编号, (即键号) ,CPU 可采用中断方式或查询方式了解有无按键按下,并检查是哪一个按键按下,确定键号,将该键号送如累加器 A,然后通过散转指令转入执行该键的功能程序。最后返回到原处。2.3.1 键盘接口和键输入软件中应解决的几个问题1.消除键抖动按键的合断都存在一个抖动的暂态过程, 。这种抖动的暂态过程约经过 510MS 的时间,人发肉眼是觉察不到的,但对高速的 CPU 是有反应的,可能差生误差处理,为了按键的动作一次,仅做一次处理,必须采取措施一消除抖动。
12、消除抖动的措施有两种:硬件消抖和软件消抖。硬件消除抖动可用简单的 R-S 触发器或单稳态电路构成,软件消除抖动是用延时来躲过暂态抖动过程,执行一段大于 10MS 的延时程序后,再读取稳定的键状态。2.键编码及键值 一组案件或键盘都要通过 I/O 口线查询按键的开关状态。根据键盘结构不同,采用不同的编码方法。但无论有无编码,以及采用什么编码,最后都要转换成为与累加器中的数值相对应的键值,以实现案件功能程序的散转。顺序排列键编码。如图:采用此种方法,键值的形成要根据 I/O 线的状态来做相应处理。键码可按下式形成:键码= 行首键号 + 列号3.键盘的检测方法对于计算机应用系统,键盘扫描只是 CPU
13、 工作的一部分,键盘处理只是在有键按下时才有意义。对是否有键按下的信息输入方式有中断方式与查询方式两种。2.3.2 行列式键盘工作原理行列式键盘又称矩阵式键盘。用 I/O 线组成行、列结构,按键设置行列的交点上,例如 4*4 的行列结构可组成 16 个键的键盘。因此在案件数量较多时,可节省 I/O 口线。(1) 行列式键盘的接口行列式键盘的接口方法有许多, ,例如直接接口与单片机的 I/O 上;用扩展的并行 I/O 接口;用串行口扩展并行 I/O 接口;利用一种可编程的键盘、显示接口芯片进行接口等。其中,6利用扩展的并行 I/O 接口方法方便灵活,在单片机应用系统中比较常用。(2)键盘工作原理
14、按键设置在行、列线的交点上,行、列线分别连接到按键开关的两端。行线通过上拉电阻接+5V,被置位在高电平状态。对键盘的工作过程可分为两步:第一步是 CPU 首先检测键盘上是否有键按下;第二步是识别是哪一个键按下。检测键盘上有无按键按下可采用查询工作方式、定时扫描方式和中断工作方式。查询工作方式:键盘中有无键按下是有列线送如入全扫描字,读入行线状态来判别的。其方法是:所有列线置低电平,然后将行线电平状态读入累加器 A 中。如果有键按下,总会有一根行线电平被拉低至低电平,从而使行输入状态不全为“1” 。键盘中哪一个键按下是又列线逐列置低电平后,检查行输入状态,称为逐列扫描。方法是:置对应的列线为低电
15、平,然后读入行线状态,如果全为“1” ,则所按下之键不在此列;如果不全为“1” ,则所按下之键必在此列,而且是与 0 电平行线相交的交点上的那个键。为求取键码,在逐列扫描时,可用计数器纪录当前列的列号,然后用行线值为“0”的行首键码加列号的办法计算。键盘扫描子程序如下:将简易计算器的主程序划分为以下几个部分:(1)系统初始化致谢在论文完成之际,我要特别感谢我的指导老师郭老师的热情关怀和悉心指导。在我做毕业设计的整个过程中,郭辛老师倾注了大量的心血和汗水,无论是在论文的选题、构思和资料的收集方面,还是在论文的研究方法以及成文定稿方面,我都得到了老师悉心细致的教诲和无私的帮助,特别是他广博的学识、
16、深厚的学术素养、严谨的治学精神和一丝不苟的工作作风使我很受感动,在此对郭辛老师表示我深深的谢意。在论文的写作过程中,也得到了许多同学的宝贵建议,同时还到许多在工作过程中许多同事的支持和帮助,在此一并致以诚挚的谢意。感谢所有关心、支持、帮助过我的良师益友。7参考文献1丁元杰单片微机原理及应用(第三版) 北京:机械工业出版社,20057 2李建忠. 单片机原理及应用(第一版). 西安电子科技大学出版社,20023李维绨.郭强.液晶显示与应用技术。北京 电子工业出版社,2003附录 B LCD 显示器简介LCD 显示器简介LCD 的原文是 liquid crystal display,取每字的第一个
17、字母组成,中文多称液晶平面显示器或液晶显示器 。液晶是一种介于液体和晶体之间的特殊物质,它具有液体的流动性,同时有具有晶体的偏光性、双折射等光学特性,使它对电场、磁场、光线、温度等外界条件变化很敏感,并能将上述变化在一定条件下转换成可视信号.其工作原理就是利用液晶的物理特性:通电时排列变得有序,使光线容易通过;不通电时排列混乱,阻止光线通过,说简单点就是让液晶如闸门般地阻隔或让光线穿透。液晶显示器被广泛用于电子计算器、数字万用表等电器设备中,是一种成熟的现实器件当液晶显示器未加电压时,液晶显示器呈透明状态而不显示字样,当驱动电路把需要显示数字的信号电压加到液晶显示器的有关字划节段电极上时,显示
18、器在外电场作用下,字划就变的不透明(呈现黑色),所需要的数字变显示出来,液晶显示器的每一位数字有 7 段字划组成,其公共电极上加方波信号,根据需要在字划电极上加上与公共电极反相的方波信号,就可使相应的字划变黑.一 LCD 的优点:与 CRT 显示器相比,LCD 的优点主要包括零辐射、低功耗、散热小、图像清晰、准确、字符显示锐利等.购买 LCD,有几个指针:1 高亮度:亮度值愈高,画面自然更美丽.亮度的单位为 cd/m2,也就是每平方公尺之烛光.低阶的 LCD 亮度值,有低到 150cd/m2,而高阶的显示器,可高达250cd/m2; 2 高对比:对比愈高 ,色彩更鲜艳饱和,且会显的立体.相反的
19、,对比低,颜色显的贫瘠,影像也会变得平板.对比值的差别颇大,在低到 100:1.也有高到 600:1,甚至更高; 3宽广的可视范围:可视范围简单的说,指的是在屏幕前画面可以看的清楚的范围.可视范围愈大,自然可以看的更轻松;愈小,只要光看者稍一变动观看位置,画面可能就会看不清楚了.可视范围的算法是从画面中间,至上、下、左、右四个方面画面清楚的角度范围.数值愈大,范围自然愈广,但四个方向的范围不一定对称,当上下、左右对称时,某些厂商会将两边的角度值相加,标示为水平: 160;垂直:160;也可能分开标示为左/右: 80; 上/下: 80. 二 液晶显示器的质量检查81 外观检查:要求液晶显示器的外
20、观平整无皱纹、无划痕、无裂纹、无起层、无明显黑斑,无且透明度好.2 性能检查:用两节 5 号电池连接起来组成 3V 的电源,在其正、负两端各引出一根软导线,导线的另一端连接测试表笔,一一表笔接触其他字划电极,液晶显示器上明显呈现相应的字划,也可用万用表欧姆档直接对液晶进行检查.以上两种方法均要求检查快速,以减少直流对液晶显示器的损害.三 使用液晶显示器的注意事项1 避免施加过大的压力:液晶显示器的关键部位是玻璃内表面的定向层和定向排列的液晶层.一旦在液晶显示器上施加压力,会使玻璃变形甚至破碎.2 避免施加直流电压:液晶显示器只能哟感交流电压驱动,若在长时间直流电作用下,会发生电化学分解和电极老
21、化,从而缩短液晶显示器的使用寿命.3 避免在过高或过低的温度下使用:液晶是有机化合物,在一定温度范围内没,它既有液体的连续性和流动性,又有警惕的所有光学特性.温度超过规定范围,液晶态会消失,温度恢复后并恢复正常状态.因此其保存和使用温度都必须在许可范围内.4 避免划伤:液晶显示器在装拆中不宜用锋利的镊子夹取,以免划伤表面,正确的做法是用非金属镊子夹取或直接用手拿取.5 避免紫外线照射:液晶在紫外线照射下会发生光化学反应,所以液晶不宜受阳光直射.6 注意防潮:液晶显示器工作电压低,而液晶材料电阻率很高,潮湿将造成玻璃表面导电,使液晶显示器在显示时,出现字划相串现象.因此,液晶显示器应放入深色的塑
22、料袋中存放,并置低温、低湿地方保存.四 常见故障分析1 液晶显示器漏液:要表现为液晶显示器表面将出现黑斑或数字缺划现象.折实密封不良或受挤压造成液晶显示器漏液引起的.2 液晶显示器字划电极氧化:表现为缺划或不显示.在使用中液晶显示器受潮太久,就会在其表面出现氧化层,从而出现接触不良.3 液晶显示器表面起皱:这是液晶显示器受潮太久的结果.一旦表面起皱,将会严重印象液晶显示器的显示效果.4 液晶显示器内部产生气泡:这时由于驱动电压支流成分过大引起电化学反映造成的.这将大大影响液晶显示器的质量和显示效果.5 液晶显示器老化:在使用过久或受到阳光直射作用是太长的显示器中,具体表现为字划清晰度不高,严重时不能显示字划.6 液晶显示器字划电极划伤或断裂.:这是由于拆装不小心引起的,将导致不显示或缺划.