基于单片机的简易计算器设计

合集下载

基于51单片机的简易计算器论文设计

基于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输入解析软件程序能够解析用户的输入,判断用户输入的是数字还是运算符,并将其保存在相应的变量中。

同时,软件还可以处理异常输入,如除以零等情况。

单片机的简易计算器毕业设计

单片机的简易计算器毕业设计

单片机的简易计算器毕业设计简易计算器是一种基本、常见的电子设备,它能够对数字进行简单的加减乘除运算。

单片机作为一种小型、低功耗的微型计算机,非常适合用于设计和实现计算器的功能。

在本文中,我们将以单片机为基础,设计和实现一个简易计算器。

一、设计思路1.硬件设计:-使用单片机作为主控制器。

-接入键盘矩阵和显示器。

-使用LED灯作为指示灯,用于显示运算符和结果。

2.软件设计:-通过键盘输入数字和运算符。

-将输入的数字和运算符转换成相应的控制信号。

-进行运算,并将结果显示在屏幕上。

3.功能实现:-实现加法、减法、乘法和除法运算。

-提供清零、退格和等号等功能。

-支持小数和负数的输入和运算。

-提供错误提示功能,例如除数不能为零等。

二、具体实现1.硬件实现:-将键盘矩阵的行和列与单片机的IO口相连,通过扫描来检测按键的输入。

-将显示器与单片机的IO口相连,通过控制引脚来发送和接收数据。

-将LED灯与单片机的IO口相连,设置相应的引脚状态来显示不同的指示信号。

2.软件实现:-使用C语言编写程序,通过中断和轮询的方式,实现键盘输入的检测和数据的读取。

-将读取到的数据进行解析,并根据不同的按键进行相应的操作。

-根据输入的数字和运算符,进行相应的运算并输出结果。

3.功能实现:-加法、减法、乘法和除法运算可以通过相应的算法实现,例如加法可以通过循环和位运算来实现。

-清零功能可以将运算结果和输入的数字都清零,退格功能可以删除输入的最后一个数字或运算符。

-支持小数运算可以在运算过程中进行进位和进位操作,支持负数运算可以通过判断运算符来进行相应的处理。

-错误提示功能可以通过对输入的数据进行检查和判断来实现,例如判断除数是否为零。

三、总结通过上述的设计和实现,我们可以成功地设计和制作一个单片机的简易计算器。

通过这个计算器,用户可以进行简单的加减乘除运算,同时还具备清零、退格、小数和负数等功能。

这个计算器可以应用在日常生活中的计算场景,方便用户进行各种简单的运算操作。

基于单片机的简易计算器的设计

基于单片机的简易计算器的设计

基于单片机的简易计算器的设计引言:计算器作为一种常见的便携式计算设备,在我们的生活中扮演着重要的角色。

基于单片机的简易计算器凭借其小巧的体积、低功耗和简单易用的特点,成为了很多人的选择。

本文将介绍一种基于单片机的简易计算器的设计。

一、设计思路设计思路如下:1.显示部分设计使用4位共阴数码管来作为计算结果的显示和反馈。

单片机通过控制不同的引脚,将待显示的数字依次输出到数码管的不同位上,实现显示。

2.控制部分设计使用独立按键作为用户输入,并通过行列扫描的方式进行检测。

通过分析用户输入的按键,识别出相应的操作,并进行相应的计算。

根据不同的按键组合,可以实现加、减、乘、除等运算。

二、硬件设计1.单片机选择为了实现计算器的功能,选择一种性能良好、资源丰富的单片机是很重要的。

根据需求,选择一款采用8051内核的单片机,如AT89S51或AT89C51、这两款单片机具有5V供电、8位数据总线、4KB内存和32个I/O口等特点,并且广泛应用于各种嵌入式开发领域。

2.数码管显示设计为了显示计算结果,采用4位共阴数码管。

通过将各段控制端接通高电平或低电平,实现不同数字的显示。

3.按键设计使用独立按键作为用户输入,通过行列扫描的方式进行检测。

使用矩阵键盘可以减少I/O口的使用,避免使用太多的引脚。

4.电源设计计算器可以通过外接电源供电,同时还可以使用电池作为备用电源。

为了延长电池寿命,可以使用低功耗的工作模式,并在无操作时自动进入休眠状态。

5.外设接口设计为了增加计算器的功能,可以添加一些扩展模块,如蓝牙模块、USB 接口等。

这样可以实现与其他设备的通信和数据传输。

三、软件设计1.按键检测和解码将行列扫描的结果通过软件进行解码,识别用户输入的按键。

通过判断不同的按键组合,可以实现加、减、乘、除等运算。

2.计算实现根据用户输入的数字和操作符,进行相应的计算。

将结果显示到数码管上,并可以通过串口输出到其他设备。

3.界面设计设计简洁、友好的用户界面,提供用户输入和计算结果的显示。

单片机简易计算器设计

单片机简易计算器设计

单片机简易计算器设计一、引言:计算器是一种用于进行数学运算的工具,可以提供基本的算术运算功能。

单片机是一种集成电路,具有微处理器、存储器、计数器和输入/输出接口等功能,适合用于设计和实现计算器。

本篇文章将介绍如何设计和实现一款基于单片机的简易计算器。

二、设计目标:本文设计的简易计算器具有以下功能:1.能够进行四则运算,包括加法、减法、乘法和除法;2.具有输入和输出功能,可以输入运算表达式,并输出计算结果;3.采用简单直观的按键输入方式,便于用户操作。

三、设计原理:1.系统框图:```_______________输入/输接口I______________\/_______________单片机芯(CPU______________```2.硬件设计:使用单片机来处理计算表达式和输出计算结果。

输入/输出接口IC负责处理用户输入和显示输出。

单片机芯片是整个计算器系统的核心,负责执行算术运算的逻辑。

3.软件设计:(1)初始化:设置单片机芯片工作环境,包括引脚配置、定时器设置等。

(2)输入处理:使用按键输入方式获取用户输入的数值和运算符,按下等号键时开始计算。

(3)运算处理:根据输入的数值和运算符进行相应的运算操作,得出计算结果。

(4)输出显示:将计算结果输出到显示装置上。

四、实现步骤:1.硬件实现:根据设计原理中的系统框图,采购和连接合适的输入/输出接口IC以及单片机芯片。

2.软件编程:(1)初始化:根据单片机芯片的型号和文档,编写初始化程序,包括引脚配置、定时器设置等。

(2)输入处理:编写输入处理程序,包括按键输入方式、数值和运算符的提取等。

(3)运算处理:编写运算处理程序,根据输入的数值和运算符,实现相应的运算逻辑。

(4)输出显示:编写输出显示程序,将计算结果输出到显示装置上。

3.实验验证:将硬件和软件进行调试和验证,确保计算器可以正常工作并满足设计目标。

4.优化改进:根据实验结果,对计算器进行优化和改进,提升计算器的性能和用户体验。

基于51单片机的简易计算器设计

基于51单片机的简易计算器设计

基于51单片机的简易计算器设计基于51单片机的简易计算器设计一、引言随着微电子技术和嵌入式技术的发展,越来越多的智能化设备被应用于日常生活中。

其中,基于51单片机的简易计算器设计具有广泛的应用价值。

本文将介绍如何使用51单片机设计一个简易计算器,实现加减乘除的基本运算功能。

二、设计方案1.硬件组成:本设计采用51单片机作为主控芯片,与键盘、显示器等外围设备相连。

键盘用于输入数字和运算符,显示器则用于显示运算结果。

2.软件设计:软件部分包括主程序和子程序。

主程序负责初始化硬件、读取键盘输入和显示运算结果。

子程序包括加减乘除的运算子程序,可根据输入的运算符和操作数进行相应的运算。

3.算法实现:在加减乘除的运算子程序中,采用基本的数学运算方法实现。

对于加法,直接将两个操作数相加;对于减法,将两个操作数相减;对于乘法,采用循环相乘的方法;对于除法,采用循环相除的方法。

三、实验结果在实验中,我们成功地使用51单片机设计了一个简易计算器,实现了加减乘除的基本运算功能。

在测试过程中,我们输入了不同的数字和运算符,得到了正确的运算结果。

同时,我们也测试了计算器的稳定性,发现其在连续运算时表现良好,没有出现明显的误差或故障。

四、结论基于51单片机的简易计算器设计具有简单易行、实用性强等优点。

通过实验测试,我们验证了其可行性和稳定性。

此外,该设计还可以根据需要进行扩展和优化,例如增加更多的运算功能、优化算法等。

未来,我们可以进一步研究如何提高计算器的运算速度和精度,以及如何将其应用于更多的实际应用场景中。

五、改进意见与展望1.增加更多的运算功能:例如实现括号、开方、指数等高级运算,满足更复杂的数学计算需求。

2.优化算法:针对现有的加减乘除运算算法进行优化,提高运算速度和精度。

例如采用更高效的除法算法,减少运算时间。

3.增加存储功能:在计算器中加入存储单元,使得用户可以在多个步骤之间进行数据传递和保存。

4.增强人机交互界面:优化显示器的显示效果,增加用户输入的便捷性,提高用户体验。

基于单片机的简单计算器

基于单片机的简单计算器

基于单片机的简单计算器计算器是我们日常生活中常用的工具之一,用于进行各种数学运算。

在计算机科学领域,我们可以利用单片机来制作一个简单的计算器,以满足计算需求。

本文将介绍基于单片机的简单计算器的实现过程和相关原理。

一、项目概述我们将利用单片机的计算能力和显示功能来制作这个简单计算器。

用户可以通过按键来输入数字和运算符,计算器将会实时显示计算结果。

在本项目中,我们将使用8051系列单片机和LCD显示屏来实现这个计算器。

二、系统设计1.硬件设计本项目所需的硬件主要包括单片机、键盘和显示屏。

我们可以使用8051系列的单片机,例如AT89C52、键盘可以通过矩阵键盘来实现,显示屏采用16x2字符型LCD显示屏。

2.软件设计在单片机上实现计算器功能,我们需要编写相应的软件程序。

该程序主要包括以下几个部分:(1)初始化设置:设置单片机的IO口模式和状态,初始化LCD显示屏。

(2)键盘扫描:通过轮询方式检测键盘输入,获取用户按键信息。

(3)数字显示:将用户输入的数字显示在LCD屏幕上。

(4)运算处理:根据用户输入的数字和运算符进行相应的运算操作。

(5)结果显示:将运算结果显示在LCD屏幕上。

三、主要功能模块介绍1.初始化设置在初始化设置模块中,我们需要设置单片机的IO口模式和状态,将其中的一组IO口作为输入端口用于键盘扫描,另一组IO口作为输出端口用于LCD显示屏控制。

同时需要初始化LCD显示屏,使其处于工作状态。

2.键盘扫描键盘扫描模块需要使用IO口作为输入端口来检测键盘输入。

通过按下不同的按键,会在IO口上产生不同的信号。

我们可以使用轮询方式来检测IO口的状态,获取用户按键信息。

3.数字显示在数字显示模块中,我们需要将用户输入的数字显示在LCD屏幕上。

可以使用LCD显示屏的库函数来实现这个功能。

我们可以将用户输入的数字存储在内存中,并通过LCD库函数将其显示在屏幕上。

4.运算处理运算处理模块需要根据用户输入的数字和运算符进行相应的运算操作。

基于单片机简易计算器的设计

基于单片机简易计算器的设计一、引言计算器是一种广泛应用于日常生活和工作中的电子设备,它能够进行简单的加减乘除等基本运算。

基于单片机的计算器设计,不仅可以通过编程实现各种基本运算的功能,还可以使计算器更加智能化,并通过外接显示器和按键进行交互,提供更好的用户体验。

本文将介绍基于单片机的简易计算器的设计思路和实现方法。

二、设计思路1.硬件设计:包括单片机的选择、外接显示器和按键的连接、电源管理等。

2.软件设计:包括计算功能的设计和实现、显示器和按键的驱动等。

三、硬件设计1.单片机的选择:选择一种能够满足计算要求的单片机,如8051、AVR、STM32等,考虑其性能和功能需求。

2.外接显示器和按键的连接:通过接口将单片机和外接显示器、按键连接起来,使其能够传输数据和控制信号。

3.电源管理:根据需要选择合适的电源管理模块,确保计算器能够正常供电和工作。

四、软件设计1.计算功能的设计和实现:通过程序设计实现加减乘除等基本运算功能,可以使用逐位相加、移位运算等方法来实现具体的运算逻辑。

2.显示器和按键的驱动:编写程序实现外接显示器和按键的驱动,使其能够正常显示和接收输入。

五、功能丰富化的设计基于基本的加减乘除等运算功能设计,还可以进一步丰富计算器的功能,如增加求平方、开平方、取余、倒数等复杂运算功能,通过增加相关按键和逻辑实现。

此外,还可以增加存储和回溯功能,使得计算器能够记录之前的计算结果和操作记录。

六、测试和调试设计完成后,进行测试和调试,确保计算器的各项功能正常工作。

首先,进行功能测试,逐步测试计算器的各个基本运算功能以及其他附加功能;然后,进行性能测试,测试计算器的计算速度和稳定性;最后,进行交互测试,测试计算器与用户之间的交互是否正常。

七、总结基于单片机的简易计算器设计是一项技术和实践的结合,在设计过程中需要考虑到硬件和软件的匹配性,确保设计能够满足计算要求,并具备良好的用户体验。

设计过程涉及到硬件和软件的开发,需要有一定的电子技术和编程的知识。

基于单片机的简易计算器设计

基于单片机的简易计算器设计引言:计算器是一种广泛应用的电子设备,可以进行各种数学计算。

基于单片机的计算器是一种使用单片机作为核心处理器的计算器。

本文将介绍如何设计一个基于单片机的简易计算器。

一、设计思路:1.硬件设计:选择适合的单片机,LCD显示屏,按键开关和电源电路,将它们连接在一起组成计算器的硬件。

2.软件设计:使用单片机的编程语言编写程序,实现计算器功能,如加法、减法、乘法、除法等运算,以及清零、退格、等号等功能。

二、硬件设计:选择单片机:在设计单片机计算器时,我们可以选择MCU,如STC89C52、ATmega32等。

这些单片机性能稳定,功能强大,适合用于计算器的设计。

LCD显示屏:选择合适尺寸和接口的LCD显示屏,用于显示计算结果和输入的数字。

按键开关:选择合适的按键开关,用于接收用户的按键输入,如数字、运算符等。

电源电路:设计适合的电源电路,为计算器提供稳定的电源。

三、软件设计:1.初始化功能:启动计算器时,进行相关初始化操作,如清屏、设置计算器状态等。

2.数字输入功能:通过按键输入,将数字输入到计算器中,同时刷新LCD显示屏上的内容。

3.运算功能:根据用户输入的数字和运算符,进行相应的运算操作,如加法、减法、乘法、除法等。

4.清零功能:按下清零按钮时,将计算器的状态重置为初始状态。

5.退格功能:当用户输入错误时,可以通过按下退格按钮,删除最后一个输入的数字或运算符。

6.等号功能:用户按下等号按钮时,计算器将完成运算,并将结果显示在LCD屏上。

7.错误处理功能:当用户输入错误时,计算器应该给出合适的错误提示。

四、程序实现:1.确定单片机的引脚分配,将LCD显示屏、按键开关和单片机的引脚连接起来。

2.使用单片机的编程语言编写程序,实现计算器的功能。

3.根据运算符和数字的不同,确定相应的运算方法,并在LCD显示屏上显示结果。

4.使用条件语句和循环结构,实现计算器的控制逻辑。

5.通过编程实现按键响应功能,当用户按下相应按键时,执行相应的操作。

基于51单片机简易计算器课程设计报告

基于51单片机简易计算器课程设计报告
基于51单片机简易计算器课程设计报告
1. 研究背景
•计算器是人们日常生活和工作中常用的工具之一。

•通过设计简易计算器,可以加深学生对51单片机的理解和应用。

2. 目标和需求
•设计一个基于51单片机的简易计算器,能够进行基本的四则运算和开方运算。

•要求计算器能够显示输入和计算结果。

•要求计算器具备简单的界面和操作。

3. 设计方案
•使用51单片机作为计算器的控制核心。

•通过键盘输入数字和运算符,并显示在液晶屏上。

•根据输入的运算符,进行相应的计算,并将结果显示在液晶屏上。

4. 硬件设计
•使用51单片机作为主控芯片。

•连接液晶屏模块,用于显示输入和计算结果。

•连接键盘模块,用于输入数字和运算符。

5. 软件设计
•使用C语言进行编程。

•设计主程序,包括初始化、输入处理和计算输出等功能。

•设计函数,实现基本的四则运算和开方运算。

6. 实验结果
•成功设计并实现了基于51单片机的简易计算器。

•可以正常进行基本的四则运算和开方运算。

•输入和计算结果能够准确显示在液晶屏上。

7. 总结与展望
•通过设计这个简易计算器,学生对51单片机的理解和应用能力有了提高。

•下一步可以考虑增加更多的功能,如科学计算和数据存储等。

以上是本次基于51单片机简易计算器课程设计的报告。

通过这个实验,学生对51单片机的应用能力得到了提升,进一步增强了对计算器的理解。

在未来的课程设计中,可以进一步拓展功能,提升计算器的实用性和功能性。

基于51单片机的简易计算器设计

基于单片机的简易计算器设计摘要 (3)关键字:80C51 LCD1602 4*4矩阵键盘计算器 (3)第一章绪论 (5)1.1系统开发背景 (5)1.2系统开发意义 (5)1.3设计目的 (5)1.4设计任务 (5)第二章单片机发展现状 (7)2.1目前单片机的发展状况 (7)2.1.1单片机的应用场合 (7)2.2计算器系统现状 (8)2.3简易计算器系统介绍 (9)第三章系统硬件设计及说明 (9)3.1系统组成及总体框图 (11)3.2AT89S52单片机介绍 (11)3.3其它器件介绍及说明 (13)3.3.1 LCD1602液晶显示 (13)3.3.2 4*4矩阵扫描按键 (18)第四章 PROTEUS模拟仿真 (19)第五章系统硬件设计及说明 (21)第六章软件设计 (22)6.1汇编语言和C语言的特点及选择 (22)6.2源程序代码 (22)摘要近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。

在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,但仅单片机方面的知识是不够的,还应根据具体硬件结构、软硬件结合,来加以完善。

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

可是它还在发展之中,以后必将出现功能更加强大的计算机,基于这样的理念,本次设计主要以80C51单片机为控制芯片,用C语言进行编程实现,通过4*4矩阵键盘控制,输出用液晶屏LCD1602显示,该计算器可以实现一般的加减乘除四则混合运算。

关键字:80C51 LCD1602 4*4矩阵键盘计算器第一章绪论1.1 系统开发背景随着社会的发展,科学的进步,人们的生活水平在逐步的提高,尤其是微电子技术的发展,犹如雨后春笋般的变化。

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

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

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

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

目录引言 (1)第一章设计原理及要求 (2)1.1设计方案的确定 (2)1.2系统的设计方案 (2)1.3系统的设计要求 (2)第二章硬件模块设计 (4)2.1单片机AT89C51 (4)2.1.1 AT89C51芯片的特点 (5)2.1.2 管脚说明 (5)2.1.3 振荡器特性 (7)2.1.4 芯片擦除 (7)2.2键盘控制模块 (7)2.2.1 矩阵键盘的工作原理 (8)2.2.2 键盘电路主要器件介绍 (8)2.3LCD显示模块 (10)2.3.1 显示电路 (11)2.3.2 LCD1602主要技术参数 (11)2.3.3 引脚功能说明 (11)2.4运算模块(单片机控制) (12)第三章软件设计 (14)3.1功能介绍 (14)3.2系统流程图 (14)3.3程序 (16)第四章系统调试 (17)4.1软件介绍 (17)4.1.1 Keil uVision2仿真软件简介 (17)4.1.2 protues简介 (17)4.2软件调试 (18)4.2.1 软件分析及常见故障 (18)4.2.2 仿真结果演示 (20)4.3硬件调试 (21)结束语 (23)参考文献 (24)附录 (25)致谢 (36)引言计算工具最早诞生于中国,中国古代最早采用的一种计算工具叫筹策,也被叫做算筹。

这种算筹多用竹子制成,也有用木头,兽骨充当材料的,约二百七十枚一束,放在布袋里可随身携带。

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

17世纪初,西方国家的计算工具有了较大的发展,英国数学家纳皮尔发明的“纳皮尔算筹”,英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺不仅能做加、减、乘、除、乘方和开方运算,甚至可以计算三角函数、指数函数和对数函数。

这些计算工具不仅带动了计算器的发展,也为现代计算器发展奠定了良好的基础,成为现代社会应用广泛的计算工具。

1642年,年仅19岁的法国伟大科学家帕斯卡引用算盘的原理,发明了第一部机械式计算器,在他的计算器中有一些互相联锁的齿轮,一个转过十位的齿轮会使另一个齿轮转过一位,人们可以像拨电话号码盘那样,把数字拨进去,计算结果就会出现在另一个窗口中,但是它只能做加减运算。

1694年,莱布尼兹在德国将其改进成可以进行乘除的计算。

此后,一直到20世纪50年代末才有电子计算器的出现。

第一章设计原理及要求1.1 设计方案的确定本设计是以单片机AT89C51为核心的简易计算器设计,要通过芯片AT89C51实现计算器程序运行来完成加、减、乘和除的简单计算功能。

本设计运算模块由AT89C51实现,数据输入模块由4*4矩阵键盘电路实现,输出数据模块由LCD显示电路实现,再外加一个时钟电路和一个复位电路完成整个简易计算器的设计。

1.2 系统的设计方案本设计由以下几部分组成:AT89C51单片机系统(运算模块)、键盘电路、显示电路、时钟电路和复位电路构成,计算器系统框图如图1-1所示。

图1-1 计算器系统框图1.3 系统的设计要求为了更好地实现系统的功能,硬件电路的设计应该遵循以下原则:1、优化硬件电路采用软件设计与硬件设计相结合的方法。

尽管采用软件来实现硬件系统的功能时,也许响应的时间会比单纯使用硬件时长,而且还要占用微处理器(MCU)的时间;但是,用软件实现硬件的功能可以简化硬件结构,提高电路的可靠性。

所以,在设计本系统的时候,在满足可靠性和实时性的前提下,尽可能地通过软件来实现硬件功能。

2、可靠性及抗干扰设计根据可靠性设计理论,系统所用芯片数量越少,系统的平均无故障时间越长。

而且,所用芯片数量越少,地址和数据总线在电路板上受干扰的可能性也就越小。

因此,系统的设计思想是在满足功能的情况下争取较少数量的芯片。

3、灵活的功能扩展功能扩展是否灵活是衡量一个系统优劣的重要指标之一。

一次设计往往不能完全考虑到系统的各个方面,系统需要不断完善以及进行功能升级。

进行功能扩展时,应该在原有设计的基础上,通过修改软件程序和少量硬件完成。

对于本系统而言,就是要求在系统硬件不变的情况下,能够通过修改软件程序,完成功能的升级和扩展。

根据提出的系统设计方案,结合以上三条原则,确定了系统硬件的设计。

计算器主要由以下一些功能模块组成:非编码键盘模块、运算模块(单片机内部)和LCD 液晶显示模块等。

该系统的硬件设计采用了模块化的设计方法。

AT89C51单片机、LCD液晶显示屏显示电路和键盘电路是整个电路的核心,它们能实现系统的功能要求。

简易计算器主要包括:键盘电路、运算电路和输出显示电路。

第二章硬件模块设计在本设计中主要用到的硬件:单片机AT89C51、液晶显示屏LCD1602 、4*4矩阵键盘。

单片机AT89C51的硬件资源分配:(1)P3口:作为输入口,与键盘连接,实现数据的输入;(2)P0、P2口:作为输出口(P2口为高位,P0口为低位),控制LCD液晶显示屏显示数据的结果;(3)P1口和部分P3口:作为液晶显示屏LCD1602显示输出。

2.1 单片机AT89C51本设计所用单片机采用AT89C51单片机,它兼容于MCS-51系列单片机,而且具有1000次可擦写的FLASHMEMORY,方便于系统的开发以及参数的修改。

尽管它是8位机,但它的处理精度完全满足系统的设计要求。

该种单片机的最高频率可达到24MHz。

在12MHz时,其处理速度完全达到设计要求,AT89C51的实物图及引脚图如图2-1所示。

图2-1 单片机AT89C51实物图及引脚图2.1.1 AT89C51芯片的特点AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机,他的特点如下:1、与MCS-51 兼容2、1000写/擦循环3、4K字节可编程闪烁存储器4、数据保留时间:10年5、全静态工作:0Hz-24Hz6、三级程序存储器锁定7、128*8位内部RAM8、32可编程I/O线9、两个16位定时器/计数器10、5个中断源11、可编程串行通道12、低功耗的闲置和掉电模式13、片内振荡器和时钟电路2.1.2 管脚说明VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P0口的管脚第一次写“1”时,被定义为高阻输入。

P0口能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FLASH编程时,P0 口作为原码输入口,当FLASH进行校验时,P0口输出原码,此时P0口外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入“1”后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口是一个内部提供上拉电阻的8位双向I/O口,P2口缓冲器可接收和输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

当作为输出时,P2口的管脚被外部拉低,将输出电流,这是由于内部上拉的缘故。

当P2口用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收和输出4个TTL 门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL),这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口。

P3口管脚备选功能如下:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX时ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE 禁止,置位无效。

/PSEN:外部程序存储器的选通信号。

在由外部程序存储器取值期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:当/EA保持低电平时,则在此期间只管外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器,注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此时只管内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

2.1.3 振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

晶体振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

2.1.4 芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE 管脚处于低电平10ms 来完成。

在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下表示静态逻辑,支持两种软件可选的掉电模式。

在闲置模式下,CPU停止工作。

但RAM、定时器、计数器、串口和中断系统仍在工作。

在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

2.2 键盘控制模块计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。

相关文档
最新文档