2009200920092009年滨州学院第四届学科竞赛大学生电子设计竞赛参赛作品年滨州学院第四届学科竞赛大学生电子设计竞赛参赛作品年滨州学院第四届学科竞赛大学生电子设计竞赛参赛作品年滨州学院第四届学科竞赛大学生电子设计竞赛参赛作品基于AT89S52的简易计算器设计参赛队员:赵耀明矫林涛范世征院系:物理与电子科学系专业:电子信息科学与技术2009200920092009年5555月14141414日基于AT89s52AT89s52AT89s52AT89s52单片机的简易计算器设计赵耀明矫林涛范世征摘要:简易计算器由主控、显示、键盘输入、电源四部分组成。主控部分以AT89S52为核心,用C语言编程,充分运用AT89S52的8k字节闪烁可编程可擦除只读存储器及其丰富的I/O口,实现了对键盘数据的采集,和对液晶显示的控制;液晶显示部分采用1602液晶显示器,利用其丰富的显示空间,可以实现多数位显示;键盘输入部分采用4×4键盘输入,可以对计算器的多个数字同时定义采样,实现了功能;电源部分采用4×1.5V电池组,供电可以实现对整个系统的供电。经测试,整机基本实现预计功能,可以实现计划中的加、减、乘、除简单运算。关键词:AT89S521602液晶4×4矩阵键盘计算总体系统分析:(1111)、设计思路计划利用AT89S52单片机的功能结合C语言编程,实现计算器的加、减、乘、除简单计算功能,然后结合AT89S52单片机的控制功能,利用1602液晶显示数据的输入,及其处理结果,结合程序编制过程中,对各个I/O的利用设置了键盘的扫描读入,结合计算器需要多键位的现实,加入了4×4键盘输入,达到了预期的效果,实现了所需所有数位的定义设置,最终检验,作品实现了功能!(2222)、系统组成::::电源、主控、显示、键盘四部分组成。系统部分框图分析如下:AT89s52控制系统1602液晶显示模块4×4独立键盘模块电池组(4×1.5V)二、单位硬件电路设计(1111)、主要控制部分:AT89S52是一种低功耗、高性能8位微控制器,具有8K可编程Flash存储器。功能齐全、使用方便、价格低廉,因此广泛应用于嵌入式控制应用系统。其最小系统用作此模块的主控部分,主要包括89s52单片机、单片机复位电路、晶体振荡电路。最小系统电路原理图如下所示:(2222)、液晶显示模块:此模块用于计算过程中的数值显示和上电、复位时的文字显示,有控制电路个液晶显示器构成。此模块采用1602液晶显示器,利用其丰富的现实空间,不仅可以进行足够的数位显示,同时又因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,使其在工作过程中显示要求现实的字母组合。其电路图如下:(3333)、4444×4444键盘显示模块:键盘模块的设计,考虑到了计算器的特殊之处,就是在进行数字计算的过程中,要有多个数字及其计算符号的多次输入过程,从操作简单和设计合理等方面考虑,需要对每个数位个符号位进行单独定义键位,所以,在设计中,采用了4×4键盘,利用其丰富的键位资源,可以实现对计算中每一个数位和符号位的单独定义。其电路图如下所示:(4444)、电源供电模块:根据系统需要供电要求,电源模块采用了4×1.5V干电池构建的电池组供电的模式,此模块的设计从电压值、电流值方面都可以达到系统要求,可以实现对整个系统的电源供电。三、软件部分设计:软件是硬件实施功能的控制部分,鉴于单片机技术的成熟程度,开发过程中可应用的资源和工具的丰富、价格便宜、成本低,C语言表达能力强,易编译且有很好的可移植性和硬件控制能力,所以采用C语言编写程,然后烧写到芯片内部。本设计程序包括主程序、计算子程序、液晶显示子程序、键盘扫描子程序、读写子程序等。总程序流程图如下:开机界面切换键位扫描判断是否有键操作判断所按下的键位相应的计算操作液晶显示相应的操作数据运算结果初始化注:相应的操作还包括个运算子程序开机四、总结:设计过程中遇到的问题有很多,但是,在努力下都得到了解决,例如:开始时遇到的到导线交错,难于查看电路,容易产生短路、断路问题,经结合所学知识与实践经验,对电路进行了重新布线,实行了贴板引线焊接,解决了这一问题;电源供电,再外加一个自做电源,个体大、质量成,影响美观,然后就结合系统所需,改用了电池组供电;显示部分,开始选用数码管,但是数位多了,制作、显示都出现问题,特别是如继续使用数码管,10多位连一块,计算器就体积过大,且电路易出错,于是选择了1602液晶显示,不但解决了多数位,更是结合软件设置添加了复位界面的字母组合显示;软件设计中也是也到了很多问题,如:头文件、调用合适函数、循环……但是,在最后的检测之后,我们的作品已经完全实现了计划中的功能,可以准确的实现加、减、乘、除简单运算的同时,还添加了开机欢迎语字母组合显示,其精确位数设置可调,精确位数可以达到10位以上,并且整个为继续开发学习留有了很大空间!如在继续研究、改写程序,可以在原有硬件不变的同时再添加倒计时、秒表等计时功能。五、参考文献:【1111】张迎新等编著《单片基础教程——单片机基础》(第二版)北京航空航天大学出版社2006.8【2222】刘坤,宋戈,赵洪波,张宪栋。《51单片机C语言应用开发技术大全》人民邮电出版社2008【3333】黄智伟编著《全国大学生电子设计竞赛——制作实训》北京航空航天大学出版社2007.2【4444】黄智伟编著《全国大学生电子设计竞赛——技能实训》北京航空航天大学出版社2007.2六、附录:1、作品展示及其使用说明书。2、电工电子实验教学中心开放实验项目结题验收表。3、电路原理图及最终效果图。4、程序清单。