课程设计 简易计算器设计与实现

合集下载

简易计算器的课程设计

简易计算器的课程设计

简易计算器的课程设计一、课程目标知识目标:1. 学生能理解简易计算器的内部工作原理,掌握其基本功能操作。

2. 学生能运用计算器进行基本的算术运算,包括加、减、乘、除以及百分比计算。

3. 学生理解并掌握计算器上各个按键的功能及其在数学运算中的应用。

技能目标:1. 学生能够使用计算器辅助解决实际问题,如购物找零、面积计算等。

2. 学生通过计算器的使用,提高数据输入、结果读取和运算过程纠错的能力。

3. 学生能够结合数学知识,利用计算器进行数据的简单统计分析。

情感态度价值观目标:1. 培养学生对待科学技术的积极态度,认识到计算器在日常生活和学习中的便捷性。

2. 增强学生的团队协作意识,通过小组活动,学会分享和交流使用计算器的经验。

3. 培养学生遵守计算器使用的规则,养成良好的计算器使用习惯,珍惜公共资源。

本课程设计针对的学生群体为小学高年级学生,他们已经具备了一定的数学基础和操作简单电子设备的能力。

课程性质为实用技能型,旨在通过简易计算器的教学,将理论知识与实践操作相结合,提高学生解决实际问题的能力。

在教学要求上,注重培养学生的动手操作能力和创新思维,同时强调情感态度的培养,使学生在学习技能的同时,也能形成正确的价值观。

通过具体学习成果的分解,教师可进行有针对性的教学设计和学习效果评估。

二、教学内容本章节教学内容依据课程目标,结合教材内容,科学系统地组织以下部分:1. 简易计算器基础知识:介绍计算器的发展历程、种类及简易计算器的结构组成,对应教材第二章第一节。

2. 计算器按键功能:详细讲解各按键的功能及其在数学运算中的应用,对应教材第二章第二节。

3. 基本运算操作:教授如何使用计算器进行加、减、乘、除以及百分比计算,对应教材第二章第三节。

4. 计算器在实际应用中的使用:结合实际案例,如购物找零、面积计算等,展示计算器的实用性,对应教材第二章第四节。

5. 数据的简单统计分析:利用计算器进行数据输入、处理和简单统计分析,对应教材第二章第五节。

简易计算器课程设计

简易计算器课程设计

山东大学控制科学与工程学院课程设计报告书课程设计名称:简易计算器班级:测控一班学号:201000171202姓名:魏凯峰一、电路工作原理该电路主要由以下几部分组成,1、51系列单片机最小系统板,由AT89C51单片机,复位电路,晶振电路(晶振频率是11.0592MHZ),这部分是控制中心,晶振电路可产生程序运行所需要的时钟频率。

2、显示部分,由8位共阴数码管和两个74HC573锁存器、排阻(1K)组成,74HC573锁存器用于动态显示数据,也有驱动显示作用,排阻是限流作用。

3、按键部分,由20位独立键盘组成,按矩阵形式连接,用到9个IO口。

原理:键盘作为数字输入,矩阵键盘的工作原理是当某个键按下时,其两端的IO口电平变化,程序中通过相应位的与或运算,就可以判断出是哪个按键被按下,单片机中的程序不断读取键盘的输入并实时显示在数码管上,数码管用段位选不断切换显示,如当位选为高电平时即为点亮,然后再输入相应的数字段码(该电路中用的是共阴极数码管的字码),这样数码管上便可以显示相应数字。

锁存器中的LE口就是段位选口,高电平有效,数码管中的A、B......G、DP是数码管中的每一段,只要某个字母为高电平,则该段二极管就会被点亮(共阴极)。

在同时显示多个数字时要利用到动态显示,视觉动态显示主要就是利用人眼的视觉感来设计的,一般来说如果显示的频率过慢,则会有断断续续的显示;如果显示的频率加快,则人眼就分辨不出这种视觉残余!二、程序简要说明从主函数开始,先是定义一些变量,然后是调用显示函数displaypro(0),先显示0,然后进入一个大循环while(1),在循环里面先检测键盘keyscan(),并把检测值赋给K,然后是段位选循环8次检测,然后用switch(k)函数来执行键盘操作,k的值从0到9表示输入数字0到9,10到13表示加减乘除,17、15分别表示十六进制和二进制,16表示小数点,14表示正负号,18表示清除,19是等于号。

简单计算器的设计与实现

简单计算器的设计与实现
通过这次设计,要求掌握以下内容: 1)面向对象技术中的继承与多态(重载和覆盖)机制、各种修饰符的使用 2)类、包、接口的定义与使用 3)常用工具类与算法的实现(数组、向量、字符串、链表) 4)Java 常用标准 GUI 组件及其事件处理 5)Java 的异常处理机制 6)Java 的数据库连接技术 7)Java 的多线程技术与动画制作 Java 的网络编程
4).按钮响应
}
3. public void actionPerformed(ActionEvent e)//动作事件,各按钮响应;判断是
什么运算{ }
if()/{判断它是不是加法运算} else if(operator==bsubtract){判断它是不是减法运算} else if(operator==bmultiply){判断它是不是乘法运算} else if(operator==bdivision){判断它是不是除法运算} else if(operator==bdelete) {判断它是不是清零} else if(operator==bequals) {判断它是不是求值}
flag=1;
}
else if(operator==bequals)
{
secondNum =text.getText();
text.setText(result());//调用 result()函数
flag=1;
}
else
{
if(flag=Βιβλιοθήκη 0){String str =text.getText();
}
else if(operation.equals("multiply")) {
return(""+(num1*num2)); } else if(operation.equals("division")) {

简易计算器课程设计

简易计算器课程设计

科研训练论文题目:基于单片机的计算器的设计目录一、概述 (3)1.1设计要求及任务: (3)1.2设计原理: (3)二、系统总体方案及硬件设计 (3)2.1计算器总体思想 (3)2.2硬件的选择与连接 (4)2.2.1硬件选择 (4)2.2.2接口设计 (5)三、软件设计 (7)3.2系统流程总图 (8)3.3显示程序设计 (8)3.4键盘识别程序设计 (9)3.4.1原理与分析 (9)3.4.2流程图 (10)四、设计体会与总结 (11)五、参考文献 (11)附录基于单片机的计算器的设计摘要:本设计是一个实现加减乘除的计算器,它的硬件主要由四部分构成,一个8051单片机芯片,两个八段共阴极数码管,一个4*4键盘,它可以实现一位数的加减乘除运算。

显示部分:采用LED动态显示。

按键部分:采用4*4键盘。

采用软件识别键值,并执行相应的操作。

关键词:LED接口;键盘接口;8255A;汇编语言一、概述1.1设计要求及任务:(1)设计4*4的键盘,其中10个数字键0~9,其余六个键“+”、“—”、“*”、“/”、“=”、和“C”键;(2)设计两位LED接口电路;(3)实现1位数的简单运算1.2设计原理:(1)LED显示器接口技术LED动态显示接口技术(2)键盘显示技术逐行(逐列扫描法)二、系统总体方案及硬件设计2.1计算器总体思想显示部分:采用LED动态显示。

按键部分:采用4*4键盘。

采用软件识别键值,并执行相应的操作。

执行过程:开机显示零,等待键入数值,当键入数字,经通过数码管显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在数码管上输出运算结果。

图1 系统设计框图2.2硬件的选择与连接图二硬件连接总图2.2.1硬件选择(1)由于本设计比较简单,因此选用内部含有4KBE2PROM的89C51单片机作为系统的核心。

(2)扩展输入/输出端口在扩展输入/输出端口时,要求输入口能够缓冲,,输出口能够锁存。

单片机课程设计简易计算器设计

单片机课程设计简易计算器设计
软件设计:编写程序代码,实现计算器的功能
调试与测试:对硬件和软件进行调试,确保计算器能够正常工作
制作报告:编写设计报告,包括需求分析、硬件设计、软件设计、调 试与测试等内容
Part Three
硬件设计
电路原理图设计
单片机:作为核心控制单元,负责接收输入信号、处理数据、输出结果 输入设备:键盘或触摸屏,用于输入数字和运算符号 显示设备:LED或LCD,用于显示计算结果 电源:提供稳定的电源电压,保证系统正常工作 连接线:将各个部件连接起来,实现信号传输和电源供应 保护电路:防止过压、过流、过热等异常情况对系统造成损害
成本:价格、开发成本、维护成本等
开发环境:开发工具、编程语言、开发 文档等
应用领域:计算器、智能家居、工业控 制等
兼容性:与其他硬件、软件的兼容性
技术支持:厂商技术支持、社区资源等
设计流程概述
需求分析:确定计算器的功能需求,如加减乘除、平方根等
硬件设计:选择合适的单片机型号,设计电路原理图,选择元器件
稳定性测试: 对集成后的系 统进行稳定性 测试,确保系 统在各种环境 下能够稳定运

安全性测试: 对集成后的系 统进行安全性 测试,确保系 统能够抵御各
种安全威胁
测试环境搭建
硬件环境:单片机、显示器、键盘、电源等 软件环境:单片机开发环境、测试软件等 测试工具:万用表、示波器、逻辑分析仪等 测试步骤:编写测试程序、执行测试程序、记录测试结果、分析测试结果等
功能测试与调试
测试方法:黑 盒测试、白盒 测试、灰盒测
试等
测试内容:输 入输出、功能 实现、性能指
标等
调试工具:调 试器、仿真器、 逻辑分析仪等
调试技巧:断 点设置、单步 执行、变量监

简易计算器的设计与实现

简易计算器的设计与实现

科技学院《单片机原理及应用》课程设计题目基于单片机简易设计与实现学生专业班级学号院(系)指导老师完成时间年月日目录0.引言 (1)1. 设计方案 (3)1.1 方案论证 (3)1.2 方案比较与选择 (4)2. 系统设计 (4)2.1系统组成及总体框图 (5)2.2硬件原理 (5)2.2.1.单片机最小系统 (6)2.2.2键盘电路 (13)2.2.3显示电路 (15)2.3.软件流程 (17)2.3.1主程序控制流程 (17)2.3.2键盘扫描子程序 (18)2.3.3LCD1602显示控制流程 (20)2.4仿真与实物制作 (24)3.结论 (26)参考文献 (27)附录一:总体电路原理图 (28)附录二: 元器件 (28)附录三:源程序 (29)基于单片机简易设计与实现0.引言随着社会的发展,科学的进步,人们的生活水平在逐步的提高,尤其是微电子技术的发展,犹如雨后春笋般的变化。

电子产品的更新速度快就不足惊奇了。

计算器在人们的日常中是比较的常见的电子产品之一。

如何使计算器技术更加的成熟,充分利用已有的软件和硬件条件,设计出更出色的计算器,使其更好的为各个行业服务,成了如今电子领域重要的研究课题[1]。

今天,人们的日常生活中已经离不开计算器了,社会的各个角落都有它的身影,比如商店,办公室,学校……。

因此设计一款简单实用的计算器会有很大的实际意义。

本设计对字符液晶显示模块的工作原理,如初始化、清屏、显示、调用及外特性有较清楚的认识,并会使用LCD(液晶显示模块)实现计算结果的显示;掌握液晶显示模块的驱动和编程,设计LCD和单片机的接口电路,以及利用单片机对液晶模块的驱动和操作;在充分分析部逻辑的概念,进行软件和调试,学会使用,并能够以其为平台设计出具有四则运算能力简易计算器的硬件电路和软件程序。

同时在进一步掌握单片机理论知识,理解嵌入式单片机系统的硬软件设计,加强对实际应用系统设计的能力。

通过本设计的学习,使我掌握单片机程序设计和微机接口应用的基本方法,并能综合运用本科阶段所学软、硬件知识分析实际问题,提高解决毕业设计实际问题的能力,为单片机应用和开发打下良好的基础。

简易计算器的设计与实现

沈阳航空航天大学课程设计报告课程设计名称: 单片机系统综合课程设计课程设计题目:简易计算器的设计与实现院(系):专业: 班级: 学号: 姓名: 指导教师: 完成日期:目录第1章总体设计方案 (1)1.1设计内容 (1)1.2设计原理 (1)1.3设计思路 (2)1.4实验环境 (2)第2章详细设计方案 (3)2.1硬件电路设计 (3)2.2主程序设计 (7)2.2功能模块的设计与实现 (8)第3章结果测试及分析 (11)3.1结果测试 (11)3.2结果分析 (11)参考文献 (12)附录1 元件清单 (13)附录2总电路图 (14)附录3程序代码 (15)第1章总体设计方案1.1设计内容本设计是基于51系列的单片机进行的十进制计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除1位无符号数字的简单四则运算,并在6位8段数码管上显示相应的结果。

设计过程在硬件与软件方面进行同步设计。

硬件方面从功能考虑,首先选择内部存储资源丰富的8751单片机,输入采用4X 4矩阵键盘。

显示采用6位8段共阳极数码管动态显示。

软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。

编程语言方面从程序总体设计以及高效性和功能性对C语言和汇编语言进行比较分析,最终选用汇编语言进行编程,并用protel99se涉及硬件电路。

1.2设计原理在该课程设计中,主要用到一个8751芯片和串接的共阳数码管,和一组阵列式键盘。

作为该设计的主要部分,下面将对它们的原理及功能做详细介绍和说明。

1) 提出方案以8751为核心,和数码管以及键盘用实验箱上已有的器件实现计算器的功能。

2) 总体方案实现(1) 要解决键值得读入。

先向键盘的全部列线送低电平,在检测键盘的行线,如果有一行为低电平,说明可能有按键按下,则程序转入抖动检测---就是延时10ms再读键盘的行线,如读得的数据与第一次的相同,说明真的有按键按下,程序转入确认哪一键按下的程序,该程序是依次向键盘的列线送低电平,然后读键盘的行线,如果读的值与第一次相同就停止读,此时就会的到键盘的行码与列码查表可的键值。

简易计算器的设计与实现

郑州科技学院《单片机原理及应用》课程设计题目基于单片机简易设计与实现学生姓名专业班级学号院(系)指导老师完成时间年月日目录0.引言 (1)1. 设计方案 (3)1.1 方案论证 (3)1.2 方案比较与选择 (4)2. 系统设计 (4)2.1系统组成及总体框图 (5)2.2硬件原理 (5)2.2.1.单片机最小系统 (6)2.2.2键盘电路 (13)2.2.3显示电路 (15)2.3.软件流程 (17)2.3.1主程序控制流程 (17)2.3.2键盘扫描子程序 (18)2.3.3LCD1602显示控制流程 (20)2.4仿真与实物制作 (24)3.结论 (26)参考文献 (26)附录一:总体电路原理图 (27)附录二: 元器件 (27)附录三:源程序 (28)基于单片机简易设计与实现0.引言随着社会的发展,科学的进步,人们的生活水平在逐步的提高,尤其是微电子技术的发展,犹如雨后春笋般的变化。

电子产品的更新速度快就不足惊奇了。

计算器在人们的日常中是比较的常见的电子产品之一。

如何使计算器技术更加的成熟,充分利用已有的软件和硬件条件,设计出更出色的计算器,使其更好的为各个行业服务,成了如今电子领域重要的研究课题[1]。

今天,人们的日常生活中已经离不开计算器了,社会的各个角落都有它的身影,比如商店,办公室,学校……。

因此设计一款简单实用的计算器会有很大的实际意义。

本设计对字符液晶显示模块的工作原理,如初始化、清屏、显示、调用及外特性有较清楚的认识,并会使用LCD(液晶显示模块)实现计算结果的显示;掌握液晶显示模块的驱动和编程,设计LCD和单片机的接口电路,以及利用单片机对液晶模块的驱动和操作;在充分分析内部逻辑的概念,进行软件和调试,学会使用,并能够以其为平台设计出具有四则运算能力简易计算器的硬件电路和软件程序。

同时在进一步掌握单片机理论知识,理解嵌入式单片机系统的硬软件设计,加强对实际应用系统设计的能力。

简易计算器的设计与实现

沈阳航空航天大学课程设计报告课程设计名称:单片机系统综合课程设计课程设计题目:简易计算器的设计与实现院(系):专业:班级:学号:姓名:指导教师:完成日期:沈阳航空航天大学课程设计报告第1章总体设计方案第1章总体设计方案1.1设计内容本设计是基于51系列的单片机进行的十进制计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除1位无符号数字的简单四则运算,并在6位8段数码管上显示相应的结果。

设计过程在硬件与软件方面进行同步设计。

硬件方面从功能考虑,首先选择内部存储资源丰富的8751单片机,输入采用4×4矩阵键盘。

显示采用6位8段共阳极数码管动态显示。

软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。

编程语言方面从程序总体设计以及高效性和功能性对C语言和汇编语言进行比较分析,最终选用汇编语言进行编程,并用protel99se涉及硬件电路。

1.2设计原理在该课程设计中,主要用到一个8751芯片和串接的共阳数码管,和一组阵列式键盘。

作为该设计的主要部分,下面将对它们的原理及功能做详细介绍和说明。

1)提出方案以8751为核心,和数码管以及键盘用实验箱上已有的器件实现计算器的功能。

2)总体方案实现(1)要解决键值得读入。

先向键盘的全部列线送低电平,在检测键盘的行线,如果有一行为低电平,说明可能有按键按下,则程序转入抖动检测---就是延时10ms再读键盘的行线,如读得的数据与第一次的相同,说明真的有按键按下,程序转入确认哪一键按下的程序,该程序是依次向键盘的列线送低电平,然后读键盘的行线,如果读的值与第一次相同就停止读,此时就会的到键盘的行码与列码查表可的键值。

并且将键值送入缓冲区。

(2)计算。

从缓冲区中取出数据按照括号配匹算法解决符号优先级问题,如果有键值为“F”则清空缓冲区跳至开始处,否则调用汇编指令进行计算,结果送入缓冲区。

(3)显示。

从缓冲区中取出数据查找段码表,将段码送入段码管。

c课程设计简单计算器

c课程设计简单计算器一、教学目标本节课的学习目标包括:知识目标:学生需要掌握简单计算器的原理和基本操作,了解计算机内部是如何进行加减乘除等运算的。

技能目标:学生能够独立设计并实现一个简单计算器,提高逻辑思维能力和编程能力。

情感态度价值观目标:通过完成计算器设计,学生能够体会到编程的乐趣,增强对计算机科学的兴趣,培养创新精神和团队合作意识。

二、教学内容本节课的教学内容主要包括:1.简单计算器的原理介绍:讲解计算器的工作原理,让学生了解计算机是如何进行数学运算的。

2.编程语言的基本概念:介绍编程语言的基本语法和结构,为学生编写计算器程序打下基础。

3.计算器的设计与实现:引导学生通过编程实现一个简单计算器,培养学生的实际操作能力。

三、教学方法本节课采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:讲解计算器的原理和编程语言的基本概念,为学生提供理论支持。

2.案例分析法:分析已有的计算器程序,让学生从中学习编程技巧和方法。

3.实验法:学生动手编写计算器程序,培养实际操作能力和创新能力。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:提供配套的教材,帮助学生学习计算器原理和编程语言。

2.多媒体资料:制作PPT等多媒体资料,生动形象地展示计算器原理和编程方法。

3.实验设备:准备计算机等实验设备,让学生能够顺利进行编程实践。

五、教学评估为了全面、客观、公正地评估学生的学习成果,我们将采用以下评估方式:1.平时表现评估:观察学生在课堂上的参与程度、提问回答等情况,了解学生的学习态度和积极性。

2.作业评估:通过学生提交的作业,评估学生的编程能力和对知识的理解程度。

3.考试评估:设置期末考试,测试学生对简单计算器原理和编程语言的掌握程度。

六、教学安排本节课的教学安排如下:1.教学进度:按照教材的章节安排,逐步讲解计算器原理和编程语言知识。

2.教学时间:安排在正常的上课时间,确保学生能够专心学习。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计简易计算器设计与实现长江职业学院工学院毕业实践报告课题名称:简易计算器设计与实现专业班级:计算机控制技术081班学生姓名:黄杨学号: 20082940班级序号 6实践性质:校内毕业实践实践成绩:指导老师:杜力2011年2月25日目录一、绪论1.1 计算器的历史 (5)1.2 电子计算器的特殊键 (6)1.3单片机概述 (6)1.4设计要求 (6)1.5我做简易模拟计算器的过程说明 (7)1.6系统的基本功能 (7)二、课题设计的分析与思路的确定 (7)三、芯片简介 (8)3.1MSC-51芯片简介 (8)3.2 MCS-51的引脚说明 (10)四、计算器程序设计 (12)4.1存储单元分配 (12)4.2主程序设计 (12)4.3 数码管显示数据转换子程序CONV (13)4.4 数码管动态显示子程序 (13)五、连接知识 (13)5.1键盘的连接 (13)5.2、显示器的连接 (14)六、仿真过程 (15)八、参考文献 (18)一、绪论本课题拟定以MCS-51系列单片机为控制中心,采用模块化的设计方案,运用液晶显示器或LED显示数据/键盘输入数据,以实现能够完成加、减、乘、除、数据存储等运算的简易计算器。

系统的功能是:(1)模拟的计算器能显示10位数字,开机运行时,只显示最低位为“0”,其余不显示;(2)4×4键盘分别表示:0到9,+,-,×,/,=,CL;(3)第一次按下,显示“D1”,第二次按下,显示“D1D2”,第三次按下,显示“D1D2D3”…8个全显示完毕,再次按下按键时,给出“嘀”的提示音;(4)可以对计算结果小于256的两个无符号数进行加、减、乘、除运算。

单片机程序用汇编语言编写,经过Wave软件调试,生成HEX文件,再用Proteus软件进行计算机仿真。

程序中键盘部分使用行列式扫描原理,若无键按下则调用动态显示程序,并继续检测键盘;若有键按下则得其键值,并通过查表转换为数字0—9和功能键与清零键的代号。

动态显示程序,是先建立待显示缓冲区地址指针和共阴极数码管的段代码表;缓冲区内容通过查表得相应的段代码,再用位选信号动态扫描显示。

主程序在初始化后调用键盘程序,再判断返回的值。

若为数字0—9,则根据按键的次数进行保存和显示的处理,当按键次数超过八时,喇叭位置一;若为功能键,则先判断上次的功能键,根据代号执行不同功能,并将按键次数清零,然后进入BCD码程序,将计算结果拆分成个、十、百位,再返回主程序继续检测键盘并显示;若为清零键,则返回主程序的最开始。

1.1 计算器的历史说起计算器,值得我们骄傲的是,最早的计算工具诞生在中国。

中国古代最早采用的一种计算工具叫筹策,又被叫做算筹。

这种算筹多用竹子制成,也有用木头,兽骨充当材料的。

约二百七十枚一束,放在布袋里可随身携带。

直到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一项发明,明代时的珠算盘已经与现代的珠算盘几乎相同。

17世纪初,西方国家的计算工具有了较大的发展,英国数学家纳皮尔发明的"纳皮尔算筹",英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺不仅能做加减乘除、乘方、开方运算,甚至可以计算三角函数,指数函数和对数函数,这些计算工具不仅带动了计算器的发展,也为现代计算器发展奠定了良好的基础,成为现代社会应用广泛的计算工具。

1.2 电子计算器的特殊键在使用电子计算器进行四则运算的时候,一般要用到数字键,四则运算键和清除数据键。

除了这些按键,还有一些特殊键,可以使计算更加简便迅速。

1.3单片机概述单片机是现代电子设备中使用最广泛的电子元件。

它的价格低廉,功能强大,条件小,性能稳定。

目前在各类产品中都能看到单片机的身影,如门铃、报警器、玩具以及各类数据采集系统等。

单片机又称为微处理器,它是把中央处理器CPU、随机存取存储器RAM、只读存储器、I\O接口、定时器\计数器及其其他通信接口等全部集成在一块半导体芯片上,构成一个完整的微型计算机。

但随着大规模集成电路和计算机的技术的迅速发展,现在有些单片机本身就带有A/D、D/A转换器和串行接口等功能部件,使其更符合多功能控制技术要求。

单片机在电路中作为一个控制器,在外部必然加一些硬件系统(如驱动电路、输入设备及执行机构等)和软件设计(流程图、程序),这样就是一个实用的控制系统,以满足各个应用领域的需要。

单片机厂商很多,但目前在我国使用最为广泛的单片机系列Intel公司生产的MCS-51系列单片机。

1.4设计要求1.设计4*4的键盘,其中10个数字键0~9,其余6个为“+”“-”“*”“/”“=”和“C”2.设计2位LED接口电路3.实现1位数的简单运算1.5我做简易模拟计算器的过程说明计算器是数字电路系统中最基本的功能模块之一。

设计十进制计算器,要求计算器有计数允许和复位输入及进位输出功能。

计数时钟可以用2Hz信号,用LED显示计数值。

本设计要求用仿真和测试两种手段来验证计数器的功能。

1.6系统的基本功能它具有计数允许,复位和预置数据功能。

二、课题设计的分析与思路的确定首先本次课程设计的任务是设计一个简单的能进行六位无符号整数的加减乘除运算的计算器,首先考虑画原理图,所用CPU可以选择AT89C51或AT89C52,我选择了后者。

显示设备,因为是六位数,所以可以选择一个六位LED液晶显示屏作显示器,显示屏有共阳极的和共阴极的两种,在这里我选择了共阳极显示屏,输入数据低电平有效。

控制端高电平有效。

程序设计首先考虑键盘,程序要一直不断地扫描键盘,看是否有按键按下,当按键按下时就会执行相应的程序。

键盘只需要八个接口就可以完全控制,因此使用AT89C52的一个并行口就可实现,用p1口控制键盘实现键盘的扫描。

用p2口传送数据显示数字,用p3口的低六位控制六个数码管的显示。

扫描到按键就要处理按键,显示0~9十个数字,用到按键数据显示函数,数据显示需要一个动态显示的过程,计算器要处理第一个数和运算符,因此还要编写运算符处理函数。

加减乘除运算的结果不能在数码管上显示,需要将数据转换,让六个数码管分别显示各个位上的数据。

这就需要编写LED显示函数。

当按下加减乘除运算符处理完相应的运算后,要将数码显示管清零以便显示系一个数据,因此又需要编写清零函数。

整个程序采用函数思想,将整个程序化整为零。

编写各个函数然后调用函数就可实现计算器功能。

程序的整体流程为:1、主函数调用键盘扫描函数,2、如果有按键且是0~9十个数字则调用按键显示函数显示数字,3、如果是开关按键则调用清零函数。

4、如果是加减乘除运算符,调用第一个数及运算符处理函数。

5、如果是等号按键,则调用运算结果运算函数,运算结果函数再调用LED 显示函数显示结果。

程序的整体设计思路就出来了,程序中还会用到延时程序,因此添加完延时程序后,整个程序就编写完了。

三、芯片简介3.1MSC-51芯片简介MCS-51单片机内部结构8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。

8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:中央处理器中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。

数据存储器(RAM)8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。

图1程序存储器(ROM):8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。

定时/计数器(ROM):8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。

并行输入输出(I/O)口:8051共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。

全双工串行口:8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。

中断系统:8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。

时钟电路:8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。

单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。

INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。

下图是MCS-51系列单片机的内部结构示意图5。

3.2 MCS-51的引脚说明:MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。

现在我们对这些引脚的功能加以说明:MCS-51的引脚说明:MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。

现在我们对这些引脚的功能加以说明:如图3Pin9:RESET/V pd复位信号复用脚,当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。

初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。

RESET由高电平下降为低电平后,系统即从0000H 地址开始执行程序。

然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8051的初始态。

8051的复位方式可以是自动复位,也可以是手动复位,见下图4。

此外,RESET/V pd还是一复用脚,V cc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。

Pin30:ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。

而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。

相关文档
最新文档