1、青岛理工大学毕 业 论 文题目:基于单片机的计算器设计 学生姓名: 苏起然 学生学号: 200989051 院系名称: 青岛理工大学机电工程系专业班级: 机械设计制造及其自动化091 班 指导教师: 武传艳 2013 年 06月 15日毕业设计(论文)任务书专业 机械设计制造及其自动化 班级 机升091姓名 苏起然下发日期2013-03-01题目基于单片机的计算器设计专题51单片机的应用主要内容及要求 设计内容:1)确定计算器的总体设计2)系统硬件设计3)系统软件设计4)系统仿真及调试 设计要求: 能实现加、减、乘、除、开方、平方、幂运算等功能。 主要技术参数1)AT89S52单片机2)4*4
2、键盘 3)LCD1602显示器进度及完成日期2013年4月1日-2013年4月19日,查阅国内外文献,上交开题报告。2013年4月22日-2013年5月10日,系统方案选择与论证,软硬件设计。2013年5月13日-2013年5月24日,主要参数计算及元器件的选择,上交中期审核表。2013年5月27日-2013年6月05日,完成毕业设计说明书的撰写,上交初稿。2013年6月06日-2013年6月15日,根据老师意见进行修改完善。2013年6月16日-2013年6月20日,论文打印,完成答辩PPT,准备答辩。 系主任签字日期教研室主任签字日期指导教师签字日期指 导 教 师 评 语指导教师: 年 月
3、 日青岛理工大学毕业设计(论文)评阅意见表设计(论文)题目基于单片机的计算器设计评价项目评价标准(A级)满分评 分ABCDE文献资料利用能力能独立地利用多种方式查阅中外文献;能正确翻译外文资料;能正确有效地利用各种规范、设计手册等。10109876综合运用能力研究方案设计合理;设计方法科学;技术线路先进可行;理论分析和计算正确;动手能力强;能独立完成设计(论文);能综合运用所学知识发现和解决实际问题;研究结果客观真实。20192017181516131412设计(论文)质量设计(论文)结构严谨;逻辑性强;语言文字表准确流畅;格式、图、表规范;有一定的学术水平或实际价值4037-4032-362
4、8-3125-2724创新能力有较强的创新意识;所做工作有较大突破;设计(论文)有独到见解151513-1411-12109工作量工作量饱满;圆满完成了任务书所规定的各项任务。151513-1411-12109总分是否同意将该设计(论文)提交答辩:是( ) 否( )具体评阅及修改意见: 评阅人: 年 月 日注:1.请按照A级标准,评出设计(论文)各项目的具体得分,并填写在相应项目的评分栏中; 2.计算出总分。若总分60分,“设计(论文)质量”24分,建议不能提交论文评阅乃至答辩。 该设计(论文)须限期修改合格后重新申请答辩。 3.评阅意见栏不够可另附页。答 辩 委 员 会 评 语评定成绩周 记
5、说明书(或论文)图 纸答 辩总 评答辩委员会主席签字日 期(5%)(65%)(30%)百分制等级制摘 要计算器一般是指“电子计算器”,能进行数学运算的手持机器,拥有集成电路芯片,结构简单,功能较弱,但由于它使用方便、操作简单、价格低廉,因而广泛运用于商业交易中,也是必备的办公用品。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,但仅单片机方面的知识是不够的,还应根据具体硬件结构、软硬件结合,来加以完善。因此,单片机的应用已经越来越贴近生活,用单片机来实现一些电子设计也变得容易起来。计
6、算器在人们的日常中是比较的常见的电子产品之一。可是它还在发展之中,以后必将出现功能更加强大的计算器,基于这样的理念,本次设计是用单片机来设计的计算器。该设计系统是以 AT89S52 为单片机, P1 口作为输入端,外接 4X4 的键盘。通过键盘扫描来对输入数的控制,在 P0 口、P2 口接了驱动电路,用来保证 LCD 的工作正常。计算器将完成的功能有加,减,乘,除等功能。关键词:计算器;单片机;LCD;矩阵键盘IIIABSTRACTCalculator generally refers to the electronic calculator, and the term is introduc
7、ed to China by the Japanese. The calculator with the IC chip, simple structure, and weak function is able to perform mathematical operations on handheld machine. But it is easy using, simple operation and low price. So it is widely used in commercial transactions, and is also an essential office sup
8、plies. With the rapid development of science and technology in recent years, the application of SCM is the deepening and promote the traditional controlling detection technologies that are increasingly updated. In real-time detection and automatic control of microcomputer application system, the mic
9、rocontroller is often used as a core component to use, but only the knowledge of the microcontroller is not enough, and should be based on the specific hardware architecture, hardware and software combination to make it perfect. So the application of SCM is more and more close to life, so using of s
10、ingle chip to achieve some electronic designs also become easy. In the people daily life the calculator is one of the common electronic products. But it is still in development, it will become more powerful calculator in the future. According to such idea, the design is that SCM design calculator. T
11、he design system is based on AT89S52 microcontroller, P0 port as input, external 4X4 keyboard. In P1, P2mouth is connected with the drive circuit to ensure the normal work of LED. The calculator will complete add, subtract, multiply, divide and other function. Keywords: calculator, MCU, LCD, Matrix
12、keyboard前 言计算器(calculator;counter)一般是指“电子计算器”,能进行数学运算的手持机器,拥有集成电路芯片,结构简单,功能较弱,但由于它使用方便、操作简单、价格低廉,因而广泛运用于商业交易中,也是必备的办公用品之一。计算器一般由运算器、控制器、存储器、键盘、显示器、电源和一些可选外围设备及电子配件通过人工或机器设备组成。随着科学技术的不断发展及计算器应用的普及,人们发现在工业控制中,有很多时候需要在恶劣的环境中进行各种数据的采集、运算和控制。本设计是由单片机实现的模拟计算器,它不仅能实现数据的加减乘除运算,而且还能使数据及其计算结果在数码管上显示出来,能够实现0-2
13、56的数字四则运算。本设计是用单片机AT89S52来控制,采用LCD1602液晶显示读取数据,软件部分是由C语言来编写的。利用键盘和LCD1602设计一个简单的数学计算器,可以完成简单的如加,减,乘,除的四则运算,并将运算结果在LCD1602上显示出来。目 录第一章 绪论11.1研究背景11.1.1单片机发展现状11.1.2计算器系统现状21.1.3选题意义及现状3第二章 总体方案及设计42.1设计目的42.2设计任务42.3设计思路42.3.1方案构思42.3.2 方案比较与选择52.3.3系统总体模块图5第三章 系统硬件设计6 3.1 主控模块设计63.2键盘输入模块设计123.3 LCD
14、显示模块设计133.3.1 LCD1602主要技术参数143.3.2引脚功能说明143.4清零、音乐开关、开方和多次方运算功能模块设计153.5电源模块设计163.6 运算模块(单片机控制)17第四章 软件设计184.1显示程序设计184.2键扫程序设计184.3清零程序设计204.4声音开关程序设计214.5总体设计22第五章 系统仿真及原理图245.1 Proteus仿真245.2 Protel原理图29第六章 系统调试306.1问题与分析306.1.1硬件常见故障306.1.2软件调试30第七章 总结与展望347.1总结347.2展望34致谢.35参考文献36附录37程序清单37中英文文
15、献对照翻译57II第1章 绪论1.1研究背景1.1.1单片机发展现状单片机进一步改变CPU的性能,加快指令运算的速度和提高系统控制的可靠性。采用精简指令集(RISC)结构和流水线技术,可以大幅度提高运行速度。现指令速度最高者已达100MIPS(Million Instruction Per Seconds,即兆指令每秒),单片机的发展现状:使用寿命长;低电压与低功耗化;发展速度越来越快;从 8 位、16 位到 32 位,数不胜数,应有尽有,部分与主流C51系列兼容,部分与之不兼容,它们各具特色,互补互成。纵观单片机的发展历史,其有如下发展趋势:1、大容量、高性能以往单片机内的ROM为1KB4K
16、B,RAM 为64128B。但在需要复杂控制的场合,该存储容量是不够的,必须进行外接扩充。为了适应这种领域的要求,须运用新的工艺,使片内存储器大容量化。目前,单片机内ROM 最大可达64KB,RAM 最大为2KB。另外并加强了位处理、中断和定时控制功能。这类单片机的运算速度比标准的单片机高出10 倍以上。由于这类单片机有极高的指令速度,可以使用软件模拟其I/O 功能,由此引入了虚拟外设的新概念。2、串行扩展技术在很长一段时间里,通用型单片机通过三总线结构扩展外围器件成为单片机应用的主流结构。随着低价位OTP(One Time Programble)及各种特殊类型片内程序存储器的发展,加之处围接
17、口不断进入片内,推动了单片机“单片”应用结构的发展。特别是I2C、SPI 等串行总线的引入,可以使单片机的引脚设计得更少,单片机系统结构更加简化及规范化。13、低功耗CMOS化MCS-51系列的8031推出时的功耗达630mW,而现在的单片机普遍都在100mW左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS(互补金属氧化物半导体工艺)。80C51就采用了HMOS(即高密度金属氧化物半导体工艺)和CHMOS(互补高密度金属氧化物半导体工艺)。CMOS虽然功耗较低,但由于其物理特征决定其工作速度不够高,而CHMOS则具备了高速和低功耗的特点,这些特征,更适合于在要求低
18、功耗,电池供电的应用场合。所以这种工艺将是今后一段时期单片机发展的主要途径。4、微型单片化现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)等集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)等都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。 此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。现在的许多单片机都具有多种封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发
19、展。1.1.2计算器系统现状计算器一般由存储器、键盘和机器设备等组成。键盘是计算器的输入部件,一般采用接触式或传感式。为减小计算器的尺寸,一键常常有多种功能。显示器是计算器的输出部件,有发光二极管显示器或液晶显示器等。除显示计算结果外,还常有溢出指示、错误指示等。计算器电源采用交流转换器或电池,电池可用交流转换器或太阳能转换器再充电。为节省电能,计算器都采用CMOS工艺制作的大规模集成电路,并在内部装有定时不操作自动断电电路。1.1.3选题意义及现状计算器(calculator;counter)一般是指“电子计算器”,该名词由日文传入中国。计算器是能进行数学运算的手持机器,拥有集成电路芯片,结
20、构简单,功能较弱,但由于它使用方便、操作简单、价格低廉,因而广泛运用于商业交易中,也是必备的办公用品之一。随着科学技术的不断发展及计算器应用的普及,人们发现在工业控制中,有很多时候需要在恶劣的环境中进行各种数据的采集、运算和控制。第二章 总体方案及设计2.1设计目的通过本次毕业设计,应用单片机应用基础计算机应用基础等所学相关知识及查阅资料,完成简易计算器的设计,以达到理论与实践更好的结合、进一步综合运用所学知识设计的能力的目的。通过本次设计的训练,可以使我在基本思路和基本方法上对基于MCS-51单片机的嵌入式系统设计有一个比较感性的认识,并具备一定程度的设计能力。2.2设计任务1.了解单片机的
21、基本原理。2.学习电子计算机制作基本原理及方法。3.熟练掌握PROTUES软件。4.会用KEIL编程,具有一定的编程能力。5.设计制作电子计算器硬件及软件系统。6.撰写毕业论文。 2.3设计思路2.3.1方案构思本设计可以采用两种方案,一种是以FPGA为核心处理芯片,配备相应的外设;另外一种是以AT89S52处理器,配备相应的外设。1、方案一:采用FPGA控制FPGA是一种高密度的可编程逻辑器件,自从Xilinx公司1985年推出第一片FPGA以来,FPGA的集成密度和性能提高很快,其集成密度最高达500万门/片以上,系统性能可达200MHz。由于FPGA器件集成度高,方便易用,开发和上市周期
22、短,在数字设计和电子生产中得到迅速普及和应用,并一度在高密度的可编程逻辑器件领域中独占鳌头。但是而基于 SRAM编程的FPGA,其编程信息需存放在外部存储器上 ,需外部存储器芯片 ,且使用方法复杂 ,保密性差,而其对于一个简单的计算器而言,实用FPGA有点大材小用,成本太高。2、方案二:采用AT89S52单片机是单片微型机的简称,故又称为微控制器MCU(Micro Control Unit)。通常由单块集成电路芯片组成,内部包含有计算机的基本功能部件:中央处理器CPU,存储器和I/O接口电路等。因此,单片机只要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。单片机广泛用于智能产品,智
23、能仪表,测控技术,智能接口等,具有操作简单,实用方便,价格便宜等优点,而其中AT89S52以MCS-51为内核,是单片机中最典型的代表,应用于各种控制领域。2.3.2方案比较与选择通过以上两种方案论证和比较,从设计的实用性,方便性和成本出发,选择了以AT89S52单片机作为中央处理单元进行计算器的设计,这样设计能够实现对六位浮点数的加减和三位浮点数的乘除运算。系统采用以下方案: (1)采用AT89S52作为主控芯片;(2)显示模块使用LCD1602液晶显示屏;(3)输入模块使用4*4矩阵键盘;(4)AC清零按键使用独立按键并接入单片机外部中断引脚;(5)声音提示开关按键使用独立按键并接入单片机
24、外部中断引脚;(6)平方和开方按键由开发板上的独立按键实现;(7)电源采用LM7805稳压电路。AT89S52单片机 显示模块 输入模块2.3.3系统总体模块图 运算模块 电源模块 图2-1总体模块图 整个系统由电源给51单片机和LCD液晶显示提供电源使其工作,当外接按键输入有效数值和运算模式时,通过主控芯片实现整个系统的功能。第三章 系统硬件设计 3.1 主控模块设计1、主要性能: (1) 8031 CPU与MCS-51 兼容 8K字节可编程FLASH存储器(寿命:1000写/擦循环) 全静态工作:0Hz-33MHz 三级加密程序存储器 128*8位内部RAM 32条可编程I/O线 三个16
25、位定时器/计数器 八个中断源 全双工UART串行通道 低功耗的闲置和掉电模式 掉电后中断可唤醒 看门狗定时器 双数据指针 掉电标识符 片内振荡器和时钟电路 (2) 管脚说明: VCC:供电电压。 GND:接地。2、AT89S52的功能特性描述AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制
26、应用系统提 供高灵活、超有效的解决方案。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。此外, AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器 8K 字节在系统可编程 Flash。同时该芯片还具有PDIP、TQ
27、FP和PLCC等三种封装形式,以适应不同产品的需求。3、AT89S52引脚功能AT89S52 单片机为40 引脚芯片见图3-1。 图3-1 AT89S52引脚(1)口线:P0、P1、P2、P3 共四个八位口。P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。 对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0不具有内部上拉电阻。 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1口:P1 口是一个具有内部上拉电阻的8
28、 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。 在flash编程和校验时,P1口接收低8位地址字节。 引脚号第二功能: P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用
29、) P1.6 MISO(在系统编程用) P1.7 SCK(在系统编程用)P2口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR) 时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校验时,
30、P2口也接收高8位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p3 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3口亦作为AT89S52特殊功能(第二功能)使用,如表3-1所示。表3-1 P3口管脚 备选功能:端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入
31、)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)(2)其他引脚说明:RST:复位输入。晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。 ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个AL
32、E脉冲。 对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。 如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。 PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。 EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-
33、FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。 如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。 FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz
34、。晶振的频率可以在1MHz-24MHz内选择,在本设计电路中选用了12MHz。电容取20PF左右。机器周期12时间周期,如12MHz的机器周期为1微秒。(3)控制或复位引脚RESET 此脚为高电平时(约2个机器周期)可将单片机复位。RST/VPD当出现两个机器周期高电平时,单片机复位。复位后,P0P3输出高电平;SP寄存器为07H;其它寄存器全部清0;不影响RAM状态。如图3-2所示。图3-2 按键电平复位 AT89SXX系列单片机实现了ISP下载功能,故而取代了89CXX系列的下载方式,也是因为这样,ATMEL公司已经停止生产89CXX系列的单片机,现在市面上的AT89CXX多是停产前的库存
35、产品。4、AT89S52的编程方法 编程前,须按编程模式表设置好地址、数据及控制信号;顺序如下: 在地址线上加上要编程单元的地址信号。 在数据线上加上要写入的数据字节。 激活相应的控制信号。 将EA/Vpp端加上+12V编程电压。 每对Flash存储阵列写入一个字节或每写入一个程序机密位,加上一个ALE/PROG编程脉冲。每个字节写入周期是自身定时的,大多数约为50us。改变编程单元的地址和写入的数据,重复步骤,直到全部文件编程结束。单片机的现状及发展方向:单片机是为了工业控制需要满足而诞生的,是自动控制系统的核心部件,因而也主要用于工业控制、智能化仪器仪表、家用电器中。它具有体积小,功能多、
36、价格低、使用方便、系统设计灵活等优点,应用领域不断扩大,除了工业控制,智能化仪表,通讯,家用电器外,在智能化高档电子玩具产品中也大量采用单片机芯片作为核心控制部件。由于单片机主要面向工业控制,工作环境比较恶劣,入高温,强电磁干扰,甚至含有腐蚀性气体,在太空中工作的单片机控制系统,还必须具有抗辐射能力,这决定了单片机CPU于通用微机CPU具有不同的技术特征和发展方向:(1) 可靠性高;(2) 控制功能往往很强,数值计算交叉;(3) 指令系统比通用微处理器慢的多;(4) X系列芯片取代;(5) 抗干扰性强,工作温度范围宽。 单片机的最小系统设计如图3-3所示:图3-3 单片机最小系统3.2键盘输入
37、模块设计计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。计算器将通过按键输入数字和运算符利用单片机不断扫描键盘。矩阵键盘采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。P1口:作为输入口,与键盘连接,实现数据的输入.矩阵键盘的设计如图3-4所示: 图3-4矩阵键盘图3-4矩阵键盘键值与其功能对应表如表3-2所示: 表3-2按键功能对照 对照 键值
38、 0 1 2 3 4 5 6 7 8 9 + - / = . 功能 0 1 2 3 4 5 6 7 8 9 + - / = 点 3.3 LCD显示模块设计LCD1602,工业字符型液晶,能够同时显示16x02即32个字符(16列2行),故简称1602。1602LCD 液晶具有功耗低、显示内容丰富、清晰,显示信息量大,显示速度较快,界面友好等而得到广泛应用,因此使用1602液晶显示屏,可以方便的显示多种字符,特别适用于单片机计算器的双行显示。通过D0-D7引脚向LCD写指令字或写数据以使LCD实现不同的功能或显示相应的数据。P0口作为液晶显示的数据端口,与D0-D7连接。P2.1-P2.3口作为
39、其控制端口,控制LCD液晶显示屏显示输出数据,与RS,RW,E,连接 。 液晶显示模块的设计如图3-5所示:图3-5 液晶显示模块3.3.1 LCD1602主要技术参数显示容量:162个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.954.35(WH)mm3.3.2引脚功能说明LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表3-3所示。表3-3引脚接口说明表编号 符号引脚说明编号符号引脚说明1GND电源地9D2数据2VCC电源正极10D3数据3V0液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W
40、读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极第1脚:GND为地电源。第2脚:VCC接5V正电源。第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器,低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:
41、E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。3.4清零、音乐开关、开方和多次方运算功能模块设计本设计要求在任何时候按下AC清零键,都必须退出当前操作,数据清零,准备下一次的运算,故应采用独立键盘产生下降沿输入给单片机外部中断处理。对于声音开关按键,由于要求随时关闭或打开声音提示,本设计也采用独立按键产生下降沿输入给单片机的外部中断处理。而开方或多次方运算,则可与矩阵键盘一起检测,也当做一个运算符处理。具体功能按键设计如图3-6所示: 图3-6功能按键设图中,AC为清零按键、KeyBeep为声音开
42、关按键、KeySqrt为开方按键、KeyPow为多次方按键。3.5电源模块设计由于AT89S52和LCD1602都是采用5V供电,而且其他模块功能也采用5V电平,本系统采用LM7805作为稳压芯片,经过初级和次级的电容滤波,最终得到稳定的5V电压供给系统使用。 图3-7电源3.6 运算模块(单片机控制)AT89S52单片机是在一块芯片中集成了CPU、RAM、ROM、定时器/计数器和多功能I/O等一台计算机所需要的基本功能部件。如果按功能划分,它由如下功能部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并行I/O 口、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)。单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是一些特殊的功能,通过使用单片机编写的程序可以实现高智能、高效率以及高可靠性!因此我们采用单片机作为计算器的主要功能部件,可以很快地实现运算功能。单片机通过按键来实现输入数据和操作方式的控制,在运算过程中,先确定选用的是哪一个运算符,若是+或*,则要判断结果是否会溢出,溢出则显示错误提示,没有益处显示运算结果。若是/,判断除数是否为零,为零时显