基于单片机设计的计算器毕业论文.docx

上传人:b****5 文档编号:4342569 上传时间:2022-11-30 格式:DOCX 页数:41 大小:362.47KB
下载 相关 举报
基于单片机设计的计算器毕业论文.docx_第1页
第1页 / 共41页
基于单片机设计的计算器毕业论文.docx_第2页
第2页 / 共41页
基于单片机设计的计算器毕业论文.docx_第3页
第3页 / 共41页
基于单片机设计的计算器毕业论文.docx_第4页
第4页 / 共41页
基于单片机设计的计算器毕业论文.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

基于单片机设计的计算器毕业论文.docx

《基于单片机设计的计算器毕业论文.docx》由会员分享,可在线阅读,更多相关《基于单片机设计的计算器毕业论文.docx(41页珍藏版)》请在冰豆网上搜索。

基于单片机设计的计算器毕业论文.docx

基于单片机设计的计算器毕业论文

基于单片机设计的计算器毕业论文

南昌工程学院

毕业设计(论文)

机械与电气工程学院(院)系电气工程及其自动化专业

毕业设计(论文)题目基于单片机设计的计算器(硬件)

 

学生姓名

班级

学号

指导教师

 

完成日期2010年6月18日

基于单片机设计的计算器(硬件)

ThecalculatorbasedonthedesignofMCU(hardware)

 

 

总计毕业设计(论文)34页

表格6个

插图18幅

 

摘要

近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域。

作为微型机的一个主要分支,单片机在结构上的最大特点是把CPU、RAM和ROM存储器、定时器和多种I/O接口电路集成在一块超大规模集成电路芯片上。

从它的组成和功能来看,一块单片机芯片其实就是一台计算机。

本次设计是采用MSC-51单片机来设计的六位数计算器,采用C语言进行程序编写实现计算器功能。

外接4X5的键盘,通过键盘扫描来完成输入数的控制,输出采用1602液晶显示,并设有清零键可随时完成计算与显示的清零。

计算器将完成的0至99999整数的加/减/乘/除运算。

关键字:

单片机AT89S521602液晶矩阵键盘C语言

 

 

Abstract

Inrecentyears,ascomputerpenetrationinthesocialfieldandlarge-scaledevelopmentofintegratedcircuits,microcontrollerapplicationsarecontinuallydeepening,becauseofitspowerfulfunction,smallsize,lowpowerconsumption,cheap,reliable,easytouse,etc.thereforeparticularlysuitableforsystemswithcontrolofmoreandmorewidelyusedinautomaticcontrol,intelligentinstruments,meters,dataacquisition,militaryproductsandhomeappliancesfields.

Asoneofthemainbranchofmicrocomputer,microcontrollerinthestructureofthebiggestfeatureistheCPU,RAMandROMmemory,timerandmultipleI/OinterfacecircuitintegratedonaVLSIchip.Thecompositionandfunctionfromitspointofview,asinglechipisactuallyacomputer.

ThisdesignistheuseofMSC-51microcontrollertodesignthesix-digitcalculator,usingCprogramminglanguagetoachievecalculatorfunctions.4X5externalkeyboard,thekeyboardscantofinishbythenumberofcontrolvaluesandthe1602outputwithhuman-typeliquidcrystaltoachieve,andhasclearedatanytimetocompletekeycalculationanddisplayclear.Calculatortocompletefrom0to99999plus/minus/multiply/divide.

Keywords:

MCUAT89S52;LCD1602;MatrixKeyboard;Clanguage

 

第一章引言

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

其特点是携带方便与价格廉价,因此广泛运用于商业交易与生活实用中,可是它还在发展之中,以后必将出现功能更加强大的计算器,基于这样的理念,本次设计用单片机来设计一个六位数的计算器。

1.1选题的依据及课题的意义

单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。

单片机由芯片内仅有CPU的专用处理器发展而来。

最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。

通过编程可加深对C语言的理解及51单片机系列的硬件、及其指令,还有从硬件上了解单片机是如何扩展外部电路的。

如:

这次用到了1602液晶,掌握了1602的硬件原理后我们可以使其与单片机相连,通过对单片机的控制,给1602发出指令或数据。

通过这次毕业设计可以学到一种学习方法,对于一块陌生的芯片,我们可通过提供给的芯片资料,了解其运作,然后达到运用的目的。

1.2研究概况及发展趋势综述

单片机设计的计算器有输入单元(按键)运算单元(MCU)显示单元(LCD)三大部分组成,键盘执行数据采集以及操作的输入,MCU按照固化好的程序运算出结果送入LCD显示。

早期的单片机都是8位或4位的。

其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。

此后在8031上发展出了MCS51系列单片机系统。

基于这一系统的单片机系统直到现在还在广泛使用。

随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。

90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。

随着INTELi960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。

目前,高端的32位单片机主频已经超过300MHz

性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。

当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。

1.3实验设计要求

根据设计要求,设计一个计算器,预计所能达到功能如下

(1)该计算器能进行六位数的运算,即运算结果可从0到999999;

(2)能进行加减乘除4种运算,精确到小数点后三位;

(3)能对错误进行提示,比如被除数等于0,乘法运算结果大于999999等;

(4)含有清除单个最低位数据和全部输入数据的功能;

(5)能够实现加减乘除四则混合运算,能够实现连续计算,并能判断运算优先级;

(6)进行正负数运算;

1.4总体设计思路

设计主要采用以下基本模块来实现,控制器模块,输入模块,输出模块和电源模块。

通过对控制器进行编程,使其对输入模块的信号进行处理计算,然后通过输出模块反馈给使用者以计算结果。

该系统的结构框图如下图所示

图1-1系统组成方框图

第二章设计方案论证与选择

2.1控制部分的设计方案论证与选择

方案一采用单片机AT89S52芯片

AT89S52是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。

AT89S52具有如下特点:

40个引脚,8kBytesFlash片内程序存储器,256bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

方案二采用单片机AT89C52芯片

AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。

AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。

其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。

综上所述,AT89C51不支持ISP,只能采用昂贵的编程器来下程序.AT89S52支持ISP,可采用并口,用下载线,即可下程序,因此用AT89S52作为控制器,不仅功能易于实现,并且有其成本低、技术成熟和功耗小等优点,因此我们采用方案一。

2.2显示电路的设计方案论证与选择

方案一采用LCD1602型液晶显示

(一)基本特性

a、显示特性

·单5V电源电压,低功耗、长寿命、高可靠性

·内置192种字符(160个5

7点阵和32个5

10点阵字符)

·显示方式:

SIN、半透、正显

·驱动方式:

1/16DUTY,1/5BIAS

·视角方向:

6点

·背光方式:

底部LED

·通讯方式:

4位或8位并口可选

·标准的接口特性:

适配MC51和M6800系列MPU的操作时序。

b、物理特性如表2-1所示

表2-1物理特性

外形尺寸

80*36*14

单位

可视范围

64.6(w)

16.0(H)

mm

显示容量

16字符二行

点尺寸

0.55

0.75

mm

点间距

0.08

mm

 

(二)接口定义

表2-2接口定义

管脚号

符号

功能

1

VSS

电源地

2

VDD

电源电压(+5V)

3

V0

LCD驱动电压(可调)

4

RS

寄存器选择输入端,输入MPU选择模块内部寄存器类型信号RS=0当MPU进行写模块操作,指向指令寄存器

当MPU进行读操作,指向地址计数器;RS=1,无论MPU是读操作还是写操作,均指向数据寄存器

5

R/W

读写控制输入端,输入MPU选择读/写操作信号:

R/W=0读操作;R/W=1写操作

6

E

使能信号输入端,入MPU选择读/写操作使能信号;

读操作时,高电平有效;写操作时,下降沿有效

7

DB0

数据输入/输出口,MPU与模块之间的数据传送通道

 

4位通讯

方式时,

不使用

DB0~7

8

DB1

数据输入/输出口,MPU与模块之间的数据传送通道

9

DB2

数据输入/输出口,MPU与模块之间的数据传送通道

10

DB3

数据输入/输出口,MPU与模块之间的数据传送通道

11

DB4

数据输入/输出口,MPU与模块之间的数据传送通道

12

DB5

数据输入/输出口,MPU与模块之间的数据传送通道

13

DB6

数据输入/输出口,MPU与模块之间的数据传送通道

14

DB7

数据输入/输出口,MPU与模块之间的数据传送通道

15

A

背光灯正极

16

K

背光灯负极

LCD1602液晶有16个引脚,它能显示32个字符,且硬件电路设计简单,显示美观。

LCD1602与单片机的接口电路如图2-1所示

图2-1LCD1602与单片机接口电路

方案二采用汉字图形点阵液晶显示器RT12864M显示方案

RT12864M汉字图形点阵液晶显示模块,可显示汉字及图形。

供电电源为3.3V~+5V(内置升压电路,无需负压),能采用并行和串行两种通信方式。

并有光标显示、画面移位、自定义字符、睡眠模式等功能。

其与单片机的接口电路如图2-2所示

图2-212864与单片机的接口电路

综上所叙,LCD1602液晶的设计简单,且能满足设计要求,故我们选择LCD1602液晶作为显示部分。

2.3单片机电源部分的设计方案论证与选择

方案一用固定式三端稳压器7805

三端稳压集成电路7805只有三条引脚输出,分别是输入端、接地端和输出端。

它的样子象是普通的三极管。

用7805组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。

常见78系列的输入输出压差为7V,所以正常范围内12V是7805的输入电压上限。

当电压再高时,虽然也可以继续稳压,但输出电流能力将受到很大影响。

因此这里使用9V电池作为电源。

如图2-3,7805系列稳压器输出固定的正电压5V,输入端接电容C1可以进一步滤除纹波,输出端接电容C2能改变负载的瞬态影响,使电路稳定工作C1、C2最好采用漏电流小的钽电容。

如果采用电解电容,电容要比图中数值增加10倍。

图2-3固定式三端稳压器

方案二用7805加一些外围器件

虽然7805三端集成稳压管内部有过流、过热和安全区的保护电路,但其输出仍有可能发生过压的危险。

因此本电路加了过压保护电路,电路如图2-4所示,该电路由稳压管VD3、电阻R3和晶闸管VS组成。

图2-4可扩流过压保护5V稳压电源

综上所述,方案一电路简单,而且已符合本次设计的要求,第二种方案所用元件较多,性价比不高,所以选择方案一。

2.4键盘设计方案论证与选择

方案一通过PS2协义,用键盘同单片机相接,从而实现单片机与键盘通信

现在PC机广泛采用的PS/2接口为miniDIN6引脚的连接器。

其引脚图为1—数据线(DATA);2—未用;3—电源地(GND);4—电源(+5V);5—时钟(CLK);6—未用。

其电路如图2-5所示

图2-5键盘与单片机接口图

由1-7图可知,使用键盘硬件结构比较简单,但键盘的体积太大。

方案二独立键盘

独立键盘为一端接地,另一端接I/O口,并且要接上拉电阻。

这种键盘的硬件都很容易实现,但每一个按键就要用一个I/O口,非常的浪费单片机的I/O口资源。

方案三自制编码键盘

如图2-6是15个按键的编码键盘所示,这种键盘有编程简单,占用资源少,但其硬件比较复杂,要用很多的二极管,不是很理想。

图2-6自制15个按键的编码键盘电路图

方案四4*5矩阵式键盘

其矩阵式键盘电路图如图2-7所示

图2-74*5矩阵式键盘电路图

综上所述,矩阵式键盘的硬件简单,使用的I/O口也不多,而且这种键盘的编程方法已很成熟。

所以本次键盘部分采用这种矩阵式键盘。

2.5单片机复位电路的设计方案论证与选择

复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。

除了进入系统的正常初始化之外,当由于程序运行出错或操作错误是系统处于死锁状态时,为摆脱困境,也需要按复位键以重新启动。

RST引脚是单片机复位信号的输入端,复位信号是高电平有效,其有效时间应持续24个振荡周期(即2个机器周期)以上,若使用频率为11.0592MHz的晶振,则复位信号持续时间应超过4

s才能完成复位操作。

方案一自动上电复位电路

通过外部复位电路的RC电路充放电来实现的。

方案二手动按键复位电路

按键电平复位是通过使复位端经电阻与VCC电源接通而实现的。

为了保证复位信号

持续时间超过4

s,从而实现复位功能,故选择电容为10

F,R2的电阻为10k。

其复位电路如下图2-8

图2-8复位电路

综上所述,自动复位需去电再通电才能复位,而手动复位电路可以随时复位,尤其是程序跑飞时,只需按下键就可以复位。

因此选择手动按键复位电路作为单片机复位电路。

2.6系统组成

经过方案最终论证与比较,最终确定的系统组成框图如图2-9所示。

其中单片机作为主控设备对采集输入信号后并进行处理,最后通过输出设备输出给使用者。

该系统的结构框图如图2-9所示

图2-9

第三章重要器件的知识介绍

3.1单片机的知识介绍

ATMEL公司生产的AT89S52型单片机是方便程序下载程序且好用,而且能够满足本设计的要求。

3.1.1单片机功能特性

(1)与MCS-51单片机产品兼容

(2)8K字节在系统可编程Flash存储器

(3)1000次擦写周期

(4)全静态操作:

0Hz~33MHz

(5)三级加密程序存储器

(6)32个可编程I/O口线

(7)三个16位定时器/计数器八个中断源

(8)全双工UART串行通道

(9)低功耗空闲和掉电模式

(10)掉电后中断可唤醒

(11)看门狗定时器

(12)双数据指针

3.1.2单片机各引脚功能说明

AT89S52的功能引脚如图3-1所示

图3-1AT89S52的引脚图

VCC:

供电电压。

GND:

接地。

RST:

复位输入。

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

XTAL1:

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

XTAL2:

来自反向振荡器的输出。

P0口:

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

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

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

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,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口也可作为AT89S52的一些特殊功能口,如表3-1所示

表3-1AT89S52的一些特殊功能口

管脚

备选功能

P3.0RXD

(串行输入口)

P3.1TXD

(串行输出口)

P3.2/INT0

(外部中断0)

P3.3/INT1

(外部中断1)

P3.4T0

(记时器0外部输入)

P3.5T1

(记时器1外部输入)

P3.6/WR

(外部数据存储器写选通)

P3.7/RD

(外部数据存储器读选通)

ALE/PROG:

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

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

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

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

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

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

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

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

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

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

在由外部程序存储器取指期间,每个机器周期两次

有效。

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

/VPP:

保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,

将内部锁定为RESET;当

端保持高电平时,此间内部程序存储器。

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

3.1.3单片机时钟电路

时钟电路产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路在唯一的时钟信号控制下严格地按时序进行工作。

在MCS-51芯片内部有一个高增益反相放大器,其输入端为芯片引脚X1,输出端为引脚X2,在芯片的外部跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。

此时钟电路采用11.0592MHz的石英晶体,时钟电路如下图3-2

图3-2时钟电路

3.1.4LED提示电路

这个LED提示电路是用一个LED接单片机的一个引脚,在其引脚发出一个高电平导通。

有三个功能:

系统初始化时会闪烁、归零时会闪烁、shift功能键会闪烁。

与单片机连接的电路原理图如图3-3所示

图3-3LED提示电路

 

3.21602液晶显示资料

控制器内部带有80*8位(80字节)的RAM缓冲区,对应关系如图3-4所示

图3-4RAM地址映射图

设置数据指针如表3-2

表3-2数据指针

显示开/关及光标设置如表3-3

表3-3显示及光标设置

指令码

功能

0

0

1

1

1

0

0

0

设置16*2显示,5*7点阵,8为数据接口

0

0

0

0

1

D

C

B

D=1开显示;C=1显示光标;B=1光标闪烁

D=0关显示;C=0不显示光标;B=0不光标闪烁

0

0

0

0

0

1

N

S

N=1当读或写一个字符后地址指针加一,切光标加一

N=0当读或写一个字符后地址指针减一,切光标减一

S=1当读或写一个字符整屏显示左移(N=1)或右移(N=0)

S=0当写一个字符,整屏不移动

其它设置如表3-4

表3-4其它设置

指令码

功能

01H

数据指针清零所有显示清零

02H

数据指针清零

10H

光标左移数据指针加1

14H

光标右移数据指针减1

18H

屏幕左

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1