《毕业论文-基于单片机的电子计算器.doc》由会员分享,可在线阅读,更多相关《毕业论文-基于单片机的电子计算器.doc(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、毕业论文题目:基于单片机的电子计算器学校:安徽工贸职业技术学院专业:电子与信息工程系班级:机电5班学号:2011350501指导老师:刘旭摘要近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,作为微型机的一个主要分支,单片机在结构上的最大特点是把CPU、RAM和ROM存储器、定时器和多种I/O接口电路集成在一块超大规模集成电路芯片上。从它的组成和功能来看,一块单片机芯片
2、其实就是一台计算机。本次设计是采用MSC-51单片机来设计的四位数计算器, 采用C语言进行程序编写实现计算器功能。外接4X4的键盘,通过键盘扫描来完成输入数的控制,利用驱动电路使数值与结果在七段共阴极数码管上正常显示,并设有清零键可随时完成计算与显示的清零。计算器将完成的0至9999整数的一次加/减/乘/除运算。执行过程如下:开机即显示0,等待键入数值,当输入数字,将通过数码管显示出来,在输入、-、*、/运算符之后,计算器在内部执行数值转换和存储,并等待再次输入数值,当在键入数值后将显示键入的数值,按等号就会在数码管上显示运算结果。关键词: 单片机 计算器 C语言 键盘扫描 。 英文摘要In
3、recent years, as computer penetration in the social field and large-scale development of integrated circuits, microcontroller applications are continually deepening, because of its powerful function, small size, low power consumption, cheap, reliable, easy to use, etc. therefore particularly suitabl
4、e for systems with control of more and more widely used in automatic control, intelligent instruments, meters, data acquisition, military products and home appliances fields, As one of the main branch of microcomputer, microcontroller in the structure of the biggest feature is the CPU, RAM and ROM m
5、emory, timer and multiple I / O interface circuit integrated on a VLSI chip. The composition and function from its point of view, a single chip is actually a computer. This design is the use of MSC-51 microcontroller to design the four-digit calculator, using C programming language to achieve calcul
6、ator functions. 4X4 external keyboard, the keyboard scan to finish by the number of control values and make the drive circuit to the cathode results in a total of seven-segment digital tube display properly, and has cleared at any time to complete key calculation and display clear. Calculator to com
7、plete an integer from 0 to 9999 plus / minus / multiply / divide. Implementation of the process is as follows: Power is displayed 0, waiting type value, when the input numbers, will come out through the digital display, the input +,-,*,/ operator, the calculator in the internal implementation of the
8、 numerical conversion and storage, and wait for the re-enter the value, when Type the value in the type of value will be displayed by an equal sign will be displayed in the digital control operation results. Key words: SCM calculator keyboard scan C language。前言计算器:一般是指“电子计算器”,该文是由日文传入中国。计算器是能进行数字运算的
9、手持的机器,拥有电子集成芯片,结构简单,功能较弱,但由于它使用方便,价格低廉,因而广泛使用商业交易中,也是必备的办公用品之一。计算器一般由运算器、控制器、存储器、键盘、显示器、电源和一些外围设备。随着科学技术的不断发展及计算器使用的普及,人们发现在工业控制中,有很多时候需要在恶劣的环境中进行各种数据的采集,运算和控制。本设计是由单片机实现模拟的计算器,它不仅能实现数据的加减乘除的运算,而且能使数据及其运算结果显示在数码管上,能实现0255的数字四则运算,本设计是由AT89C51单片机来控制的,利用键盘和LCD1602设计一个简单的电子计算器,软件部分是由汇编语言来编写,可以完成简单的加减乘除运
10、算。并将结果在LCD1602上显示出来。目录第一章 绪论1.1研究背景 1.1.1 单片机发展现状 1.1.2 计算器系统的现状 1.1.3 选题意义及现状1.2设计概要 1.2.1 设计任务1.3 设计思路 1.3.1 系统总体的模块图第二章 硬件设计2.1 键盘输入模块的设计2.2 LCD显示模块的设计2.3 电源模块的设计2.4 时钟电路的模块设计2.5复位电路的模块设计第三章 软件设计3.1 计算器的软件规划3.2 键盘扫描的程序设计3.3 显示模块的程序设计3.4主程序的设计3.5 系统的总框图结束语致谢附录一 实物图总结参考文献第一章绪论1.1 研究背景随着社会的发展,科学的进步,
11、人们生活逐渐提高,尤其是微电子技术的发展,犹如雨后春笋般的发展变化,电子产品的更新速度就不足惊奇了,计算器在人们的生活中是比较常见的电子产品之一,如何让计算器技术更加成熟,充分利用己有的软件和硬件条件,来设计出更出色的计算器,使其能够为各个行业服务,如今成为了电子领域的重要研究课题。1.1.1 单片机发展现状我国开始使用单片机是在1982年,在短短的五年里发展迅速,当今世界各大芯片制造公司都推出自己的单片机,从8位,16位和32位等,但它们各具特色,互成互补。单片机:亦称单片微电脑或单片微型计算机。它是由中央处理器(CPU),随机存取存储器(RAM),只读存储器(ROM),输出/输出端口(I/
12、O)等主要计算机功能部件集成在一块集成电路芯片上的微型计算机。截止今日,单片机应用技术飞速发展,我们上网输入一个“单片机”的搜索,将会看到上万个介绍单片机的网站,自单片机发展至今,单片机技术已走过近20年的发展路程,纵观单片机的发展历程来看,单片机的技术发展,以微处理器(MPU)技术及超大规模集成电路技术的发展为先导,以广泛应用领域拉动,表现出微处理器更具个性的发展。1.1.2 计算器系统的现状计算器是由存储器、键盘和机器等设备组成,键盘是计算器的输入部件,一般采用接触式或传感式。为减小计算器的尺寸,一键一般有多个功能,显示器是计算器的输出部件,有发光二极管显示器或液晶显示器等,除了显示计算的
13、结果外,还常溢出指示、错误指示等。计算器电源采用交流转换器或电池,电池可用交流转换器或太阳转换器在充电,为了省电节能,计算器都采用了CMOS工艺制作的大规模电路。1.2设计概要1.2.1 设计任务1了解单片机基本原理2学习电子计算器的制作基本原理3.熟练的掌握PROTEL软件4.会用kell编程,具有一定的编程能力5.制作电子计算器硬件6.撰写毕业论文1.3 设计思路1.3.1系统总体模块 1.1总体模块图如下 第二章 硬件设计2.1 键盘模块的设计。 2.1.1 键盘布局矩阵按键扫描程序是一种节省IO口的方法,按键数目越多节省IO口就越可观。键盘部分可以使用4*4键盘模组模组可以大大的缩小设
14、计的体积,也使设计实物更加的美观,同时PCB的布线也更加的简单。2.1.2键盘扫描模块设计原理图。图2.1.2 4*4键盘2.1.3原理说明键盘是单片机系统中最常用的人机对话输入设备,用户通过键盘向单片机输入数据或指令。键盘控制程序需完成的任务有:监测是否有键按下,有键按下时,在无硬件去抖的动电路时,应用软件延时方法消除按键抖动影响;当有多个键同时按下时,只处理一个按键,不管一次按键持续多长时间,仅执行一次按键功能程序。本设计采用键盘扫描由P0口驱动。4*4键盘设计方案,键盘部分布线较为困难,在设计之初本采用4*4的键盘模组,不仅方便,布线也快,但是4*4键盘模组较难买到。所以最后采用16颗规
15、格为(0.6cm*0.6cm=边长*宽)。满足设计要求的所有功能。2.2 显示模块的设计2.2.1 显示模块的原理图图2.2.1 画好的显示板原理图2.3 电源模块的设计图3-13 开关电源模块电源部分采用开关电源设计,并有整流作用,接入电源可以不用注意极性,接入电源为DC +6V,输出也可以调压(通过调节变阻器W1的阻值)。在无输出时,按下S2,C4正极点为高电位,给Q2基极以高电位,Q2导通,使Q1基极低电位,Q1导通。VCC输出。VCC输出,通过W1,给Q2高电位,Q2持续导通,通过R5给Q3基极高电位,Q3导通。C4正极低电位。若VCC过载,电源自动关断。VCC有输出,再次按下S2,电
16、源关断。此电源的优点为:可过载保护,不用注意输入电源的极性。可调电压,精准输出。按钮控制,更方便。2.4时钟电路的模块设计 2.4.1原理图如图3-6为时钟电路模块的设计原理图。图2.4.1 时钟电路图4.4.1 原理说明单片机的最小系统有三部分组成,即电源,时钟电路和复位电路。其中单片机的电源引脚与5V电源连通即可,而时钟电路和复位电路还需接口扩展,这也是单片机的基本电路操作。时钟电路用于产生单片机工作所需的时钟信号,时序是指令执行中各信号之间的相互关系。单片机本身就如同一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。在STC89C52单
17、片机内部带有时钟电路,因此,只需要在片外通过XTAL1和XTAL2引脚接入定时控制元件(晶体振荡器和电容),即可构成一个稳定的自激振荡器。在STC89C52芯片内部有一个高增益反相放大器,而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容。在单片机的XTAL1脚和XTAL2脚之间并接一个晶体振荡器就构成了内部振荡方式。STC89C52单片机内部有一个高增益的反相放大器,XTAL1为内部反相放大器的输入端,XTAL2为内部反相放大器的输出端,在其两端接上晶振后,就构成了自激振荡电路,并产生振荡脉冲,振荡电路输出的脉冲信号的频率就是晶振的固有频率。在实际应用中通常还需要在晶振的两端
18、和地之间各并上一个小电容。用晶振和电容构成谐振电路。电容大小与晶振频率和工作电压有关。但电容的大小影响振荡器的稳定性和起振的快速性,为了提高精度,本实验板采用20pF的电容作为微调电容。在设计电路板时,晶振、电容等均应尽可能靠近芯片,减小分布电容,以保证振荡器振荡的稳定性。4.5 复位电路模块的设计。4.5.1 原理图如图3-7为复位电路模块的设计原理图。C6CDS18SW SPSTVCC1KR2Res2RESET图3-7 上电手动复位电路原理图4.5.2 原理说明复位是单片机的初始化操作,其目的是使CPU和系统中各部分处于一个确定的状态,并从这一状态开始工作。系统上电路或死机后都要进行复位操
19、作。单片机的RST引脚为复位引脚,振荡电路正常工作后,RST端加上持续两个机器周期的高电平后,单片机就被复位。复位电路有3种基本方式:上电复位,开关复位和看门狗复位。本课题采用按键开关复位是指通过接通按钮开关,使单片机进入复位状态。开关复位电路一般不单独使用。在应用系统设计中,若需使用开关复位电路,一般的做法是将开关复位与上电复位组合在一起形成组合复位电路,上电复位电路完成上电复位功能,开关复位电路完成人工复位。图中C7与R1构成了上电复位电路。上电复位后,电源经R2对C6充满电源,C6等效于开路,RESET端为低电平;单片机正常工作。按开关后,C6两端电荷经R2迅速放电,开关断开后,由C6、
20、R2及电源完成对单片机的复位操作。在上述电路中C6、R2按上电复位电路的设计而取值。 复位电路的作用非常重要,能否成功复位关系但单片机系统能否正常运行的问题。如果振荡电路正常而单片机系统不能正常运行,其主要原因是单片机没有完成正常复位,程序计数器的值没有回0,特殊功能寄存器没有回到初始状态。这时可以适当地调整上电复位电路的阻容值,增加其充电时间常数来解决问题。第三章 软件设计3.1计算器的软件规划Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。单片机开发中除必要的硬
21、件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。在编写程序的时候,先考虑硬件分布,以及要达到的设计效果,理清好思路,对每一块程序小模块进行规划设计。最后全局的设计规划。由于KEIL编写程序没有Cfree好用,所以首先使用Cfree,把软件整体编写出来。然后到Keil中进行调试修改。同时应用Proteus仿真环境。查找软件的错误和缺陷,达到设计所要求的结果。如图5-1是系统软件设计流程图。3.2键盘扫描程序的设计如图3.2.1是键盘扫描子程序的设计流程图,简述键盘扫描程序的一个工作过程。
限制150内