基于MSC-51单片机计算器_毕业设计论文
基于51单片机简易计算器毕业论文
基于51单片机简易计算器设计引言计算器(Calculator)是微型电子计算机的一种特殊类型。
它与一般通用计算机的主要区别在于程序输入方式的不同。
计算器的程序一般都已经固定,只需按键输入数据和运算符号就会得出结果,很容易就能掌握。
而一般计算机的程序可以根据需要随时改动,或重新输入新的程序。
简易计算器主要用于加减乘除;科学计算器,又增添了初等函数运算(有的还带有数据总加、求平均值等统计运算)。
现代电子计算器首次问世是1963年。
那时的计算器是台式的,在美国波士顿的电子博览会上展出过。
与计算机相比,它小巧玲珑,计算迅捷,一般问题不必事先编写复杂的程序。
随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数器、并行和串行接口、看门狗、前置放大器、A/D转换器、D/A转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。
这种技术促使机器人技术也有了突飞猛进的发展,目前人们已经完全可以设计并制造出具有某些特殊功能的简易智能机器人。
随着社会需求,计算器也从原有单一的数字加减计算演变为复杂的多种运算。
现在不在单一的在某一方面而是涉及到生活的方方面面.由于我对知识掌握的不够熟练,重点不够清楚,导致在重点与非重点处花费的时间不成比例,进度缓慢,这是设计没能全部完成的部分原因。
目前只做到按键与显示的结合(即在显示器上可以显示数字键还有命令键+-*/ =清零);加法子程序已经编写成功并严整无误,但在整体调试中未能圆满实现,本部分正在调试中。
等调试成功后,其它运算子程序的问题将迎刃而解。
1.简易计算器的设计方案1.1硬件部分设计方案1 单片机部分单片机以AT89C51来做为核心元器件。
2 按键部分设计思路:采用4*4行列式键盘,分别设定数字键和功能键,采用查询方式,每次有键按下时,先判断是实数字键还是功能键。
但是这种方式采用了大量的I/O口线。
基于51单片机的计算器设计
基于51单片机的计算器设计计算器作为一种常用的电子设备,广泛应用于各个领域。
在本文中,我们将基于51单片机来设计一个简单的计算器,并对其进行详细介绍。
一、设计目标我们所设计的计算器需要具备以下功能:1.实现基本的算术运算,包括加、减、乘、除等;2.具备显示功能,能够将输入和运算结果以数字的形式显示在液晶屏上;3.提供清零和删除功能,方便计算器的操作;4.具备较高的计算精度和稳定性。
二、硬件设计计算器的硬件设计主要包括键盘输入、液晶屏输出和计算程序控制三个部分。
1.键盘输入为了简化设计的复杂度,我们采用矩阵键盘来实现输入功能。
矩阵键盘由多个行和多个列交叉连接而成,通过扫描行和列的方式来检测键盘输入的按键信息。
2.液晶屏输出我们选择16x2字符液晶显示屏来作为计算结果的输出设备。
这种液晶屏可以显示16个字符,每个字符由5x8像素点阵组成,具备较好的显示效果。
3.计算程序控制我们将基于51单片机来编写计算器的计算程序,并通过电路连接键盘输入和液晶屏输出设备。
通过读取键盘输入的按键信息,计算程序能够判断用户输入的数字和操作符,并进行相应的计算操作。
最后,计算结果将以数字的形式显示在液晶屏上。
三、软件设计计算器的软件设计主要包括键盘扫描与输入处理、计算程序控制和液晶屏显示三个模块。
1.键盘扫描与输入处理通过循环扫描矩阵键盘的行和列,可以得到按键信息。
根据按键信息的不同,我们可以判断用户输入的数字和操作符,并将其传递给计算程序模块进行处理。
同时,我们需要对一些特殊按键(如清零和删除)做特殊处理。
2.计算程序控制计算程序模块将根据键盘输入的数字和操作符,进行相应的算术运算。
我们可以采用栈的数据结构来处理运算符和运算数,以实现复杂的算术运算。
3.液晶屏显示计算结果将以数字的形式显示在液晶屏上。
我们可以通过51单片机的GPIO口控制液晶显示屏的操作,包括写入指令和写入数据。
通过设定光标位置及写入数字数据,可以将计算结果显示在液晶屏的指定位置上。
基于51单片机的简易计算器论文设计
基于51单片机的简易计算器论文设计摘要:计算器是一种常见的电子设备,用于数学计算。
随着科技的迅速发展,计算器不再是一种巨大且笨重的机械设备。
相反,它们变得迷你、便携且功能强大。
本论文旨在设计和实现一种基于51单片机的简易计算器。
该设计利用了51单片机的优点,如低功耗、成本低廉和易于学习等特点。
本论文介绍了设计和实现的过程,包括硬件电路设计、软件程序编写以及性能测试等方面。
1.引言计算器广泛应用于日常生活和学习中,人们常常需要进行加减乘除等简单的数学计算。
为了提供便捷的计算功能,传统计算器使用专用的集成电路设计。
然而,这种计算器成本较高,体积较大,且功能有限。
为了满足市场需求,我们设计了一款基于51单片机的简易计算器。
2.硬件电路设计2.1键盘模块键盘模块采用矩阵键盘设计,包括数字键0-9、运算符键+、-、*、/以及等于键=。
采用矩阵建构可以减少IO口资源的使用,并简化设计。
2.2显示模块显示模块采用液晶显示器,能够清晰地显示数字、运算符和结果。
为了实现更好的用户交互体验,还可以添加背光模块。
2.3控制电路控制电路由51单片机和其他常用电子元件组成,可以通过编程控制键盘的输入和显示模块的输出。
其中,51单片机充当了控制中心的作用,负责接收键盘输入、解析用户命令、进行数学计算和控制显示模块的显示。
2.4电源电路电源电路用于提供稳定的电源给整个计算器系统。
电源电路由电池、稳压电路和滤波电路组成,能够为计算器提供稳定的电压和电流。
3.软件程序设计软件程序设计是整个计算器系统的核心。
主要功能包括接收键盘输入、解析输入、进行数学计算、控制显示模块的显示和处理异常情况。
3.1键盘输入接收软件程序通过扫描键盘矩阵来接收键盘输入。
当用户按下一些键时,软件程序会检测到相应的按键信号,并将其转换为数值或运算符。
3.2输入解析软件程序能够解析用户的输入,判断用户输入的是数字还是运算符,并将其保存在相应的变量中。
同时,软件还可以处理异常输入,如除以零等情况。
51单片机简易计算器论文
51单片机简易计算器论文摘要:本篇论文基于51单片机设计并实现了一款简易计算器。
该计算器具有基本的加、减、乘、除四则运算功能,并支持小数点运算和括号运算。
通过设计合理的菜单界面和使用者友好的操作方式,使得计算器更加易用。
本文介绍了计算器的硬件设计和软件设计,并对其进行了功能测试和性能评估。
实验结果表明,该计算器具有较好的计算精度和运算速度,能够满足一般计算需求。
关键词:51单片机,简易计算器,四则运算,菜单界面1.引言随着计算机技术的发展和普及,计算器作为一种便携式计算工具得到了广泛应用。
无论是学生、工程师还是商务人士,都离不开计算器的帮助。
本文旨在设计一款基于51单片机的简易计算器,以满足用户日常计算需求。
2.硬件设计本文采用51单片机作为计算器的主控芯片,搭配LCD显示屏、按键和外部存储器等外围电路。
通过合理的电路连接和引脚设置,实现计算器的功能。
3.软件设计3.1主程序设计计算器的主程序采用C语言编写。
主程序主要包括菜单界面设计、按键响应和运算处理等功能。
通过LCD显示屏输出菜单选项,并通过按键输入执行相应的功能。
3.2加法运算加法运算是计算器最基本的功能之一、在软件设计中,通过读取按键输入的数值,并使用加法运算符将数值累加,最后显示结果。
3.3减法运算减法运算与加法运算类似,通过读取按键输入的数值,并使用减法运算符将数值相减,最后显示结果。
3.4乘法运算乘法运算是计算器的扩展功能之一、在软件设计中,定义乘法运算函数,通过读取按键输入的数值,并使用乘法运算符将数值相乘,最后显示结果。
3.5除法运算除法运算也是计算器的扩展功能之一、在软件设计中,定义除法运算函数,通过读取按键输入的数值,并使用除法运算符将数值相除,最后显示结果。
3.6小数点运算和括号运算为了提高计算器的实用性,本文还添加了小数点运算和括号运算功能。
在软件设计中,通过读取按键输入的数值,并进行相应的运算处理和显示结果。
4.功能测试和性能评估为了验证计算器的功能和性能,本文进行了一系列的功能测试和性能评估。
电子信息工程专业毕业论文--基于51单片机的简易计算器设计
摘要近几年单片机技术的发展很快,其中电子产品的更新速度迅猛。
计算器是日常生活中比较的常见的电子产品之一。
如何才能使计算器技术更加的成熟,充分利用已有的软件和硬件条件,设计出更出色的计算器呢。
本设计是以AT89S52单片机为核心的计算器模拟系统设计,输入采用4×4矩阵键盘,可以进行加、减、乘、除4位带符号数字运算,并在LCD1602上显示操作过程。
科技的进步告别了以前复杂的模拟电路,一块几厘米平方的单片机可以省去很多繁琐的电路。
现在应用较广泛的是科学计算器,与我们日常所用的简单计算器有较大差别,除了能进行加减乘除,科学计算器还可以进行正数的四则运算和乘方、开方运算,具有指数、对数、三角函数、反三角函数及存储等计算功能。
计算器的未来是小型化和轻便化,现在市面上出现的使用太阳能电池的计算器,使用ASIC设计的计算器,如使用纯软件实现的计算器等,未来的智能化计算器将是我们的发展方向,更希望成为应用广泛的计算工具。
[关键词] AT89S52 LCD1602 计算器矩阵键盘目录第一章前言 (1)1.1 系统开发背景 (1)1.2 系统开发意义 (1)1.3 设计目的 (1)第二章方案论证 (2)2.1 方案构思 (2)2.2 方案比较与选择 (2)第三章系统硬件设计及说明 (3)3.1系统组成及总体框图 (3)3.2元件简介 (3)3.2.1 AT89S52特点 (3)3.2.2 LCD1602液晶显示屏 (9)第四章设计原理分析 (12)4.1 设计方案的确定 (13)4.2计算器硬件方案及硬件资源分配 (13)4.2.1 硬件资源分配 (15)4.2.2 系统的硬件设计 (13)4.2.3 键盘电路的设计 (16)4.2.4 显示电路的设计 (16)第五章计算器的软件设计 (17)5.1计算器的软件规划 (17)5.2 键盘扫描的程序设计 (16)5.3 显示模块的程序设计 (18)5.4 主程序的设计 (19)5.5 软件的可靠性设计 (19)结束语 (19)参考文献 (20)第一章前言1.1 系统开发背景随着社会的发展,科学的进步,人们的生活水平在逐步的提高,尤其是微电子技术的发展,犹如雨后春笋般的变化。
基于单片机设计的计算器毕业论文
南昌工程学院毕业设计 (论文)机械与电气工程学院(院)系电气工程及其自动化专业毕业设计(论文)题目基于单片机设计的计算器(硬件)学生姓名班级学号指导教师完成日期 2010 年 6 月 18 日基于单片机设计的计算器(硬件)The calculator based on the design of MCU (hardware)总计毕业设计(论文) 34 页表格 6 个插图 18 幅摘要近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域。
作为微型机的一个主要分支,单片机在结构上的最大特点是把CPU、RAM和ROM存储器、定时器和多种I/O接口电路集成在一块超大规模集成电路芯片上。
从它的组成和功能来看,一块单片机芯片其实就是一台计算机。
本次设计是采用MSC-51单片机来设计的六位数计算器, 采用C语言进行程序编写实现计算器功能。
外接4X5的键盘,通过键盘扫描来完成输入数的控制,输出采用1602液晶显示,并设有清零键可随时完成计算与显示的清零。
计算器将完成的0至99999整数的加/减/乘/除运算。
关键字:单片机AT89S52 1602液晶矩阵键盘 C语言AbstractIn 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 suitable 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 memory, timer and multiple I / O interface circuit integrated on a VLSI chip. The composition and function from its point of view, a single chip isactually a computer.This design is the use of MSC-51 microcontroller to design the six-digit calculator, using C programming language to achieve calculator functions. 4X5external keyboard, the keyboard scan to finish by the number of control values and the 1602 output with human-type liquid crystal to achieve,and has cleared at any time to complete key calculation and display clear. Calculator to complete from 0 to 99999 plus / minus / multiply / divide.Key words: MCU AT89S52; LCD1602; Matrix Keyboard; C language目录摘要 IABSTRACT II第一章引言 11.1 选题的依据及课题的意义 11.2 研究概况及发展趋势综述 11.3 实验设计要求 21.4.总体设计思路 2第二章设计方案论证与选择 32.1 控制部分的设计方案论证与选择 32.2 显示电路的设计方案论证与选择 42.3 单片机电源部分的设计方案论证与选择 6 2.4 键盘设计方案论证与选择 82.5 单片机复位电路的设计方案论证与选择 9 2.6 系统组成 10第三章重要器件的知识介绍 113.1 单片机的知识介绍 113.1.1单片机功能特性 113.1.2单片机各引脚功能说明 113.1.3单片机时钟电路 133.1.4 LED提示电路 143.2 1602液晶显示资料 15第四章计算器的软件编程 164.1 程序设计思想 164.2 4*5键盘扫描程序 174.3 1602液晶显示程序 18第五章计算器使用说明 19结语 20参考文献 21致谢 22附录 23第一章引言单片机设计的计算器在人们的日常中是比较的常见的电子产品之一。
51单片机简易计算器论文
华侨大学厦门工学院单片机控制系统课程设计报告题目:基于51单片机的简易计算器专业、班级:通信3班学生姓名:学号:指导教师:2014年月日目录一、设计任务目的 (2)二、计任务要求 (2)三、设计方案选取与论证 (2)四、电路设计 (3)4.1总体电路图 (3)4.2 硬件设计 (4)4.2.1 矩阵按键 (4)4.2.2 STC89C52主芯片 (4)4.2.3 LCD显示 (6)4.3软件设计 (7)4.3.1 键盘模块 (7)4.3.2 计算模块 (8)4.3.3 显示模块 (9)五.制作及调试过程 (9)5.1 制作过程 (10)5.2 软件调试 (10)5.3 硬件调试 (11)结论 (12)致谢 (13)参考文献 (13)附件 (14)附录1.程序代码 (14)附录2.元器件清单 (22)一、设计任务目的设计一个计算器,可以进行简易的四则运算。
二、计任务要求1、能够进行简单的四则运算,包括带负数的运算。
用LCD显示数据和结果(6位即可)2、采用键盘输入方式,键盘包括数字键(0~9)、符号(+、-、×、÷)、清除键(c)和等号键(=),故只需要16 个按键即可。
3、在执行过程中,开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。
4、错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LCD 上提示OV;当除数为0时,计算器会在LCD上提示ERR。
三、设计方案选取与论证根据功能和指示要求,本系统选用51单片机为主控机。
通过扩展必要的外围电路接口实现计算的设计。
具体如下:1、由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LCD显示数据和结果。
《基于51单片机简易的计算器制作》毕业设计(正文)
湖南机电职业技术学院毕业设计说明书课题名称: 基于51单片机简易的计算器制作院、系:电气工程学院专业:机电一体化学生班级:机电1211 学生姓名:成超强指导教师:李婕妤完成日期: 2021.10毕业设计任务书题目:基于51单片机的简易计算器制作任务与要求:在生活当中我们经常需要进行加减乘除计算,随着科技的开展,电子计算器代替心算和笔算已经相当普及。
但目前市面上有些电子计算器的功能设计过于复杂,功能简易实用的电子计算器反而更加适用于老人和小孩,且本钱低廉,存在一定的市场需求。
因此本设计制作一款适用于老人和小孩的简易电子计算器。
基于51单片机的简易计算器应用AT89C51单片机,通过4*4矩阵键盘设计计算器需要的数字键和功能键,用4个数码管来显示运算过程和结果。
此计算器由于受数码管个数限制,只能进行0-999内的加减乘除计算,显示结果只显示整数局部。
1.设计任务设计简易计算器的硬件电路,绘制PCB板,组装简易计算器,并完成计算器的C语言程序设计。
2.要求:1、计算器需设计0-9、+、—、*、%、=、去除共16个按键。
2、计算器带4位数码管显示。
3、计算器能实现3位数内的加减乘除计算。
4、计算器硬件应包含程序下载电路。
毕业设计(论文)进度方案表目录毕业设计任务书 (2)毕业设计(论文)进度方案表 (2)第一章单片机介绍 (6)1单片机及其应用 (6)1.1 单片机介绍 (6)1.2 单片机的应用 (7)第二章元件介绍 (7)单片机介绍 (8)第三章系统设计 (10)单片机简易的计算器制作 (10)数码管显示 (11)矩阵按键 (11)第四章系统硬件的设计与介绍 (12)复位电路的设计 (12)时钟震荡电路的设计 (13)输入电路的设计 (14)输出电路的设计 (16)第五章系统程序的设计与介绍 (18)显示程序流程图设计 (18)读键输入程序流程图 (20)主程序设计 (21)仿真与调试 (22)第六章心得体会 (24)结语........................................................................................ 错误!未定义书签。
(完整)基于51单片机的简易计算器设计
(完整)基于51单片机的简易计算器设计基于51单片机的简易计算器设计计算器作为一种常见的电子设备,既能满足日常生活的计算需求,又能帮助人们提高工作效率。
本文将介绍基于51单片机的简易计算器的设计。
该计算器具备加减乘除的基本计算功能,并支持用户输入和结果显示。
下面将从材料准备、电路连接和程序设计三个方面详细介绍该计算器的设计。
一、材料准备在设计计算器之前,我们需要准备以下材料:1. 51单片机开发板:用于控制计算器的整个运行过程;2. 液晶显示屏:用于显示用户输入的数字和计算结果;3. 数字按键:用于用户输入数字和运算符;4. 连接线:用于连接51单片机开发板、液晶显示屏和数字按键。
二、电路连接1. 连接液晶显示屏和51单片机开发板:将液晶显示屏的VCC、GND、SCL和SDA引脚分别与开发板上对应的引脚连接。
2. 连接数字按键和51单片机开发板:将数字按键的引脚依次与开发板上的IO口引脚连接,其中有一根引脚需要连接到开发板的中断口。
三、程序设计1. 初始化设置:在程序开始时,进行液晶显示屏和数字按键的引脚初始化设置,以及相应的中断设置。
2. 输入处理:通过数字按键输入,获取用户输入的数字和运算符,并将其保存到相应的变量中。
3. 运算处理:根据用户输入的运算符,对相应的数字进行加、减、乘、除的运算,并将结果保存到一个变量中。
4. 结果显示:将运算结果显示在液晶显示屏上,以便用户查看计算结果。
5. 重置处理:在每次运算结束后,对相关变量进行重置,以便下一次计算。
通过以上程序设计,我们可以完成基于51单片机的简易计算器的设计。
在实际使用过程中,用户只需要通过数字按键输入相应的数字和运算符,计算器就可以自动进行运算,并将结果显示在液晶显示屏上,方便用户进行查看。
总结本文介绍了基于51单片机的简易计算器的设计。
通过合理的材料准备、电路连接和程序设计,我们可以实现一个具备加减乘除功能的计算器。
该计算器不仅能满足人们日常的计算需求,还能帮助提高工作效率。
基于51单片机简易计算器的设计本科毕业论文
本科毕业论文题目:基于51单片机简易计算器的设计毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
基于51单片机的简易计算器设计
基于51单片机的简易计算器设计设计一个基于51单片机的简易计算器,主要功能包括加减乘除四则运算和百分数计算。
下面是设计的详细步骤:1.硬件设计:-使用51单片机作为主控芯片。
-连接16x2的LCD显示屏,用于显示输入和计算结果。
-连接16个按键开关,用于输入运算符和数字。
-连接4个LED灯,用于指示四则运算的选择。
2.软件设计:-初始化LCD显示屏,并显示欢迎信息。
-监听按键输入,在接收到输入后,根据输入的按键值判断操作类型。
-如果按键值对应数字键,保存输入的数字,并在LCD上显示当前输入的数字。
-如果按键值对应四则运算符(+、-、*、/),保存当前输入的数字,并保存运算符。
-如果按键值对应等号(=),根据保存的数字和运算符进行相应的运算,计算结果保存并显示在LCD上。
-如果按键值对应清零(C),将所有保存的数据清空,并显示初始状态。
-如果按键值对应百分号(%),将当前数字除以100并显示在LCD上。
3.主要函数说明:- void init_lcd(:初始化LCD显示屏。
- void display_lcd(char* str):将指定字符串显示在LCD上。
- void clear_lcd(:清空LCD显示屏。
- char get_key(:获取按键输入的值。
- void calculate(:根据保存的数字和运算符进行计算。
- void add_digit(char digit):将输入的数字添加到当前数字中。
- void set_operator(char op):保存运算符。
- void clear_data(:清空所有保存的数据。
4.主要流程:-初始化LCD显示屏并显示欢迎信息。
-在循环中监听按键输入,并根据输入的按键值进行相应的操作。
-根据不同的按键值,调用不同的函数进行处理。
-最后计算结果显示在LCD上。
以上是基于51单片机的简易计算器设计的详细步骤和主要函数说明。
你可以根据这个设计框架进行具体的代码实现。
基于51单片机的简易计算器设计毕业论文(设计)word格式可编辑 精品
摘要工程实践教学环节是为了学生能够更好地巩固和实践所学专业知识而设置的,在本次工程实践中,我以《智能化测量控制仪表原理与设计》、《MCS-51系列单片微型计算机及其应用》课程中所学知识为基础,设计了简易计算器。
本系统以MCS-51系列中的8051单片机为核心,能够实现多位数的四则运算。
该系统通过检测矩阵键盘扫描,判断是否按键,经数据转换把数值送入数码管动态显示。
本系统的设计说明重点介绍了如下几方面的内容:基于单片机简易计算器的基本功能,同时对矩阵键盘及数码管动态显示原理进行了简单的阐述;介绍了系统的总体设计、给出了系统的整体流程框图,并对其进行了功能模块划分及所采用的元器件进行了详细说明;对系统各功能模块的软、硬件实现进行了详细的设计说明。
关键词:MCS-51;8051单片机;计算器;加减乘除AbstractThe engineering practice teaching is to students better to consolidate and practice have set up by the professional knowledge, in this engineering practice, I to the intelligent measurement control instrument principle and design ", "the MCS-51 series single chip computer and its application" course knowledge as the foundation, the design the simple calculator. This system to MCS-51 of the 8051 series single chip microcomputer as the core, can realize the connection arithmetic. The system through the test matrix keyboard scan, judge whether key, the data transfer the numerical into digital tube dynamic display. This system mainly introduced the design that the following aspects of content: based on single chip microcomputer simple calculator basic functions, and the matrix keyboard and a digital tube dynamic display of the principle of a simple expatiated; introduced the design of the whole system, the whole process of the system are discussed, and its function module partition and the components for a detailed explanation; the functional modules of the system hardware and software of the implementation of the detailed design instructions.Key words: MCS-51;8051 single chip microcomputer;Calculator;Add, subtract, multiply and divide:目录第1章绪论 (1)1.1课题简介 (1)1.2设计目的 (1)1.3设计任务 (1)1.4章节安排说明 (1)第2章计算器系统简介 (2)2.1 单片机发展现状 (2)2.2计算机系统现状 (2)2.3简易计算器系统简介 (3)第3章计算机硬件系统简介 (4)3.1计算机硬件需求 (4)3.2MCS-51系列单片机简介 (4)3.3外围电路设计 (8)3.3.1振荡电路设计 (8)3.3.2复位电路设计 (9)3.3.3 键盘电路设计 (9)3.3.4 数码管显示电路设计 (10)3.4硬件原理图 (11)第4章计算器软件系统设计 (12)4.1系统模块图 (12)4.2系统流程图 (12)4.3 计算器主程序设计 (12)4.3.1计算器主程序设计 (12)4.3.2 存储单元分配 (13)4.4 计算器子程序设计 (14)4.4.1输入程序设计 (14)4.4.2运算程序设计 (15)4.4.3 显示程序设计 (16)第5章结论与展望 (18)5.1结论 (18)5.2不足与展望 (18)参考文献 (19)附录程序源代码 (20)第1章绪论1.1课题简介单片机由于其微小的体积和极低的成本,广泛的应用于家用电器、工业控制等领域中。
基于51单片机的简易计算器论文设计
基于51单片机的简易计算器论文设计摘要:本文介绍了一种基于51单片机的简易计算器的设计。
该计算器具有基本的加减乘除运算功能,可以进行整数和小数的计算,并在LCD显示屏上显示计算结果。
设计采用了51单片机作为计算控制核心,外接了键盘输入电路、LCD显示电路和运算电路。
在设计过程中,使用了汇编语言进行51单片机的编程。
实验结果表明,该简易计算器设计具有稳定、可靠、易于操作和性能良好等特点。
关键词:51单片机;简易计算器;LCD显示屏;汇编语言1.引言计算器作为一种普遍存在于日常生活中的电子设备,已经成为人们生活中必不可少的工具之一、为了满足人们对计算器的基本需求,本文设计了一种基于51单片机的简易计算器。
该计算器具有基本的加减乘除运算功能,可以进行整数和小数的计算,并在LCD显示屏上显示计算结果。
本文将详细介绍该计算器的设计与实现过程。
2.总体设计2.1系统硬件设计本文设计的简易计算器主要由以下部分组成:51单片机、键盘输入电路、LCD显示电路和运算电路。
其中,51单片机作为计算控制核心,接收键盘输入信号,进行运算,并将结果通过LCD显示出来。
键盘输入电路负责将按键信号转化为数字输入信号,通过矩阵键盘的方式实现输入功能。
LCD显示电路负责将计算结果转化为可视化的输出信号并在LCD显示屏上显示出来。
运算电路则是根据输入的运算符和两个运算数进行相应的加减乘除运算,并将结果传送给LCD显示电路。
2.2系统软件设计本文的软件设计主要包括51单片机的编程设计。
在编程设计中,使用汇编语言进行编程,实现对键盘输入信号的检测和解码,对输入的数值进行运算,将计算结果转化为数据信号并传送给LCD显示电路。
同时,还需要编写相应的算法,实现加、减、乘、除等基本运算功能的设计。
3.系统实现在系统实现中,首先将键盘输入电路连接到51单片机的I/O引脚上,通过矩阵键盘的方式实现输入功能。
然后将LCD显示电路连接到51单片机的I/O引脚上,将计算结果转化为可视化的输出信号并在LCD显示屏上显示出来。
基于MCS-51单片机的简易计算器的设计与实现毕业设计论文
基于MCS-51单片机的简易计算器的设计与实现【摘要】当今社会,随着人们物质生活的不断提高,电子产品已经走进了家家户户,无论是生活或学习,还是娱乐和消遣几乎样样都离不开电子产品,大型复杂的计算能力是人脑所不能胜任的,而且比较容易出错。
计算器作为一种快速通用的计算工具方便了用户的使用,可是它还在发展之中,以后必将出现功能更加强大的计算器,所以本次设计是基于51单片机来设计的计算器,实现基本功能加减乘除,采用LCD显示结果数据。
【关键词】MCS-51;MM74C922;Protues;矩阵键盘;计算器Design and implementation of a simple calculator based onMCS-51 single chip microcomputer【Abstract】Nowadays, with the continuous improvement of people's living, electronic products have already walked into each and every family, whether life or learning, or entertainment and recreation almost everything cannot do without the electronic products, computing capability of large and complex is the human brain are not competent, and relatively easy to go wrong. The calculator as a fast general-purpose computing tools are easy to use, but it is still in development, later will appear a calculator function more powerful, so this design is to design based on 51 single chip computer, the realization of the basic functions of add, subtract, multiply and divide, uses LCD to display the results of data.【Keywords】MCS-51;MM74C922;Protues;Matrix keyboard ;calculator目录第一章绪论 (1)1.1 设计背景 (1)1.2 设计内容 (1)1.3 设计意义 (1)第二章设计方案及技术基础 (1)2.1 设计方案 (1)2.2 方案论证及设计 (1)2.3 MCS-51单片机及开发环境介绍 (2)2.3.1 MCS-51系列单片简介 (2)2.3.2 MM74C922芯片 (3)第三章硬件设计 (4)3.1 硬件电路设计 (5)3.1.1 电路设计原理 (5)3.1.2 硬件电路设计 (5)3.2 时钟电路 (5)3.3 复位电路 (6)3.4 输入模块:键盘接口电路 (6)第四章软件设计 (8)4.1 主程序设计 (8)4.2 外部中断0处理程序 (8)4.2.1 键值转化为键盘上按键值程序 (10)4.2.2 算术运算程序 (10)4.3 LCD显示程序 (11)第五章开发体会 (14)5.1 Keil软件调试 (14)5.2 Protues软件仿真 (14)第六章总结 (15)参考文献 (16)致谢 (17)附录 (18)第一章绪论1.1 设计背景随着社会的发展,科学的进步,人们的生活水平在逐步的提高,尤其是微电子技术的发展,犹如雨后春笋般的变化。
基于51单片机简易计算器的设计本科毕业论文
本科毕业论文题目:基于51单片机简易计算器的设计毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
基于51单片机的计算器论文摘要中英对照
近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,作为微型机的一个主要分支,单片机在结构上的最大特点是把CPU、RAM和ROM存储器、定时器和多种I/O 接口电路集成在一块超大规模集成电路芯片上。
从它的组成和功能来看,一块单片机芯片其实就是一台计算机。
本次设计是采用MSC-51单片机来设计的四位数计算器, 采用C语言进行程序编写实现计算器功能。
外接4X4的键盘,通过键盘扫描来完成输入数的控制,利用驱动电路使数值与结果在七段共阴极数码管上正常显示,并设有清零键可随时完成计算与显示的清零。
计算器将完成的0至9999整数的一次加/减/乘/除运算。
执行过程如下:开机即显示0,等待键入数值,当输入数字,将通过数码管显示出来,在输入+、-、*、/运算符之后,计算器在内部执行数值转换和存储,并等待再次输入数值,当在键入数值后将显示键入的数值,按等号就会在数码管上显示运算结果。
n 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 suitable 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 memory, 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 calculator 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 complete 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 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。
基于51单片机计算器的设计
职业技术学院毕业设计报告(论文)系别:通信与电子系专业:汽车电子技术班级:汽车电子一班学生姓名:学生学号:设计(论文)题目:基于51 单片机计算器的设计指导教师:起讫日期:毕业设计报告(论文)摘要基于51 单片机计算器的设计摘要:计算器(calculator ;counter )一般是指“电子计算器” ,该名词由日文传入中国。
计算器能进行数学运算的手持机器,拥有集成电路芯片,但结构简单,比现代电脑结构简单得多,可以说是第一代的电子计算机(电脑),且功能也较弱,但较为方便与廉价,可广泛运用于商业交易中,是必备的办公用品之一。
本任务是个简单的多位数四则运算,程序是根据教材和网络中的程序参考编写而成,在功能上还不是很完善,限制也不较多。
本任务重在设计结构和自我锻炼,让我们用专业的知识专业的技能分析和解决问题,全面系统的锻炼。
报告详细介绍了整个系统的硬件组成结构、工作原理和系统的软件程序设计计算器将完成的功能有整数的加、减、乘、除等。
关键词:MCS-51 8051单片机,计算器,加减乘除目录摘要 ................... 错误! 未定义书签1.绪论 (5)2.系统软件设计方案 (6)2.1设计目标和实现方法 (6)2.2整体方案论证 (6)3.系统硬件的设计与介绍 (7)3.1复位电路的设计与运用 (7)3.2时钟振荡器电路的设计与运用 (7)3.3输入电路的设计 (7)3.4输出电路的设计 (10)4.系统软件的设计与介绍 (12)1. 绪论 中国古代最早采用的一种计算工具叫筹策,又被叫做算筹。
这种算筹多是 用竹子制成,也有用木头,兽骨充当材料的。
大约二百七十枚一束,放在布袋里 可以随身携带。
直到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一项发明, 明代时期的珠算盘已经与现代的珠算盘几乎没有差别。
17 世纪初,西方国家的计算工具已经有了较大的发展, 英国数学家纳皮尔发 明的"纳皮尔算筹 " ,英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺不仅 能做加减乘除、 乘方、开方运算, 甚至可以计算三角函数, 指数函数和对数函数, 这些计算工具不仅带动了计算器的快速发展, 也为实现现代计算器发展奠定了良 好的基础,成为现代社会应用广泛的计算工具。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
哈尔滨远东理工学院学士学位论文题目: 基于MSC-51单片机计算器分院: 工学院专业: 电子信息工程二0 年月日毕业设计(论文)评语及成绩是否同意参加答辩:指导教师签字:20 年月日二.评阅人评语:是否同意参加答辩:评阅教师签字:20 年月日是否建议授予学士学位:答辩委员会成员签字:1. 2. 3.4. 5. 6.7. 8. 9.20 年月日四.答辩委员会主任单位答辩委员会主任职称答辩委员会主任签字20 年月日五.毕业设计(论文)成绩:学生所在分院盖章: 20 年月日哈尔滨远东理工学院毕业设计(论文)任务书学生姓名学号分院专业任务起止时间: 年月日至年月日毕业设计(论文)题目:毕业设计(论文)工作内容:毕业设计(论文)进度安排:1.查阅中外文文献资料,写出文献综述阶段:2012年12月10日——2013年1月10日2.调查.设计.实验.研究阶段:2013月1 月11日——2013年3月31日3.设计(论文)撰写与整理阶段:2013年4 月1 日——2013年5月31日指导教师意见与要求:签字:年月日主任意见:签字:年月日近年来,伴随着计算机在大规模集成电路的发展和社会领域的渗透,单片机应用正在不断地走向深入.由于它具有功能强,体积小,功耗低,性价比高,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域.作为微型机的一个主要分支,单片机在结构上的最大特点是把CPU.RAM和ROM存储器.定时器和多种I/O接口电路集成在一块超大规模集成电路芯片上.从它的组成和功能来看,一块单片机芯片其实就是一台计算机.本次设计是采用MSC-51单片机来设计的四位数计算器, 采用C语言进行程序编写实现计算器功能.外接4X4的键盘,通过键盘扫描来完成输入数的控制,利用驱动电路使数值与结果在七段共阴极数码管上正常显示,并设有清零键可随时完成计算与显示的清零.计算器将完成的0至9999整数的一次加/减/乘/除运算.关键词:MSC-51单片机四位数计算器 C语言In recent years, along with the penetration of computer LSI development and social fields, SCM applications are constantly deepening. Because of its strong function, small size, low power consumption, cost-effective, easy to use features, it is particularly suitable in relation to the control of the system, more and more widely used in automatic control, intelligent instruments, instrumentation, data acquisition, military products as well as household appliances and other fields.The most important feature of the microcontroller on the structure as a major branch of the microcomputer, CPU, RAM and ROM memory, timers, and multiple I / O interface circuit integrated in a VLSI chip. From its composition and function of a single chip is actually a computer.The design is a four-digit calculator MSC-51 microcontroller design, using C language programming calculator function. External 4X4 keyboard, the keyboard scan to complete control of the number of input by the drive circuit to the numerical results on the seven-segment common cathode LED display properly, and has cleared the clear key at any time to complete the calculation and display. Calculator will be completed 0-9999 integer add / subtract / multiply / divide operations.Keywords: MSC-51 single-chip four-digit calculator C language目录摘要 (I)Abstract (II)目录 (III)第1章绪论 (1)1.1 单片机的发展历史和趋势 (1)1.1.1发展历史 (1)1.1.2 发展趋势 (1)1.2 MCS-51单片机系统简介 (2)1.2.1 单片机的基本特点 (2)1.2.2 单片机的组成 (3)1.3 本章小结 (3)第2章MCS-51单片机计算器总体方案 (4)2.1 设计任务 (4)2.2 方案设计 (4)2.2.1 主程序方案 (4)2.2.2 按键显示方案 (4)2.2.3 设计难点 (4)2.3 本章小结 (4)第3章MCS-51单片机计算器硬件设计 (6)3.1 主要元件介绍与选择 (6)3.1.1 电阻 (6)3.1.2 电容器 (6)3.2各硬件的功能与连接 (6)3.2.1 AT89S51单片机 (6)3.2.2七段数码管 (8)3.2.3 按键 (9)3.2.4 矩阵式键盘设定 (9)3.2.5 复位.时钟电路设计 (9)3.3 本章小结 (10)第4章MCS-51单片机计算器软件设计 (12)4.1 软件设定 (12)4.1.1 程序规划 (12)4.1.2 程序设定 (12)4.1.3 数码管显示程序设计 (13)4.1.4 键盘程序设计 (14)4.2 程序总编 (15)4.2.1 主要变量 (15)4.2.2 程序模块 (16)4.3 本章小结 (16)第5章实验环境与调试 (17)5.1 软件实验方法 (17)5.2 实际焊接及其注意事项 (18)5.3 本章小结 (18)结论 (19)致谢 (20)参考文献 (21)附录A (23)附录B (30)附录C (34)附录D (37)第1章绪论1.1 单片机的发展历史和趋势1.1.1发展历史继1971年微处理器的研制成功不久以后,就出现了单片机,但最早的单片机是1位的,当时因为工艺限制,单片机采用双片的形式而且功能比较简单.如果我们以8位单片机的推出作为起点,那么单片机的发展历史大致可分为以下几个阶段.[1]1.第一阶段(1976-1978)单片机的初级阶段.以Intel公司的MCS–48为代表.MCS–48的推出是在工业控制领域的控索,参与这一控索的公司还有Motorola .Zilog等,都取得了满意的效果.这就是SCM的诞生年代,―单机片‖一词即由此而来.2.第二阶段(1978-1982)单片机的完善阶段.Intel公司在MCS–48 基础上推出了完善的.典型的单片机系列MCS –51.它在以下几个方面奠定了典型的通用总线型单片机体系结构.①完善的外部总线.MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线.16位地址总线.控制总线及具有很多机通信功能的串行通信接口;②CPU外围功能单元的集中管理模式;③体现工控特性的位地址空间及位操作方式;④指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令.3.第三阶段(1982-1990)8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段.Intel公司推出的MCS–96系列单片机,将一些用于测控系统的模数转换器.程序运行监视器.脉宽调制器等纳入片中,体现了单片机的微控制器特征.随着MCS–51系列的广应用,许多电气厂商竞相使用8051为内核,将许多测控系统中使用的电路技术.接口技术.多通道A/D转换部件.可靠性技术等应用到单片机中,增强了外围电路路功能,强化了智能控制的特征.4.第四阶段(1990—现在)微控制器的全面发展阶段.随着单片机在各个领域全面深入地发展和应用,出现了高速.大寻址范围.强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机.[2]1.1.2 发展趋势目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化.低功耗.小体积.大容量.高性能.低价格和外围电路内装化等几个方面发展.下面是单片机的主要发展趋势.CMOS化:近年来由于CHMOS技术的进小,大大地促进了单片机的CMOS 化.CMOS芯片除了低功耗特性之外,还具有功耗的可控性,使单片机可以工作在功耗精细管理状态.这也是今后以80C51取代8051为标准MCU芯片的原因.因为单片机芯片多数是采用CMOS(金属栅氧化物)半导体工艺生产.CMOS电路的特点是低功耗.高密度.低速度.低价格.采用双极型半导体工艺的TTL电路速度快,但功耗和芯片面积较大.随着技术和工艺水平的提高,又出现了HMOS(高密度.高速度MOS)和CHMOS工艺.CHMOS和HMOS工艺的结合.目前生产的CHMOS 电路已达到LSTTL的速度,传输延迟时间小于2ns,它的综合优势已在于TTL电路.因而,在单片机领域CMOS正在逐渐取代TTL电路.低功耗化:单片机的功耗已从Ma级,甚至1uA以下;使用电压在3~6V之间,完全适应电池工作.低功耗化的效应不仅是功耗低,而且带来了产品的高可靠性.高抗干扰能力以及产品的便携化.低电压化:几乎所有的单片机都有WAIT.STOP等省电运行方式.允许使用的电压范围越来越宽,一般在3~6V范围内工作.低电压供电的单片机电源下限已可达1~2V.目前0.8V供电的单片机已经问世.低噪声与高可靠性:为提高单片机的抗电磁干扰能力,使产品能适应恶劣的工作环境,满足电磁兼容性方面更高标准的要求,各单片厂家在单片机内部电路中都采用了新的技术措施.大容量化:以往单片机内的ROM为1KB~4KB,RAM为64~128B.但在需要复杂控制的场合,该存储容量是不够的,必须进行外接扩充.为了适应这种领域的要求,须运用新的工艺,使片内存储器大容量化.目前,单片机内ROM最大可达64KB,RAM最大为2KB.高性能化:主要是指进一步改进CPU的性能,加快指令运算的速度和提高系统控制的可靠性.这类单片机的运算速度比标准的单片机高出10倍以上.由于这类单片机有极高的指令速度,就可以用软件模拟其I/O功能,由此引入了虚拟外设的新概念.小容量.低价格化:与上述相反,以4位.8位机为中心的小容量.低价格化也是发展动向之一.这类单片机的用途是把以往用数字逻辑集成电路组成的控制电路单片化,可广泛用于家电产品.外围电路内装化:这也是单片机发展的主要方向.随着集成度的不断提高,有可能把众多的各种处围功能器件集成在片内.除了一般必须具有的CPU.ROM.RAM.定时器/计数器等以外,片内集成的部件还有模/数转换器.声音发生器.监视定时器.液晶显示驱动器.彩色电视机和录像机用的锁相电路等.串行扩展技术:在很长一段时间里,通用型单片机通过三总线结构扩展外围器件成为单片机应用的主流结构.随着低价位OTP(One Time Programble)及各种类型片内程序存储器的发展,加之处围接口不断进入片内,推动了单片机―单片‖应用结构的发展.特别是IC.SPI等串行总线的引入,可以使单片机的引脚设计得更少,单片机系统结构更加简化及规范化.1.2 MCS-51单片机系统简介1.2.1 单片机的基本特点由于单片机的这种结构形式及它所采取的半导体工艺,使其具有很多显著的特点,因而在各个领域都得到了迅猛的发展.单片机主要有如下特点:①有优异的性能价格比;②集成度高.体积小.有很高的可靠性.单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力.另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作;③ 控制功能强.为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令.I/O 口的逻辑操作以及位处理功能.单片机的逻辑控制功能及运行速度均高于同一档次的微机.;④ 低功耗.低电压,便于生产便携式的产品.;⑤ 外部总线增加了IC (Inter-Integrated Circuit )及SPI (Serial Peripheral Interface )等串行总线方式,进一步缩小了体积,简化了结构;⑥单片机的系统扩展和系统配置较典型.规范,容易构成各种规模的应用系统.[3]1.2.2 单片机的组成图1.1为单片机的典型功能结构框图.由图可见,它通过内部总线把计算机的各主要部件连接为一体,其内部总线包括地址总线.数据总线和控制总线.其中,地址总线的作用是在进行数据交换时提供地址,CPU 通过它们将地址输出到存储器或I/O 接口;/数据总线的作用是在CPU 与存储器或I/O 接口之间,或存储器与外设之间交换数据;控制总线包括CPU 发出的控制信号线和外部送入CPU 的应答信号线等.[4]图1.1 MSC-51单片机功能结构框图1.3 本章小结本章详细讲述了单片机的发展过程,介绍了MSC-51单片机的基本结构.一方面对本设计的意义作了阐释,令一方面也为后面的理论知识展开进行铺垫.单片机的使用体现在我们生活中的方方面面,几乎很难找到哪个领域没有单片机的踪迹,认识它的历史和了解其未来的发展,更能拓展我们的视野和知识.可以说,单片机现在仍然处于成长阶段,但是它已经在不断促进整个世界前进的步伐,我们对于电子技术的研究,特别是微电子技术方向的学习,一定是需要与单片机密切联系的.振荡器及CPU 程序存储器4KB 数据存储器256B 2个16位定时器/计数器64K 总线扩展控制可编程I/O 可编程全双工串行口第2章MCS-51单片机计算器总体方案2.1 设计任务按照任务书大纲和自己的理解,所设计的单片机计算器需满足以下要求:①扩展一个4*4的键盘,其中包括10个数字键,5个功能键以及1个清零键;②完成基本的十进制的四则运算(即加.减.乘.除);③使用使用keil C软件编写和调试程序;④计算器可显示4位数字.其中,系统划分为显示模块.键盘模块.处理程序三个模块.显示模块实现将CUNZHI中的值进行动态数码显示,包括:P0口送显示码,P2口为公共端扫描;键盘模块进行键盘扫描;处理程序模块实现计算器加减乘除运算.[5]2.2 方案设计2.2.1 主程序方案①方案一将显示处理程序置于定时中断程序中实现其功能,主程序为键盘扫描程序.[6]②方案二利用主程序为显示处理程序键盘扫描程序.取消定时中断的使用.在方案比较中,方案一效率低,单片机的反应无法进行运行,方案二虽未能解决按键长按无显示的缺点,但其运算速度快.最终选定为方案二.2.2.2 按键显示方案因为计算器至少需要显示4位数字,开机运行时,只有数码管最低位显示为“0”,其余位全部不显示;当键盘第一次按下时,数码显示“D1”,第二次按下时,显示出“D1D2”,第三次按下时,显示“D1D2D3”.四个全显示完毕,再按下按键下时,输入的第五个数不接收.可以对计算结果小于9999的两个无符号数进行+.-.*./运算,并显示计算结果,如果输入的预计算的数超过9999,则运算时报错,在‖D5‖上显示“E”,以提示使用者输入错误,可按清零键清零,重新输入数据,运算过程中,如果运算的表达式是加.减.乘.除混合运算,需分步先按等号键,再继续进行运算.2.2.3 设计难点本设计的难点是键盘识别和数值显示,因为这里边涉及到键盘输入的数值在内部要转换成10进制运算,运算结果要转换成各个位的显示数字输出.2.3 本章小结本章对单片机计算器的设计进行了预先分析,为具体的操作和实现定下总纲,,简单的说明了设计上的规划和步骤.为以后的硬件部分和软件部分设计指明了方向.初次接触一个需要由理论结合实际的设计,并将其具体实现,不是一件容易的事情.明确此次设计的目标要求,实施方法,重点难点,可以不至于难于入手.参考一些技术文献,对应自己的计划,各个环节分步研究,最终结合在一起就可达到要求.第3章MCS-51单片机计算器硬件设计3.1 主要元件介绍与选择3.1.1 电阻通常分为三大类:固定电阻,可变电阻,特种电阻.该设计上电阻的选择主要为固定电阻.一般电阻上面都有不同的色环,国际上惯用"色环标注法".表3.1 测量的电阻数值电阻理论值实际值R1 10K 10.5KR2 4.7k 4.65k3.1.2 电容器电容的基本单位为法拉,由两个金属极,中间夹有绝缘材料(介质)构成.由于绝缘材料的不同,所构成的电容器的种类也有所不同:按介质材料可分为:气体介质电容,液体介质电容,无机固体介质电容,有机固体介质电容电解电容.本设计主要选用的就是电解电容.电容在电路中具有隔断直流电,通过交流电的作用,因此常用于级间耦合.滤波.去耦.旁路及信号调谐.[7]表3.2 测量的电容数值电容理论值实际值C1 104pF 104.32pFC5 30 pF 32.451pFC13 100uF 103.75uF3.2各硬件的功能与连接3.2.1 AT89S51单片机1.AT89S51介绍AT89S51是由近年来美国ATMEL公司生产的一种低功耗.高性能CMOS8位微控制器,总共具有8K的系统可编程Flash存储器.与工业80C51 产品指令和引脚完全兼容.在单芯片上,AT89S51拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S51为众多嵌入式控制应用系统提供高灵活.有效的解决方案.AT89S51具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2个数据指针,三个16 位定时器/计数器,一个5向量两级中断结构,全双工串行口,为片内晶振及时钟电路,支持2种软件可选择节电模式.空闲模式下,CPU 停止工作,允许RAM.定时器/计数器.串口.中断继续工作.掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止.与AT89C51相比,二者都是都是8051的内核.但是AT89S51比AT89C51增加了一个16位的计数器T2,相应的内存也128字节提高到了256字节,ROM的容量从2K提高到了4K,可以装下更大的程序,另外AT89S51比AT89C51增加了ISP功能,即在线可编程功能.[8]2.AT89S51单片机的各主要引脚功能VCC:电源GND:地P0 口:P0口是一组8位漏极开路型双向I/0口,也即地址/数据总线复用口.作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“l”可作为高阻抗输入端用.在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻.在F1ash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻.P1 口:P1口是一个具有内部上拉电阻的8 位双向I/O口,p1 输出缓冲器能驱动4 个TTL 逻辑电平.对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用.Flash编程和程序校验期间,Pl接收低8位地址.P2 口:基本与P1口相同.但是在Flash编程或校验时,P2接收高位地址和其它控制信号.图3.1 AT89S51单片机引脚图P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平.对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用.作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(I IL).P3口除了作为一般的I/0口线外,更重要的用途是它的第二功能.RST:复位输入.晶振工作时,RST脚持续2个机器周期,高电平将使单片机复位.ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲.在flash编程时,此引脚(PROG)也用作编程输入脉冲.在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用.PSEN:外部程序存储器选通信号.当AT89S51从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活.EA/VPP:访问外部程序存储器控制信号.为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND.为了执行内部程序指令,EA应该接VCC.在flash编程期间,EA也接收12伏VPP电压.XTAL1:振荡器反相放大器和内部时钟发生电路的输入端.XTAL2:振荡器反相放大器的输出端.[9]3.2.2七段数码管1.数码管使用条件①段及小数点上加限流电阻②使用电压:段,根据发光颜色决定;小数点:根据发光颜色决定.③使用电流:静态:总电流80mA(每段10mA);动态:平均电流4-5mA,峰值电流100mA图3.2 7段数码管结构图2.连接方式LED显示器由七段发光二极管组成,排列成8字形状,因此也称为七段LED 显示器.为了显示数字或符号,要为LED显示器提供代码,即字形代码.七段发光二极管,再加上一个小数点位,共计8段.本设计采用两个4位七段数码管连接AT89S51.其中采用共阴极接法,使用时,公共阴极接地,在阳极端输入高电平,发光二极管就导通发光.3.2.3 按键键盘可分为两类:编码键盘和非编码键盘.编码键盘是较多按键(20个以上)和专用驱动芯片的组合,当按下某个按键时,它能够处理按键抖动.连击等问题,直接输出按键的编码,无需系统软件干预.通用计算机使用的标准键盘就是编码键盘.但大多数智能仪器和电子产品的按键数目都不太多(20个以内),为了降低成本和简化电路,我们采用非编码键盘.非编码键盘的接口电路由设计者根据需要自行决定,按键信息通过接口软件来获取. 本设计需要的是16个按键,故选择用非编码键盘,为了减少所占用的端口,由P1口采用4*4矩阵式键盘外接.图3.3 4*4矩阵式键盘结构3.2.4 矩阵式键盘设定按照预定的设定方案,本次设计的计算器将通过按键输入数字和运算符,利用单片机不断扫描键盘.其中数字键0~9 共十个,接下来依次是加号键(+).减号键(-).乘号键(*).除号键(/).等于号(=).清除键.操作设备是四行四列共16键的简单键盘.第一行从左至右分别为F(清除键).E(等号键).D(除号键).C(乘号键),第二行从左至右分别为B(减号键).A(加号键).9.8,第三行分别为7.6.5.4,第四行从左至右分别为3.2.1.0,―清除键‖表示程序初始化,为下次输入准备.3.2.5 复位.时钟电路设计XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空.当使用内部振荡电路时,XTAL1.XTAL2引脚外接石英晶体和微调电容,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz.MCS-51单片机内部的振荡电路是一个高增益反相放大器,引线XTAL1和XTAL2分别为反向振荡放大器的输入及内部时钟工作电路的输入和来自反向振荡器的输出,该反向放大器可以配置为片内振荡器.任何单片机在工作之前都要进行复位,以便CPU以及其他功能部件都处于一个确定的初始化状态,并从这个状态开始工作,也就是程序开始执行之前,单片机做好准备工作.如何进行复位呢?只用在单片机的RST引脚上保持两个机器周期(24个时钟周期)的高电平即可对单片机实现复位操作,且复位操作不会对内部RAM有所影响.3.3 本章小结本章详细介绍了MCS-51单片机计算器设计的硬件元件选择以及各类主要硬件的功能结构.对单片机计算器的组成和工作原理进行了分析.更为后面的难点软件设计部分做好了充分的准备.综合来看,一个单片机计算器的组成并不复杂,但是如何将所有部件连接在一起并正常工作,这是在设计过程要一直不断思考的问题.图3-4 晶振连接的内部.外部方式图图3.5 常用复位电路图第4章MCS-51单片机计算器软件设计4.1 软件设定4.1.1 程序规划该计算器的程序主要包括以下功能模块:①主模块,为系统的初始化.②显示与读键模块,分为显示子程序,判键程序段.运算操作子程序部分;图4.1 软件设计流程图主程序主要是用来进行初始化的,调用其他子程序,清空各个标志位,清空缓存区,读取键码,判断功能,在LED上作出回应.[10]4.1.2 程序设定①数字送显示程序设计简易计算器所显示的数值最大位为四位.要显示数值,先判断数值大小和位数,如果是输入超过四位或大于9999,将不显示数字.需重新输入数字,再次计算.该程序输入同时输入四个定点数,设定运算符号有:A为加,B为减,C为乘,D为除,E等于,输出计算结果.数据输入采用规范化输入,即输入〈=3个数才算完成一个运算数的输入,两个运算数之间输入运算符A.B.C或者D,输入完成按E显示计算结果.②运算程序的设计首先初始化参数,送LED低位显示―0‖,高位不显示.然后扫描键盘看是否有键输入,若有,读取键码.判断键码是数字键.清零键还是功能键,是数值键则送LED显示并保存数值,是清零键则做清零处理,是功能键则又判断是―=‖还是运算键,若是―=‖则计算最后结果并送LED显示,若是运算键则保存相对运算程序的首地址.F为清零重启,任何时候按下F将重新开始.[11]4.1.3 数码管显示程序设计本设计的,显示程序是这样设计的,因为考虑到显示程序的通用性,在接通电源后不进行输入时显示为0,输入时显示输入的数字或运算结果,而且要使8个数码管同时显示不同的数字,选用动态显示应是最佳的.开始对数码管进行初始化,从按键程序和运算程序中接收数据,通过显示程序处理数码管显示否判断显示是否完毕是返回图4.1 显示扫描程序流程图数码管用到的数字0~9的共阴极字形代码如表4.3:LED用于显示十进制数字,要将0~9的数字用7段显示,必须将数字转换为LED对应七段码的信息,比如,要显示“0”,就是让a.b.c.d.e和f段发光,显示―1‖,让b和c段发光,如表所示.然后根据LED是共阴极还是共阳极接法确定LED各输入端应接逻辑1还是逻辑0,本设计选用的是共阴接法,要显示―0‖ 时,a.b.c.d.e和f段就要输入逻辑1,即其段码为3F, 将待显示内容―翻译‖为LED段码的过程,可以由软件查表方法实现译码.[12]。