您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 电子设计-基于STC89C52RC单片机的简易计算器设计
1电子设计实验名称:基于STC89C52RC单片机的简易计算器设计姓名:__学号:指导老师:目录一、可行性研究…………………………………………………………..............…..3二、设计方案简述....................................................42.1、功能介绍.........................................................................................................42基本功能....................................................4扩展功能....................................................42.2、总体设计方案.............................................................................................................5总体设计思路…………………………………………………………………..……5方案论证与比较…………………………………………………………….....……6系统组成…………………………………………………………………..….........…7三、详细设计........................................................121.各个模块设计.................................................12输入模块:键盘扫描.........................................13运算模块:单片机控制........................................14显示模块:LCD1602显示......................................152.硬件电路设计………………………………………………………………..………..16硬件连接………………………………………………………………………...........163.元件的介绍……………………………………………………………………………17STC89C52单片机组成.........................................17复位和复位电路..............................................18LCD1602显示器..............................................194.PCB设计以及结果显示.........................................22五、总结………………………………………………………………………………………24附录主要程序代码…………………………………………………………………………….........25一、设可行性分析:1.2.1经济可行性由于只是实验性质的编程,所以在设计和开发都不需要过多的经费,但是系统投入运行以后,硬件维护和损耗所造成的耗费是必须的,但是数目也不会很大。所以经过初步分析,经济上基本上是可行的1.2.2技术可行性3在技术方面,因为都学习了C语言,硬件课程设计等课程,对于开发语言c语言也有一定的掌控能力,应该能够完成相应的任务。1.2.3运行可行性该成果简单易操作,非常容易使用。1.2.4法律可行性由于我们需要完成的功能相对简单,没有太多涉及到很专业方面的内容,更没有计划将系统利用到商业用途,所以不存在侵权或者版权纠纷方面的问题。1.2.5结论该系统的软硬件都比较容易理解和实现,所以,具有实现一计算器的可行性。二、设计方案简述2.1功能概述系统基本功能:(1)由于设计的计算器要进行四则运算,为了得到较好的显示效果,经综合分析后,最后采用LCD显示数据和结果。(2)采用键盘输入方式,键盘包括数字键(0~9)、符号键(+、-、×、÷)、4清除键(on\c)和等号键(=),故只需要16个按键即可,设计中采用集成的计算键盘。(3)在执行过程中,开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。(4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LCD上提示overflow;当除数为0时,计算器会在LCD上提示error。扩展功能:加上括号的混合运算2.2总体设计思路本设计主要采用以下基本模块来实现:控制器模块,输入模块,输出模块和电源模块。通过对控制器进行编程。使其对输入模块的信号进行处理计算,然后通过输出模块反馈给使用者以计算结果。STC89C52单片机4*4键盘LCD显示晶振电路复位电路线路原理框图5方案论证与比较控制部分的设计方案论证与选择根据设计要求,控制器主要用于红外信号的接收和辨认、控制步进电机的动作,控制显示步进电机的转速等。对于控制器的选择有以下三种方案。方案一:采用计算器专用芯片实现。用计算器专用芯片进行设计并编程实现。这种设计方案计算效率高、速度快、而且成本也相对较低,是厂家做计算器的最佳方案。但是本人对计算器专用芯片掌握的不够,还不足以实现设计计算器,所以这个方案不可去。方案二:采用FPGA(现场可编程门阵列)作为系统的控制器。FPGA将所有器件集成到一块芯片上,体积小,节省空间,提高了稳定性;直接面向用户,具有极大的灵活性和通用性,使用方便,硬件测试和实现快捷,开发效率高,工作可靠性好。可以实现各种复杂的逻辑功能,规模大,密度高,采用并行的输入输出方式,系统处理速度高,适合作为大规模实时系统的控制核心。由FPGA内部编程实现计算器功能,本设计对数据处理速度的要求不是很高,FPGA的高速处理的优势得不到充分的体现,由于其集成度高,使其成本偏高,同时由于芯片的引脚较多,实物电路板布线复杂,加重了电路设计和实际焊接的工作。并且FPGA的价格相对较高,性价比太低。方案三、用单片机实现。由于单片机集成了运算器电路、控制电路、存储器、中断系统、定时器/计数器以及输入/输出口电路等,所以用单片机设计控制电路省去了很多分立元器件。由于单片机是可编程芯片,并且它可以运用C语言编写,对于一些复杂的计算功能,可以调用C语言库函数。使编写程序变得非常简单。所以该课题用单片机实现,不仅功能易于实现,而且精确度高,稳定性好,抗干扰能力强。并且由于其成本低、体积小、技术成熟和功耗小等优点,且技术比较成熟。性价比也相当高。更重要的是本人经过几年的学习,对单片机已有深刻的理解,并且可以灵活运用。综上所述,并通过各个方面综合比较为达到最佳效果。我们采用方案三利用单片机控制器。显示电路的设计方案论证与选择方案一:数码管显示方案。数码管显示使用两个四位一体动态数码管显示方案,此设计电路如图所示。采用动态数码管显示,具有程序简单,对外界环境要求低,易于维护,同时其精度比较高,精确可靠,操作简单。显示直观的特点。但只能显示数字和一些代码,不能显示汉字及一些常用的符号,且硬件设计比较复杂。6A11B7C4D2E1F10G5H3112283946JP2Q129012Q179012Q189012Q199012VCCVCCVCCVCCR4910KR5010KR5110KR5310KQ59012Q69012VCCVCCVCCVCCR4210KR4610KR4710KR4810KKBIT1KBIT2KBIT3KBIT4KBIT5KBIT6KBIT7KBIT8A11B7C4D2E1F10G5H3112293846R57Component_1Q39012Q49012D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7方案二;LCD1602显示器所谓1602是指显示的内容为16*2,即可以显示两行,每行16个字符。目前字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于大部分的字符型液晶。字符型LCD1602通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,引脚定义如下表所示:HD44780内置了DDRAM、CGROM和CGRAM。DDRAM就是显示数据RAM,用来寄存待显示的字符代码。共80个字节,其地址和屏幕的对应关系如下表:7HD44780的指令集1.清屏指令功能:1清除液晶显示器,即将DDRAM的内容全部填入空白的ASCII码20H;2光标归位,即将光标撤回液晶显示屏的左上方;3将地址计数器(AC)的值设为0。2.光标归位指令功能:1把光标撤回到显示器的左上方;2把地址计数器(AC)的值设置为0;3保持DDRAM的内容不变3.进入模式设置指令功能:设定每次定入1位数据后光标的移位方向,并且设定每次写入的一个字符是否移动。参数设定的情况如下所示:位名设置I/D0=写入新数据后光标左移1=写入新数据后光标右移S0=写入新数据后显示屏不移动1=写入新数据后显示屏整体右移1个字4.显示开关控制指令8功能:控制显示器开/关、光标显示/关闭以及光标是否闪烁。参数设定的情况如下:位名设置D0=显示功能关1=显示功能开C0=无光标1=有光标B0=光标闪烁1=光标不闪烁5.设定显示屏或光标移动方向指令功能:使光标移位或使整个显示屏幕移位。参数设定的情况如下:S/CR/L设定情况00光标左移1格,且AC值减101光标右移1格,且AC值加110显示器上字符全部左移一格,但光标不动11显示器上字符全部右移一格,但光标不动6.功能设定指令功能:设定数据总线位数、显示的行数及字型。参数设定的情况如下:位名设置DL0=数据总线为4位1=数据总线为8位N0=显示1行1=显示2行F0=5×7点阵/每字符1=5×10点阵/每字符97.设定CGRAM地址指令功能:设定下一个要存入数据的CGRAM的地址。8.设定DDRAM地址指令功能:设定下一个要存入数据的CGRAM的地址。(注意这里我们送地址的时候应该是0x80+Address,这也是前面说到写地址命令的时候要加上0x80的原因)9.读取忙信号或AC地址指令功能:1读取忙碌信号BF的内容,BF=1表示液晶显示器忙,暂时无法接收单片机送来的数据或指令;当BF=0时,液晶显示器可以接收单片机送来的数据或指令;2读取地址计数器(AC)的内容。10.数据写入DDRAM或CGRAM指令一览功能:1将字符码写入DDRAM,以使液晶显示屏显示出相对应的字符;2将使用者自己设计的图形存入CGRAM。11.从CGRAM或DDRAM读出数据的指令一览10功能:读取DDRAM或CGRAM中的内容。基本操作时序:读状态输入:RS=L,RW=H,E=H输出:DB0~DB7=状态字写指令输入:RS=L,RW=L,E=下降沿脉冲,DB0~DB7=指令码输出:无读数据输入:RS=H,RW=H,E=H输出:DB0~DB7=数据写数据输入:RS=H,RW=L,E=下降沿脉冲,DB0~DB7=数据输出:无2.2.2.3、键盘设计方案与选择方案一:独立键盘。独立键盘为一端接地,另一端接I/O口,并且要接上拉电阻。这种键盘的硬件都很容易实现,但每一个按键就要用一个I/O口,适合本次设计。方案二:通过PS2协义,用键盘同单片机相接,从而实现单片机与键盘通信。其电路如图所示。现在PC机广泛采用的PS/2接口为miniDIN6引脚的连接器。1—数据线(DATA);—未用;3—电源地(GND
本文标题:电子设计-基于STC89C52RC单片机的简易计算器设计
链接地址:https://www.777doc.com/doc-6170816 .html