基于单片机的电子计算器的设计
2016-05-17邵阳学院信息工程系许建明陈炯明
邵阳学院信息工程系 吴 洋 许建明 陈炯明
基于单片机的电子计算器的设计
邵阳学院信息工程系 吴 洋 许建明 陈炯明
【摘要】本设计是选用STC89C52单片机为核心的计算器系统,计算器数字输入采用4×4的矩阵键盘,可以进行加、减、乘、除7位带符号数字的运算,然后在LCD1602上显示输入的表达式和计算结果。设计重点在于设计方法及流程,首先根据原理设计出系统电路原理图,然后利用keil软件编程,通过实验开发平台进行仿真,再利用altium designer软件设计PCB,最后再到元器件的焊接和调试成功。该电子计算器经过测试具有电路简单、计算速度快、操作方便等诸多特点。
【关键词】单片机;计算器;LCD1602
1 系统工作原理
该系统采用4*4的矩阵键盘作为数字和功能按键的输入,单片机采用循环扫描的方式对矩阵键盘进行驱动,获得用户输入的信息,并且实时的显示到1602液晶屏幕上,每一次有按键按下时,通过软件预先设计好的方法对输入的信息经行处理、计算、显示,输入结束以“=”为标志。最后将运算出的结果显示到液晶屏幕上。该设备的系统框图如图1所示。
图1 系统框图
2 硬件系统设计
2.1液晶显示电路设计
LCD1602是本系统的重要组成部分,主要用在显示用户的输入和计算结果的输出。LCD1602的并行数据端与单片机的P0口相连,控制端与单片机的P2.7~P2.5连接,其中10k的电位器用于液晶的对比度调节。该系统显示及整体的电路原理图如图2所示。
图2 系统电路原理图
2.2按键电路设计
该系统使用的是4*4的矩阵键盘,一共16个按键,用来作为计算器的输入设备,是该系统的人机交互接口之一。B1~B15一共16个按键为一个4*4的矩阵键盘,该键盘行阵列的第1行到第4行分别接在单片机的P1.4~P1.7口,该键盘的列阵列的第1列到第4列分别接在单片机的P1.0~P1.3口,这样通过单片机的P1口就完成了对4*4矩阵键盘的驱动。由此可见驱动16个矩阵按键只用了8个I/O接口,矩阵键盘相对独立按键来讲更节省I/O口。
3 软件设计
该项目采用的软件编程平台为常用的keil软件。该程序并没有涉及到系统底层的驱动的问题,所以选择了方便和快捷的C语言编写程序。在该程序中,分为四个主要的函数模块:延时函数、1602液晶驱动和显示函数、按键驱动程序、算数运算处理函数。该程序采用模块化程序设计的思想,方便调试和理解。该程序以按键扫描为主线,其他模块为辅组成整个程序实现了电子计算器的基本功能。开机上电后执行初始化程序,即LCD1602液晶初始化和按键初始化等,初始化成功后循环执行按键扫描程序用于检测用户是否有输入,当有按键按下时则进入运算和处理函数对用户的输入数据进行分析。一个运算表达式的结束以“=”符号为结束标记,当用户输入“=”符号后就把计算结果显示到液晶屏幕上来。经过实际实验测试该程序长时间工作稳定,计算结果准确符合该项目的设计要求。
4 结束语
通过的一系列仿真与设计,基于51单片机的电子计算器的设计成功完成。虽然计算器的电路简单,但程序设计比较复杂,只要程序设计合理,计算器的功能和效率就会符合设计要求,经测试验证本系统性能优良、结构简单、成本低廉,是一款非常有应用价值的计算器。
参考文献
[1]江世明,许建明,朱群峰,申寿云.单片机原理及应用[M].上海:上海交通大学出版社,2013.
[2]王东锋,王会良等.单片机C语言应用100例[M].西安:电子工业出版社,2009.
[3]张毅刚.单片机原理及应用(C51+PROTEUS仿真)[M].北京:高等教育出版社,2012.
吴洋(1992—),男,贵州安顺人,大学本科,现就读于邵阳学院信息工程系电子科学与技术专业。
许建明(1977—),男,湖南武冈人,硕士,副教授,主要从事电子技术研究。
通信作者:
作者简介: