毕业设计简易加减乘除计算器
PIC16F877A简单计算器设计报告 汇编语言 四位无符号整数加减乘除

课程设计报告课程名称:单片机原理与接口技术课程设计设计题目:简单计算器院系:机电工程学院班级:2010级电气工程及其自动化专业姓名:学号:指导教师:史丽萍,闫广明,张波,张扬,王冠然设计时间:2013年12月一、设计方案描述与论证我们所设计的是一个简单计算器,它具有四位数以内的整数加减乘除运算。
可以在输入错误的时候退格,也可以初始化。
在初始化的状态下可以进行关机以减少耗能。
显示使用的数码管扫描显示的方法来显示数字,所以我们每一次运算前我们都需要将个位、十位、百位和千位相结合。
我们使用的是4×4的键盘,检测的时候是进行键盘扫描来完成确定哪一个键被摁下,然后是否释放。
键盘被摁下后,先判断是什么键。
如果是数字键,则进行数的输入,首先先把百位的数值赋给千位,十位赋给百位,个位赋给十位,然后把摁下键的对应数赋给个位。
如果是算法键,则将对应的算法寄存地址赋上相应算法的值,并且在下一次输入数字时把十位、百位和千位清零以完成下一次的赋值,而这一次的值将转换为一个数储存在相应的地址中。
当按下的是退格键,则将十位赋值给个位,百位赋值给十位,千位赋值给百位然后千位清零。
当按下的是等号键的时候,将前一次储存的数取出与这一次的数进行相应的运算然后将得到的二进制数拆分为个位、十位、百位和千位然后扫描显示就可以。
复位键是使用的中断,当个位、十位、百位和千位都不为零的时候按下将会初始化计算器的所有数据,如果个位、十位、百位和千位均为零这进入休眠状态等待下一次中断的唤醒。
二、硬件设计部分我们使用的是PIC16F877A单片机,使用四位的八段数码管,4×4的键盘和一个独立的中断键。
八段数码管我们使用的是共基极的接法,所以当给出低电平的时候导通,给出高电平的时候关断。
我们以RD端口来控制段选,分别以RB0控制a、RB1控制b、RB2控制c、RB3控制d、RB4控制e、RB5控制f、RB6控制g和RB7控制dp。
以RD1、RD2、RD3和RD4端口分别控制位选的千位、百位、十位和个位。
简易计算器 (1)

目录第一章:设计目的11.1课程设计目的.................................................................................. 错误!未定义书签。
1.2简易计算器设计的意义 (1)1.3系统的基本要求 (1)1.4功能设计 (3)第二章:功能描述 (3)2.1功能模块框图 (3)2.2相关功能介绍.................................................................................. 错误!未定义书签。
2.1系统模块机构框图 (4)第三章:总体设计 (5)3.1系统流程图 (3)3.2模块描述 (5)3.3函数声明 (5)第四章:程序实现 (5)4.1界面设计 (10)4.2计算界面 (11)4.3退出界面 (12)第五章:课程设计的结果展示 (13)第六章:参考文献................................................................................................. - 15 -第七章:课程设计总结......................................................................................... - 16 -第一章课程设计目的1.通过一个学期的学习,我认为要学好C语言程序这门课程,不仅要认真阅读课本知识,更重要的是要通过上机实践才能增强和巩固我的知识。
特别是作为本科生,更要注重实践这一环节,只有这样我们才能成为合格的计算机人材。
通过这次课程设计,进一步巩固所学的语句,如语句嵌套等;加深对循环,分支等结构的运用;最后还可以熟悉四则运算﹑三角函数等经典算法。
2.通过此次课程设计扩展自己的知识面,课本上的东西是远远不够的,可以通过去图书馆查资料,上网找资料等手段学到一些新知识,比如画图函数,颜色填充函等。
简易计算器——精选推荐

徐州师范大学物电学院课程设计报告课程名称:单片机课程设计题目:简易计算器专业班级:07电科***名:**学生学号:********日期:2010.6.27***师:***摘要 (2)Abstract (2)概述 (2)二、设计方案简述 (4)2.1、功能介绍 (4)2.1.1、基本功能 (4)2.1.2、扩展功能 (4)2.2、总体设计方案 (4)2.2.1、总体设计思路 (4)2.2.2、方案论证与比较 (4)2.2.3、系统组成 (8)三、详细设计 (9)3.1、设计目标和实现方法 (9)3.2、设计 (9)3.2.1、输入模块:键盘扫描 (10)3.2.2、运算模块:单片机控制 (10)3.2.2、显示模块:LCD1602显示 (10)3.3、硬件电路设计 (11)3.3.1、硬件连接 (11)3.4、软件设计 (12)3.5、仿真和调试 (12)3.5.1、 KEIL uVision调试 (13)3.5.2、 Proteus 对于本设计的仿真 (14)3.6、元件的介绍 (15)3.6.1、 MCS-51单片机组成 (15)3.6.2、 MCS-51单片机引脚功能 (16)3.6.3、复位和复位电路 (18)3.6.4、 LCD1602显示器 (18)四、设计结果及分析 (23)4.1、功能和操作 (23)4.2、硬件调试 (23)4.3、技术要点 (23)五、总结 (24)六、参考资料附录主要程序代码本设计采用单片机作为控制芯片,用C语言对其进行编程实现,输入由4*4矩阵式键盘控制,输出采用人性化的LCD1602型液晶实现。
在未进行计算时,它显示一段话,ON/O切换进入计算模式。
对于计算这个部分我采用的是矩阵键盘,10个数字键,一个等于号键,四个符号键,一个清零键,计算最高达到小数点后三位。
由于C语言库函数繁多,所以我采用调用C语言库函数来解决多种运算类型,这样编程更简单,运行起来也更可靠。
基于LABVIEW的简易计算器设计

基于LABVIEW的简易计算器设计1.引言计算器是一种用于进行基本数学运算的设备或程序。
在本文中,将使用LABVIEW软件设计一个简单的计算器。
在这个计算器中,我们将实现加法、减法、乘法和除法运算,并且能够进行小数和负数的计算。
2.设计框图首先,我们将使用LABVIEW软件创建一个新的项目。
在项目中,我们将创建一个前面板和一个图表用于计算器的图形化表达。
在前面板中,我们将使用几个数字输入控件和一个字符串显示控件。
数字输入控件用于输入操作数和运算符,而字符串显示控件用于显示结果。
3.功能模块计算器的功能可以被分成几个独立的模块,包括数字输入、运算符输入和计算结果。
让我们详细了解每个模块的实现。
3.1.数字输入数字输入模块负责接收用户输入的操作数。
我们可以使用数字输入控件来获取用户输入的操作数并将其存储在内存变量中。
3.2.运算符输入运算符输入模块负责接收用户输入的运算符。
我们可以使用数字输入控件来获取用户输入的运算符并将其存储在内存变量中。
3.3.计算结果计算结果模块负责执行数学运算并将结果显示在字符串显示控件中。
我们可以使用数字输入变量和运算符变量来执行相应的计算操作。
4.程序实现在LABVIEW中,我们可以使用块图对上述功能模块进行编程。
以下是一个简单的程序实现示例:4.1.数字输入模块实现数字输入模块的实现非常简单。
我们只需要创建一个数字输入控件,并将其连接到数字输入变量。
这将使用户能够输入操作数。
4.2.运算符输入模块实现运算符输入模块的实现也很简单。
我们只需要创建一个数字输入控件,并将其连接到运算符输入变量。
这将使用户能够输入运算符。
4.3.计算结果模块实现计算结果模块的实现需要一些数学运算。
我们可以使用分支结构来根据用户输入的运算符执行相应的运算。
-如果运算符是加法,则将两个操作数相加。
-如果运算符是减法,则将第一个操作数减去第二个操作数。
-如果运算符是乘法,则将两个操作数相乘。
-如果运算符是除法,则将第一个操作数除以第二个操作数。
基于51单片机的简易计算器设计

基于单片机的简易计算器设计摘要2关键字:80C51 LCD1602 4*4矩阵键盘计算器2第一章绪论21。
1系统开发背景21。
2系统开发意义21.3设计目的21。
4设计任务2第二章单片机发展现状22.1目前单片机的发展状况22。
1。
1单片机的应用场合32.2计算器系统现状42.3简易计算器系统介绍4第三章系统硬件设计及说明43。
1系统组成及总体框图53.2AT89S52单片机介绍63。
3其它器件介绍及说明83.3.1 LCD1602液晶显示83。
3.2 4*4矩阵扫描按键9第四章 PROTEUS模拟仿真11第五章系统硬件设计及说明11第六章软件设计116.1汇编语言和C语言的特点及选择116.2源程序代码12摘要近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,但仅单片机方面的知识是不够的,还应根据具体硬件结构、软硬件结合,来加以完善。
计算机在人们的日常生活中是比较常见的电子产品之一.可是它还在发展之中,以后必将出现功能更加强大的计算机,基于这样的理念,本次设计主要以80C51单片机为控制芯片,用C语言进行编程实现,通过4*4矩阵键盘控制,输出用液晶屏LCD1602显示,该计算器可以实现一般的加减乘除四则混合运算。
关键字:80C51 LCD1602 4*4矩阵键盘计算器第一章绪论1.1 系统开发背景随着社会的发展,科学的进步,人们的生活水平在逐步的提高,尤其是微电子技术的发展,犹如雨后春笋般的变化。
电子产品的更新速度快就不足惊奇了。
计算器在人们的日常中是比较的常见的电子产品之一。
如何使计算器技术更加的成熟,充分利用已有的软件和硬件条件,设计出更出色的计算器,使其更好的为各个行业服务,成了如今电子领域重要的研究课题.1.2 系统开发意义今天,人们的日常生活中已经离不开计算器了,社会的各个角落都有它的身影,比如商店,办公室,学校……。
基于单片机设计的计算器毕业论文

南昌工程学院毕业设计 (论文)机械与电气工程学院(院)系电气工程及其自动化专业毕业设计(论文)题目基于单片机设计的计算器(硬件)学生姓名班级学号指导教师完成日期 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第一章引言单片机设计的计算器在人们的日常中是比较的常见的电子产品之一。
简易计算器
单片机原理及系统课程设计专业:电气工程及其自动化班级:电气092姓名:曹梦浩学号:200909143指导教师:董唯光评语:平时(40)修改(30)报告(30)总成绩兰州交通大学自动化与电气工程学院2012 年 7月 1日1引言随着社会的发展,科学的进步,人们的生活水平在逐步的提高,尤其是微电子技术的发展,犹如雨后春笋般的变化。
电子产品的更新速度快就不足惊奇了。
计算器在人们的日常中是比较的常见的电子产品之一。
如何使计算器技术更加的成熟,充分利用已有的软件和硬件条件,设计出更出色的计算器,使其更好的为各个行业服务,成了如今电子领域重要的研究课题。
今天,人们的日常生活中已经离不开计算器了,社会的各个角落都有它的身影。
因此设计一款简单实用的计算器会有很大的实际意义。
本设计是由单片机实现的模拟计算器,它不仅能实现数据的加减乘除运算,而且还能使数据及其计算结果子数码管上显示出来。
本设计使用单片机8031来控制采用LCD显示,软件是由汇编语言来实现。
2 设计方案及原理2.1任务分析与设计思路根据计算器的功能要求,选择8031单片机为主控机。
外部主要由4*4矩阵键盘和一个液晶显示屏构成,内部由一块8031单片机构成。
计算器电路包括四个部分:选用LCD作为显示部分,矩阵键盘作为输入部分,运算模块,单片机控制部分。
模块图如图2.1所示。
输入模块单片机运算模块显示模块图2.1 系统模块图- 1 -2.2基本设计原理(1) 由于要设计的是简单计算器,可以进行四则运算,为了得到较好的显示效果,采用七段数码管显示数据和结果。
(2) 另外键盘包括数字键、符号键、清零键和等号键,故只需要16个按键即可。
(3) 它的执行过程:开始显示零,等待键入数值,当键入数字通过LCD显示出来,当键入+、-、*、/用算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再次键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。
(4) 错误提示:当计算执行过程中出现错误时,会在LCD上显示相应的提示,如:当输入数值或计算结果大于计算器的表示范围时计算器会在LCD上提示溢出;当除数为零时,计算机器会在数码管上提示错误。
基于51单片机简易计算器设计
2021-2021 学年_一_学期山东科技大学电工电子实验教课中心创新性实验研究报告实验工程名称__鉴于51单片机的简略计算器设计_2021年12 月27 日一、实验纲要经过对51单片机汇编指令、STC89C52RC单片机片上各功能模块、常用外面可编程芯片的学习和应用训练,进一步熟习51单片机汇编程序设计,串行总线接口程序设计以及外面可编程芯片的使用方法。
学习创新性实验报告的撰写方法。
二、实验目的1、鉴于STC89C52RC单片机设计制作简略计算器,能达成绝对值小于的有符号整数的加减乘除四那么运算,运算结果均保留小数点后一位。
2、要求有加、减、乘、除、负号、归零、等号键。
3、利用6位LED显示参加运算的数据和运算结果,显示运算结果超限提示,消隐未使用位。
4、鼓舞进行探究。
可在认识实验室器械并能实现题目根本要求的状况下,对题目进行创新设计三、实验场所及仪器、设施和资料:1、实验场所:J11-3242、实验仪器、设施和资料:PC兼容机一台、80C52单片机实验箱一台、2*8键盘一个、6个共阳极的数码管、连线假定干四、实验内容1、实验原理依据功能和指标要求,本系统采纳MCS-51系列单片机为主控机。
经过扩展必需的外头接口电路,实现对计算器的设计。
详细设计以下:〔1〕因为要设计的是简单的计算器,能够进行四那么运算,为了获得较好的显示成效,采纳LED显示数据和结果。
〔2〕此外键盘包含数字键〔0~9〕、符号键〔+、-、×、÷〕、去除键和等号键,故只要要16个按键即可,设计中采纳集成的计算键盘。
〔3〕履行过程:开机显示零,等候键入数值,当键入数字,经过LED显示出来,当键入+、-、*、/运算符,计算器在内部履行数值变换和储存,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LED上输出运算结果。
系统模块图:2、实验内容〔一〕、整体硬件设计本设计采纳AT89C52单片机为主控单元。
c51的简易计算器-单片机课程设计
单片机课程设计题目名称基于51单片机的简易计算器学生学院____ 信息工程学院_______专业班级信息工程(应用电子方向)12(2)班姓名______虞君权__________学号**********指导教师_ _____李优新 ___2015年1月151一、课程设计的内容本次课程设计的内容从下面两个方面任选一个:一是在学院的单片机实验平台上进行,开发一个基于单片机与PWM技术的灯光调节系统,主要开发内容为按键定义、输入与防抖动技术、PWM调节技术以及显示技术等程序设计。
二是利用51系列单片机及必要的外围芯片、输入输出等接口电路设计开发一个简易的单片机系统,在此基础上,自行设计一个单片机应用程序来实现一些实用的功能。
通过这些内容的设计、开发、安装、调试等一系列工作,熟练掌握单片机系统的开发流程与工作机理,加深对所学课程知识的理解与把握,为将来相关的研究开发工作打下坚实的基础。
二、设计内容本次实验的任务就是要以51系列单片机为核心实现一个简易计算器计算器,它的结构非常简单,外部主要由4*4矩阵键盘和一个液晶显示屏构成,内部由一块AT89C51单片机构成,通过软件编程可实现简单加减乘除。
三、方案论证经分析,计算器电路包括三个部分:显示电路、4*4键扫描电路、单片机微控制电路。
具体如下:⒈)LCD显示电路LCD1602作为一个成熟的产品,使用简单,模式固定,便于移植到各种类型的程序,但是初学者往往要注意结合LCD本身的时序图来完善初始化程序。
又以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,故采用LCD.⒉)4*4键盘扫描电路(中断式,扫描式,反转式)用户设计行列键盘接口,一般常采用 3 种方法读取键值。
一种是中断式,外两种是扫描法和反转法。
中断式:在键盘按下时产生一个外部中断通知CPU,并由中断处理程序通过不同的地址读取数据线上的状态,判断哪个案件被按下。
本实验采用中断式实现用户键盘接口。
扫描法:对键盘上的某一行送低电平,其他行为高电平,然后读取列值。
java简易计算器设计思路
java简易计算器设计思路Java简易计算器设计思路一、引言计算器是我们日常生活中常用的工具之一,可以帮助我们进行各种简单的数学计算。
本文将介绍如何使用Java编程语言设计一个简易的计算器。
二、功能需求我们的计算器需要具备以下基本功能:1. 实现加、减、乘、除四则运算;2. 能够处理小数、整数和负数的运算;3. 具备清除操作,清零当前计算结果;4. 能够处理连续计算,即进行多次连续的运算。
三、设计思路在设计简易计算器时,我们可以考虑以下步骤:1. 用户界面设计首先,我们需要设计一个用户界面,让用户能够输入数字和选择运算符号。
可以使用Java的Swing或JavaFX进行界面设计。
2. 输入数字和运算符在用户界面中,我们可以使用文本框和按钮来实现数字的输入和运算符的选择。
用户在文本框中输入数字,然后点击相应的按钮选择运算符号。
3. 运算处理根据用户的选择,我们可以利用Java中的if或switch语句来进行相应的运算处理。
比如用户选择加法运算,则获取用户输入的两个数字并相加。
同样,对于减法、乘法和除法运算,我们也可以使用相应的语句进行处理。
4. 显示结果最后,我们需要将计算结果显示在用户界面的文本框中。
将处理后的结果显示在界面上,让用户直观地看到计算结果。
5. 清除操作我们还可以添加一个清除按钮,使用户能够清除当前的计算结果,重新进行新的计算。
四、扩展功能除了基本的计算功能外,我们还可以考虑增加以下扩展功能:1. 添加括号功能,使计算器能够处理复杂的表达式;2. 添加开平方、取余、求幂等高级运算;3. 添加历史记录功能,保存用户之前的计算结果;4. 添加单位转换功能,使计算器能够进行长度、重量、温度等单位之间的转换。
五、总结通过以上设计思路,我们可以实现一个简易的计算器,满足用户的基本计算需求。
同时,我们可以根据实际需求添加扩展功能,提升计算器的实用性和灵活性。
希望本文对您设计和实现一个Java简易计算器有所帮助。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业设计题目简易加减乘除计算器系别专业班级姓名学号指导教师日期设计任务书设计题目:简易加减乘除计算器设计要求:1.根据所学内容运用编程做一个简易加减乘除计算器,实现加、减、乘、除、等以及清零的功能。
2.设置一组数码管, 使其能够显示程序运行,按键动作的内容。
3.设置一组按键,使其键依次对应0——9、“+”、“-”、“*”、“/”、“=”和清除键。
4.可以进行小于255的数的加减乘除运算,并可连续运算。
当键入值大于255时,将自动清零,可重新输入。
设计进度要求:第一周:确定题目,寻找单片机和计算器设计的相关资料;第二周:读懂资料,有初步的设计思路;第三周:绘制硬件电路图;第三周:设计软件框图;第四周:相应软件设计(程序设计);第五周:进行程序调试并且修改;第六周:写毕业设计论文;第七周:修改并提交毕业设计;第八周:准备论文答辩;指导教师(签名):摘要在很多领域的数据处理中要用到数学运算,作为计算机自动处理系统更显得重要。
此项目设计以单片机为核心部件的计算器,采用4*4矩阵式键盘,16个键依次对应0——9、“+”、“-”、“*”、“/”、“=”和清除键。
使用单片机最小应用系统1模块,简单方便。
采用静态显示,显示器由5个共阴极数码管组成。
输入只有两个信号,它们是串行数据线DIN和移位信号CLK。
5个串/并行移位寄存器芯片74LS164首尾相连。
每片的并行输出作为LED数码管的段码。
本计算器系统简单,实用性强,成本低,使用维护方便,软件功能强,运行稳定可靠等优点。
关键词:单片机,计算器,键盘,静态显示前言随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小、功能将更强。
在单片机家族中,80C51系列是其中的佼佼者,加之Intel公司将其MCS –51系列中的80C51内核使用权以专利互换或出售形式转让给全世界许多著名IC制造厂商,如Philips、 NEC、Atmel、AMD、华邦等,这些公司都在保持与80C51单片机兼容的基础上改善了80C51的许多特性。
这样,80C51就变成有众多制造厂商支持的、发展出上百品种的大家族,现统称为80C51系列。
80C51单片机已成为单片机发展的主流。
专家认为,虽然世界上的MCU品种繁多,功能各异,开发装置也互不兼容,但是客观发展表明,80C51可能最终形成事实上的标准MCU芯片。
本设计采用的是ATMEL公司的AT89C51芯片,此芯片根据了充分的静止CMOS 控制器与三级节目记忆锁,共有:32 条I/O 线, 2 定时计数器, 6 个中断来源,4 K 闪存, 128 个字节在芯片RAM。
由于本设计所做的是一个会加减乘除的计算器,所以要用到单片机的最小应用系统模块1,还需要用到矩阵式键盘和静态显示模块。
而我的硬件设计详见第二章,主要介绍了需要哪几部分硬件电路和硬件系统的概叙。
在2.1节介绍了主要的框架;2.2节简单的介绍了单片机最小应用系统的性能和附属电路;2.3节详细介绍了键盘控制电路;2.4节介绍了静态显示电路。
在第三章中我们详细的解说了软件系统的设计。
3.1节介绍了我们做这个设计的程序设计思路;3.2节画出了总的程序设计框图;3.3节分别罗列出各个子程序的框图。
第四章是我对此设计的调试过程和结果显示。
第五章就是我对此设计的总体概括,体会和心得。
我所设计的这个计算器可适用于比较简单的加减乘除运算,比如小学生可以借助它进行较大数目的四则运算,并运用它来探索有关规律,有利于帮助学生形成初步的探索和解决问题的能力。
目录摘要 ................................................................... I I 前言 .. (1)目录 (2)1 单片机的发展及应用 (3)1.1 单片机的发展 (3)1.2 单片机的应用 (4)2 总体方案设计 (5)2.1系统框图 (5)2.2显示控制方案 (5)2.3键盘控制方案 (5)3 硬件设计 (7)3.1 89S51单片机的简介 (7)3.2 89S51单片机的引脚 (8)3.3 89S51I/O接口组成及功能 (9)3.4 74LS164的功能 (10)3.5 键盘接口工作原理 (11)3.6 七段LED显示工作原理 (13)3.7 电路原理 (14)4设计思路 (16)4.1 主程序模块 (16)4.2静态显示模块 (17)4.3 按键程序模块 (17)5 系统调试 (19)5.1 在伟福中的调试 (19)5.2 在KEIL中的调试并连接实验箱 (20)6 结论 (25)致谢 (26)参考文献 (27)附录A (28)1 单片机的发展及应用1.1 单片机的发展单片微型计算机是微型计算机的一个重要分支,也是一种非常活跃和颇具有生命力的机种。
单片微型计算机简称单片机,特别适用于工业控制领域,因此又称为微控器。
1971年微处理器研制成功不久,就出现了单片微型计算机即单片机,但最早的单片机是1位的,处理能力有限。
果将8位单片机的推出作为起点,那么单片机的发展历史大致可以分为以下几个阶段:第一阶段(1976—1978):单片机的探索阶段。
以Intel公司的MCS-48为代表。
MCS-48的推出是在工控领域的探索,参与这一探索的公司还有Motorola、Zilog等。
都取得了满意的效果。
这就是SCM的诞生年代,“单片机”一词即由此而来。
第二阶段(1978—1982):单片机的完善阶段。
Intel公司在MCS-48基础上推出了完善的、典型的单片机系列MCS-51。
它在以下几个方面奠定了典型的通用总线型单片机体系结构。
(1).完善的外部总线。
MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有多机通信功能的串行通信接口。
(2).CPU外围功能单元的集中管理模式。
(3).体现工控特性的地址空间及位操作方式。
(4).指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。
第三阶段(1982—1990):8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。
Intel公司推出的MCS-96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。
第四阶段(1990—):微控制器的全面发展阶段。
随着单片机在各个领域全面、深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。
1.2 单片机的应用单片机的应用很广,分别在以下领域中得到了广泛的应用。
工业自动化:在自动化技术中,无论是过程控制技术、数据采集技术还是测控技术,都离不开单片机。
在工业自动化的领域中,机电一体化技术将发挥愈来愈重要的作用,在这种机械、微电子和计算机技术为一体的综合技术(例如机器人技术、数控技术)中,单片机将发挥非常重要的作用特别是近些年来,随着计算机技术的发展,工业自动化也发展到了一个新的高度,出现了无人工厂、机器人作业、网络化工厂等,不仅将人从繁重、重复和危险的工业现场解放出来,还大大提高了生产效率,降低了生产成本。
仪器仪表:目前对仪器仪表的自动化和智能化要求越来越高。
在自动化测量仪器中,单片机应用十分普及。
单片机的使用有助于提高仪器仪表的精度和准确度,简化结构,减小体积,易于携带和使用,加速仪器仪表向数字化、智能化和多功能化方向发展。
消费类电子产品:该应用主要反映在家电领域。
目前家电产品的一个重要发展趋势是不断提高其智能化程度。
例如,电子游戏、照相机、洗衣机、电冰箱、空调、电视机、微波炉、手机、IC卡、汽车电子设备等。
在这些设备中使用了单片机后,其功能和性能大大提高,并实现了智能化、最优化控制信方面:较高档的单片机都具有通信接口,因而为单片机在通信设备中的应用创造了很好的条件。
例如,在微波通信、短波通信、载波通信、光纤通信、程控交换等通信设备和仪器中都能找到单片机的应用。
武器装备:在现代化的武器装备中,如飞机、军舰、坦克、导单、鱼雷制导、智能武器设备、航天飞机导航系统,都有单片机在其中发挥重要作用。
终端及外部设备控制:计算机网络终端设备,如银行终端,以及计算机外部设备如打印机、硬盘驱动器、绘图机、传真机、复印机等,在这些设备中都使用了单片机。
近年来随着科技的飞速发展,同时带动自动控制系统日新月异更新,单片机的应用正在不断地走向深入。
2 总体方案设计2.1系统框图计算器的总体设计框图如图2.1所示。
图2.1 系统框图2.2显示控制方案在单片机应用系统中,显示分为静态示和动态显示,本次设计采用静态显示。
静态显示数码管中的各位相互独立,而且各位的显示字符一经确定相应的输出将维持不变,直到显示另一个字符为止。
正因为如此,静态显示的亮度都比较高。
各位分别由一个8位I/O接口控制段选码,故在同一时间里,每一位显示的字符可以各不相同。
这种显示方式接口,较小的电流即可获得较高的亮度,且占用CPU时间少,编程简单,便于监测和控制,本设计所需显示位数不多,故采用静态显示模块,在实验箱上连接简单、方便。
2.3键盘控制方案键盘分为独立式键盘和行列式键盘,独立式键盘接口电路配置灵活,硬件结构简单,工作可靠但每个按键必须占用一跟I/O接口线,I/O接口线浪费较大,在单片机应用系统中,有时只需要几个简单的按键向系统输入信息,可将按键直接在一根I/O接口线上,故只在按键数量不多时采用。
而行列式键盘每条行线与列线在交叉处不直接相通,而是通过一个按键加以连接,当按键较多时可采用行列式键盘以节省I/O接口。
本次设计计算器所用按键较多,为节省I/O接口,方便设计,故采用矩阵式键盘。
3 硬件设计3.1 89S51单片机的简介AT89C51是美国ATMEL公司生产的低电压,高性能的CMOS8位单片机片内4Kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存储器(RAM),器件采用ATMEL公司的高密度、非易失存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。
AT89C51单片机可为你提供许多高性价的应用场合,可灵活的应用于各种控制领域。
主要性能参数:·与MCS-51产品指令系统的全兼容·4k字节可重擦写Flash闪速存储器·1000次可擦写周期·全静态操作:0Hz-24MHz·三级加密程序存储器·128×8字节内部RAM·32个可编程I/O口线·2个16位定时/计数器·6个中断源·可编程串行UART通道·低功耗空闲和掉电模式3.1.1 AT89C51功能特性描述:AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量中断结构,一个全双工串行通信口,片内震荡器及时钟电路。