ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:1.16MB ,
资源ID:12651684      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12651684.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于proteus的单片机lcd计算器的仿真设计大学论文.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于proteus的单片机lcd计算器的仿真设计大学论文.docx

1、基于proteus的单片机lcd计算器的仿真设计大学论文 本 科 毕 业 设 计基于PROTEUS的单片机LCD计算器的仿真设计Simulation design of LCD calculator based on the single chip microcomputer by PROTEUS学 院: 电子工程学院 专业班级: 电子信息工程 DZ电子091班 学生姓名: 学 号: 指导教师: 2013年 6 月毕业设计中文摘要摘 要:科技的发展提高了人们物质生活水平,许许多多的电子产品来到了我们的生活。许多复杂的计算是我们不能解决的,并且很容易发生错误,所以计算器凭借着快速和通用的优点给我

2、们的生活带来了方便。计算器成为了我们日常生活中最亲密的电子产品。本次设计的简易计算器由单片机主控模块、液晶显示模块、键盘输入模块这三个主要部分组成。把 AT89C51作为主控模块的核心,利用C语言程序进行编程,对AT89C51的 I/O 口进行充分的利用,成功的读取了键盘数据和控制了液晶显示;液晶显示模块是用 LCD 液晶来实现的,通过利用丰富的显示空间,可以对多数位进行显示;利用 44 键盘作为键盘输入模块,能够同时定义和采样计算器的多个数字。通过利用USB数据线插在电脑上来提供所需要的工作电源。经过调试,该计算器能够实现想要的功能,能够对计划中的加、减、乘、除进行简单的运算。关键词:计算器

3、;AT89C51单片机;液晶屏LCD 毕业设计外文摘要Abstract: The development of science,which features the various electr0nic products,bring about improvement of peoples material life.We plane to make a mistake when we compare the complicated calculations.As a result,the calculator,as a rapid and common calculation means,f

4、acilitates our life.In other words,it can be renowned as one of the electronic products that has close relationship with us.The design mainly covers SCM control module, Keyboard input module and LCD module.The SCM control module put the AT89C51 as a key part and take programme of C language.as well

5、as its rich I/O,and achieves the data-gathering of the keyboard and the control over the LCD.The LCD module adopts LCD so as to come to the effect of multidigit display by means of rich display space.The Keyboard input module takes the 4*4 size for the sake of achieving definition sampling with more

6、 than one figure in the calculator.A string of USB flash disk ,which is inserted in the computer,provides the supply of the whole system.After testing,the calculator come to the expected function that concludes addition,subduction,multiplication and division. Key words: The calculator ;AT89C51 devic

7、es ;LCD screen1 绪论1.1 研究的意义 随着社会的不断发展和科技的不断进步,各式各样的电子新科技走进了我们的日常生活,让我们的生活变得越来越方便。无论是生活还是学习,或者是娱乐消遣,我们都离不开电子产品。之前体积庞大且功能又不健全的电子产品已不被现代社会所需要,如今体形乖巧且功能齐全的电子产品才受人们的青睐。计算器成为人们工作和生活不可缺少的工具,人们能够通过使用它解决很多复杂的计算。在各式各样的计算器当中,小型计算器凭借着其体积小、易携带等优点,成为人们理财和生意上的宝贝,给人们的生活带来了许多方便。1.2 国内外研究现状和发展趋势1956年,在美国实验室发明了世界上第一台晶

8、体管计算器,在传统的计算器基础上有了长足的发展,具有体积小、用电少、重量轻等优点,但是计算功能还需要改进。目前,外国的计算器正朝着智能化、小体积方向发展。随着社会的发展和科学技术的提高。近些年来,我国的计算机也得到了快速发展。但同时还存在一些问题,例如,成本比较高、扩展功能仍需改进,这就意味着我国的计算机还有较大的成长空间。目前,市场上的计算器各式各样,形状千奇百怪,功能也更加完善。总而言之,未来的计算机朝着小型化、轻便化等方向发展。1.3节 可行性分析经济可行性:成本低,易实行,性价比高,能够方便日常生活。技术可行性:应用C语言开发计算器,可以得心应手,为用户提供非常友好、易实行的用户界面、

9、具有完整和强大的数据操作能力。社会可行性:计算器在生活的很多领域都需要。2 系统总体方案及硬件设计2.1 系统设计要求 (1) 对计算器进行综述研究(2) 对计算器电路进行设计(3) 能够应用proteus软件对计算器原理图设计(4) 应用Keil软件进行软件编程并编译通过(5) 能利用proteus和keil一起进行仿真调试2.2 总体设计方案该设计提供两个方案供选择,方案一:以FPGA芯片为核心,和配有应有的硬件;方案二:用AT89C51和相应的硬件来实现。方案一:选用FPGA控制在1985年,Xilinx公司研制出第一个FPGA芯片。FPGA之所以能够在电子领域中得到快速发展和应用,是因

10、为其具有易于使用、较高的集成度、开发时间短等优点。但由于SRAM编程的FPGA,其编程信息只能放在外部存储器上,另外,还需外部存储芯片,并且运行较麻烦,保密性不好,总之,采用FPGA设计简易计算器成本开支比较大,有点浪费,所以我们可以寻找其芯片替代它。方案二:选用AT89C51控制单片机一般由CPU、存储器和I/O接口等组成。这个简单的控制系统很容易由单片机和其他硬件组成。单片机具有应用范围广泛、易于操作和使用、开支小等优点。其中的AT89C51以MCS-51为核心,是单片机中最典型代表,被应用于各种控制领域。经过两个方案的综合比较,我们从价格、可操作性等角度来考虑,该设计将采用以AT89C5

11、1单片机为核心构成计算器系统。该设计通过单片机控制,对整个设计予以初始化,主要完成对键盘的响应、液晶显示等功能的控制,起到控制和保证各个功能模块之间正常工作的作用。首先,单片机通过检测键盘,读取被使用者按下的相应的功能按键,然后,在单片机内部进行运算,最后,把运算的结果通过液晶屏幕显示出来。该系统结构如图1所示: 图1系统结构框图3 系统仿真3.1 Proteus ISIS简介Proteus软件是由英国公司开发出来的。在仿真图中,随时都可以按“运行”或“空格”键使电路被仿真。通过Proteus 软件学习,能够提高学生的创新和设计能力。因此,Proteus 得到了大力推广。3.2 Keil简介

12、Keil是由德国人研发出来的。Keil可提供可视化Windows操作界面和大量的库函数以及多种编译工具,能够对大多数的单片机进行设计。Keil不但能进行程序编写,而且可以直接对语言的设计和编译。3.3 Keil与Proteus联合仿真 1、Keil运行流程Keil支持51系列的单片机的仿真,可通过系统设置生成51可执行的hex文件。Keil编译界面进行编译之前先进行工程仿真配置,工程配置界面如图2所示,在“Device”中进行CPU型号选择,本系统中选择Atmel公司的AT89C51,“Output”中选择“Create HEXFile”,以便生成AT89C51可执行的hex文件,以便加载到p

13、roteus中进行仿真,并且“Debug”中选择调试方式为proteus。 图2 工程配置图 2、生成HEX文件步骤(1)首先打开Keil软件,然后新建一个工程,在弹出的对话框中输入想要的项目名称,并保存。(2)单击保存按钮,选择合适的芯片型号。(3)选择文件菜单项,新建一个空白的文本编辑窗口,输入源程序,以“.c”为后缀的文件名称形式保存。(4)将保存的“.c”源程序文件导入到Source Group1中。(5)在Project选项下,生成HEX文件。 图3 KEIL调试界面3.4 Proteus运行流程(1)首先,在电脑里下载正确的软件版本,此软件主要是对硬件部分进行模拟。 (2)其次,进

14、入软件后蓝色框内就是工作区域,可以在里面随意选择元器件,拖动元器件。根据原理图进行正确的连线。(3)再次,完成所有连接后,双击单片机把生成的HEX文件进行导入。(4)最后,如果程序和连好的图都没有问题就可以进行仿真了。 3.5 出现的问题和解决方法在系统设计完成后进入调试阶段,往往并不能直接得到所要的结果,即很难做到一次性成功。原因主要来自于硬件部分设计存在的问题和软件编程部分程序上的错误等。首先,由于对单片机掌握并不十分熟练导致,对一些接口的功能理解没有十分透彻,因此在硬件连接时存在错误,经过查阅资料和与指导老师交流,反复修改,硬件问题得到了解决。其次,在编程过程中,由于对C语言编写的不熟练

15、,在编写过程中出现不少疑难,但经过反复查阅资料,认真理解,最终按照绘制好的程序流程图编写好了程序。最后,在Proteus中绘制好电路图,检验无误后,给AT89C51加载.HEX程序文件,但并没有得到预期的结果。(1) 反复排查中,发现首先程序中有语句错误,经过KEIL的反复调试,排除程序中的语法错误。(2) 运行仿真,显示屏仍然无显示结果,经过反复检查调试,发现扫描顺序与显示屏引脚的连接顺序有不一致的情况。于是,通过仔细分析,对设计做认真修改。本章小结:本章结合软硬件对整个系统进行了整体调试。首先将自己编写的程序在Keil Vision2中进行编译,尽量发现并改正其错误的程序,然后,将编译最后

16、生成的HEX文件写入单片机,得出了完整的调试结果,本部分不得不说是设计中最关键却又是最枯燥焦灼的部分,一定要静下心和端正好态度,仔细分析,坚持不懈才能成功发现问题,最终解决它们。 4 系统硬件设计4.1 单片机概述 一般用简写MCU代表单片机,单片机通常由控制器,存储器,运算器等构成,和一台小的计算机没什么区别。它具有轻质量、小体积、成本低等优点,这也为它的发展做了铺垫。4.2 AT89C51单片机简介 AT89C51是一种带4K字节FLASH存储器的微处理器,通俗的称为单片机。在电路设计中,AT89C51被很多控制系统采用,因为其具有较高的灵活性和成本小等优点。它的引脚如图4所示 图4 AT

17、89C51管脚图 4.2.1主要特性与MCS-51 兼容 4K字节可编程闪烁存储器全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线5个中断源 4.2.2管脚说明4.3复位电路 图5 复位电路一般当我们遇到单片机刚通上电、突然断电、电路发生故障等情况,之后,我们会对其进行复位,使单片机进行正常工作。因此,想要灵活运用单片机就必须了解单片机的有关复位情况,例如:复位电路的条件、复位电路的原理等。单片机的复位条件是:1、RST必须接上连续的两个机器周期2、RST必须接高电平。电路将在RST的高电平后的第二个周期进行复位。复位电路有两种,一种是通过按键复位即按键复

18、位,另一种是通过上电进行复位即上电复位。本设计用的是按键复位,因为比较方便,只要轻轻按下S键,就能轻松的实现复位功能。4.4时钟电路 图6 时钟电路时钟电路的核心是个比较稳定的振荡器(一般都用晶体振荡器),振荡器所产生的是正弦波,频率不一定是电路工作的时钟频率,因此就要把这正弦波进行分频,处理,最后形成时钟脉冲,然后分配到需要的地方。如果想让单片机工作在内部时钟模式上,首先,需要在XTAL1和XTAL2两端之间连接一个陶瓷振荡器或晶体振荡器,然后,在两端接两个一样大的电容,最后,再把两个电容接到地上;在电容的选用时,不是很随便的,电容器的最重要的作用就是帮助振荡器起振。电容器容量的大小对振荡频

19、率有轻微调控的作用,在电容的选用时,不是很随便的,它的值一般情况下大概是30pF,振荡的频率重点由石英晶振的频率确定,振荡电路的频率也就是晶体的固有频率。 图7 单片机与复位、时钟电路连接电路图4.5显示电路模块4.5.1 LCD液晶简介液晶,通过名字我们就可以猜到,它不同于固态和液态这两种类别,是处于这两种类别之间的一种中间类别。液晶是一种特殊的物质形态,由澳大利亚Reinitzer在1888年发现。此后经过人类广泛的研究,液晶于20世纪50年代开始大规模使用,液晶显示器件在中国已有20 多年的发展历史。经过长期的研究,液晶显示器从刚开始的实验室的研究逐渐走向了产业部门的大批量生产。液晶显示

20、装置拥有很多优点,例如,独特的低电压、体积较小、微小的功耗、显示丰富、方便轻巧等优点, 正是它具有了这些优势,才使它能够完美的和集成电路相结合,研发出一大批带有显示功能的电子产品。这些电子产品不但丰富了人们日常生活而且也影响了整个社会。例如, 液晶显示的电子表为人们提供了准确时间,方便人们出行;电子计算器解决了计算复杂问题,为工作、生意提供了便利;总而言之, 液晶在生产、生活的各个范围都可以看到。4.5.2 字符型液晶显示模块的基本特点 1. 液晶显示屏是以点阵块组成的显示字符群。2. 主控制驱动IC为HD44780。如:NT3881 NOVATEK KS0066 SAMSUNG SPLC78

21、A01 SUNPLUS。3. 能够显示192种不同的字符,拥有发生器ROM。4. 拥有80个Byte的RAM。5. 标准的接口特性,适配M6800系列MPU的操作时序。6. 是个紧凑和轻便易于组装的模块。7. 单+5V电源供电。8. 具有寿命较长、功耗较低和高可靠性的优势。4.5.3字符型接口特性及时序 图8 点阵字符型液晶显示模块电路框图 引脚及功能 图9 初始界面显示 (1)写操作 图10 写操作时序图(2)读操作 图 11 读操作时序图4.6 MM74C922 芯片为了更好的利用单片机I/O口资源,在系统中,我选择了MM74C922芯片。在该设计中,MM74C922作用是对键盘的输入进行

22、检测。其引脚图如图12所示: 图12 MM94C22引脚图MM74C922引脚介绍: MM74C922对各按键的作用如下表所示:4.7 键盘模块 图13 矩阵键盘布局图 图14 矩阵键盘内部电路图 4.7.1 单片机键盘简介每一个按键都是利用行值和列值的组合来识别该按键的编码。行线是利用利用两个并行接口来通信的,而列线是通过CPU来实现的。键盘的其中一端是先连接电阻再连接到电源上,不同的是,接地是利用程序输出“0”完成的。矩阵键盘的工作原理:和直接法相比,矩阵式的键盘是比较繁琐的,识别方面也更也更有难度,每一条列线都要串连电阻接到正电源上,并把每一条行线所连接的单片机的I/O口当作输出端,另外

23、,把列线所连接的I/O口当作输入端。因此,当按键没有被按下时,整个输出端接的是高电位,表示没有键按下。当行线输出是低电位,如果有键被按下,那么输入线将会被拉低,所以,只要知道读入输入线的状态就能判别有无按键被按下。4.7.2 键盘接口电路如下图15所示,在仿真图中,键盘的行线A、B、C、D分别和MM74C922的X1、X2、X3、X4引脚相连;列线1、2、3、4分别和MM74C922的Y1、Y2、Y3、Y4 引脚连接。MM74C922的A、B、C、D和单片机的P2口连接,MM74C922的DA先接一个非门,再和单片机的/INT0相连。MM74C922的KBM和OSC先分别接两个电容,然后再接地

24、。 图15 键盘接口电路图4.8电源模块 变压器后面的整流电路是用4个二极管组成的,整流后就得到了一个电压波动度非常大的直流电源,所以要在这里接一个100uF/25V的电解电容。变压器输出端的电压经桥式整流,电容滤波,在电容C6两端大约会有高一点的电压,如果在电容两端接上负载,如果出现负载变化或者交流电源有波动情况,那么会对C6电压产生较大的影响,所以,当你想要一个稳定的电压源就必须要接上一个稳压器。它是由若干电阻和三极管构成的一种集成电路元器件,在你研究电路的时候,可以把它当作是一个能够调节电阻大小的元件,如果经过负载的电流变大大,那么,其内部的电阻会变小,同样道理,如果电流变小,那么电阻就

25、会变大。只有这样才能够使电压更加稳定。7805三端稳压集成电路有三个引脚,1号引脚是输入端,2号引脚是接地端,3号引脚是输出端。通过7805的个位数字我们可以知道输出电压是5V。 TR1是电源变压器,通过TR1把220v交流电压转变为8v左右的交流电压。再通过整流电路后,变为脉冲直流,然后通过电容进行滤波,滤波可以消除脉冲,但是输出的直流电压仍不稳定。最后,通过稳压电路7805,使得电压的稳定性大大提高并把电压转变为5V,提供给单片机工作。电路如图16所示: 图16 交流220V转为直流5V电路图附加功能说明: DS18B20在该系统中起着测温的功能,在电路中把U5的2脚与单片机的13脚相连;

26、DS1302 为系统提供日历功能,把电路中将U6的5、6、7引脚分别与单片机的25、26、27引脚相连,同时,还要在U6的2脚、3脚之间接一个晶振。 图17 DS18B20 图 18 DS13025 系统软件设计5.1 系统结构设计本设计的主要功能模块: 1、按键模块。2、LCD显示模块。3、电源模块。4、主模块单片机为系统提供初始化。5.2 键盘扫描设计 图19 键扫描程序流程图键盘输入部分程序设计/*键值转化为键盘上按键值函数*/char translate(int keycode)switch(keycode)case 0:return 7;break;case 1:return 4;b

27、reak;case 2: return 1; break;case 3: return c; break;case 4: return 8; break;case 5: return 5; break;case 6: return 2; break;case 7: return 0; break;case 8: return 9; break;case 9: return 6; break;case 10: return 3; break;case 11: return =; break;case 12: return /; break;case 13: return *; break;cas

28、e 14: return -; break;case 15: return +; break; 5.3 LCD显示设计 图20 显示程序流程图LCD部分程序设计/*LCD写数据函数*/void write_data(char ddata)RS=1; /*写指令*/R_W=0; EN=1; /*使能信号开*/P1=ddata; /*将数据送入p1口*/EN=0; /*使能信号关*/check_BF();/*LCD写指令函数*/void write_com(char command) RS=0; /*写指令*/R_W=0; EN=1; /*使能信号开*/P1=command; /*将数据送入p1口

29、*/EN=0; /*使能信号关*/check_BF();/*LCD清屏函数*/void clearLCD()write_com(0x01);5.4 算术运算设计 图21 算术运算程序设计流程图算术运算程序设计void arithmetic()if (iny)switch(operators)case 1:x=x+y;num=x;if(num-134217728)display(num);elsedataoverflow();break;case 2:x=x-y;num=x;if(num-134217728) display(num);elsedataoverflow();break;case 3:x=x*y;num=x;if(num-134217728) display(num);elsedataoverflow();break;case 4:if (y=0)dealerror();elsex=x/y;num=x; if(num-134217728) display(num);elsedataoverflow(); break;y=0;5.5 总设计 图22 系统总流程图5.6 Proteus功能仿真加法运算 write_com(0x8f); /第一行显示 减法运算

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1